Home CPSC 225

CPSC 225: Software Development Tools

Instructor:Ian Finlayson
Email: ifinlay@umw.edu
Office:Farmer 219
Office Hours:Mondays and Wednesdays 10:00 – 12:30, or by appointment.

Course Introduction

The Unix operating system is prevalent in the world today. It provides the basis for the operating systems used in most web servers, super-computers, cell phones and tablets. In advanced computer science courses, or in the work place, you will not necessarily be writing and running programs on your own personal computers. You may be interacting with programs running on a remote web server, on a super-computer on the other side of the world, or on an embedded system which does not even have a display. This course will give you the skills needed to work with remote systems, and increase your efficacy in using any computer system.

This is an online course which is broken into 14 weeks. Each week has a notes page which includes a short video introduction along with detailed notes for the week. Each week also includes an online quiz which you are to complete. The goal of the quizzes is for you to check that you understand the important points of each week. They will be graded, but are open-notes and you can repeat them as many times as you like.

The quizzes for this course are hosted on Canvas. You should see CPSC 225 listed under your courses. If you do not, please contact me as soon as possible. This course will also require you to complete several homework assignments where you will work independently applying the skills you have learned to complete some task. Information on each assignment is available on on the course web page. Lastly, there is a final exam that you will complete at the end of the course. The exam will be open-note, and not timed, but you will only have one attempt at it.

The quizzes on each week’s material are due at 5:00 PM on Friday, at the end of that week. The due dates for assignments are spread out throughout the semester, but are always Fridays at 5:00 as well. The final exam for the class is due at the end of exam week. Late work will not be accepted for this course. However, all of the material for the course is posted at the start of the semester, so there is no reason that you can’t get ahead and complete the course early!

I hope you will enjoy this course and it empowers you to be comfortable and efficient in your dealings with computers. Good luck!


Course Goals & Objectives


Student Learning Outcomes

After completing this course, students will be able to:


Required Materials

There is no textbook required for this class. All course materials will be provided online.


Getting Help

You can access the quizzes by logging into https://canvas.umw.edu/ using your UMW account credentials. If you need technical assistance at any time during the course or to report a problem with Canvas you can:


Grading Policy

Your grade will be determined as follows: The grading scale used for this course is as follows:

Final grades will not be rounded up, and no extra credit opportunities will be given on an individual basis.

The University provides the opportunity to provide grading feedback midway through the semester. This will take into account your score on the mid-term exam and the programming projects submitted up to that point. Any student receiving less than a 65% on either of these will receive a "U" for their mid-semester grade. If this happens to you, please don't hesitate to talk with me about how we can improve your performance in this class.


Class Participation

There are no face-to-face meetings for this class. All materials and activities are provided online through the course website.


Honor Policy

Students are expected to conduct themselves in a manner consistent with the letter and spirit of the Honor Constitution. For this course, you may discuss the assignments with other students, but all of your work must be your own. You may not copy assignments from other students or turn in work that is not your own. The final exam must also be completed on your own. For more information, please refer to the computer science department policy or contact the professor.

Disability Statement

The Office of Disability Services has been designated by the University as the primary office to guide, counsel, and assist students with disabilities. If you already receive services through the Office of Disability Services and require accommodations for this class, make an appointment with me as soon as possible to discuss your approved accommodations needs. Please bring your accommodation letter with you to the appointment. I will hold any information you share with me in the strictest confidence unless you give me permission to do otherwise. If you have not contacted the Office of Disability Services and need accommodations, I will be happy to refer you. The office will require appropriate documentation of disability. Their phone number is 540-654-1266. The office is located in Seacobeck Hall.

Title IX Statement

The University of Mary Washington faculty are committed to supporting students and upholding the University's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence. Under Title IX and this Policy, discrimination based upon sex or gender is prohibited. If you experience an incident of sex or gender based discrimination, we encourage you to report it. While you may talk to me, understand that as a "Responsible Employee" of the University, I must report to UMW's Title IX Coordinator what you share. If you wish to speak to someone confidentially, please contact the below confidential resources. They can connect you with support services and help you explore your options. You may also seek assistance from UMW's Title IX Coordinator. Please visit http://diversity.umw.edu/title-ix/ to view UMW's Policy on Sexual and Gender Based Harassment and Other Forms of Interpersonal Violence and to find further information on support and resources.


Recording Statement

This is an online class, and we will not ever meet together as a class. As such, there are no class meetings to record. Should you wish to record office hours visits, or other interactions with the course instructor, you may so long as they are not further copied, distributed, published or otherwise used for any other purpose without the express written consent of the course instructor. Distribution without permission is a violation of copyright law. This policy is consistent with UMW's Policy on Recording Class and Distribution of Course Materials.

Course Topic Schedule

Week 1Introduction to Unix
Week 2Working with files and directories
Week 3Files and directories continued
Week 4Text editing with Vim
Week 5Using Git to manage file history
Week 6Users, permissions and packages
Week 7Customizing the shell and Vim
Week 8Man pages and processes
Week 9Searching, replacing and comparing files
Week 10Input/Output redirection and pipes
Week 11Using Git to collaborate with others
Week 12Saving commands in shell scripts
Week 13More about Vim
Week 14More shell scripting
Exam Week 

Copyright © 2022 Ian Finlayson | Licensed under a Attribution-NonCommercial 4.0 International License.