Home CPSC 225

CPSC 225: Software Development Tools

Instructor:Ian Finlayson
Email: ifinlay@umw.edu
Office:Trinkle B18
Office Phone:540-654-1714
Office Hours:MW 11:00 - 12:00, TR 9:00 - 11:00, 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 and detailed material 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 video. 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.

For the most part, you can go at your own pace with this course. The only deadline is that all work must be completed by the end of the semester. There is no reason that you can't get ahead and complete the course early, but I would recommend not putting the course work off too much during the semester. If I am flooded with questions at the end of the semester, I may not necessarily be able to help you.

This course has a discussion board hosted on Canvas. If you have questions about course material, you are strongly encouraged to post them on the discussion board. This way, all students in the course can benefit from both the question and the answer. You are also encouraged to contribute to discussions yourself. For this course there are usually many ways to solve each problem, so you may have a better answer to a question than I do. I will also post topics relevant to the course over the semester.

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


Course Expectations

There are fourteen weeks in the semester and fourteen sets of notes and quizzes. All materials and assignments are posted at the beginning of the semester, so you will be able to get ahead in the course if you wish. The final exam, and all other assignments are due at the end of the semester which is Friday, May 1, at 5:00 PM. The final exam will be posted well before the end of the semester.

This is an online course, so there is a lot of flexibility in terms of exactly when you learn the material and complete quizzes and assignments. However, you are expected to read over each set of notes and complete all quizzes and assignments by the end of the semester. If you have questions, you are expected to seek help.

This course is no different from any other at The University of Mary Washington in that you are expected to communicate with your instructor and fellow students, attend each class and to complete work in a timely manner. To have success in an online course you also need to be motivated and have good time management skills.


Getting Help

You will 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:


Course Goals & Objectives


Grading Policy

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

No late work will be accepted for this course. 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.


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 Lee Hall, Room 401.

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.


Suggested Schedule

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

Copyright © 2019 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.