CPSC 110: Introduction to Computer Science
| Meeting Times: | Monday, Wednesday, and Friday, 1:00 – 1:50, Farmer 025 |
| Instructor: | Ian Finlayson |
| Email: | ifinlay@umw.edu |
| Office: | Farmer 043 |
| Office Hours: | Monday and Wednesday 9:00–12:00 or by appointment |
| Required Textbook | Exploring Computer Science |
Course Description
This course provides a foundation in computer science for a student who does not have prior programming experience. It provides sufficient support to permit a student to continue in the major program. Topics include an introduction to the algorithm and program development process using a high-level structured programming language and the department’s computing facilities. Supervised hands-on experience provided. May not be taken for graded credit after passing any Computer Science course numbered 220 or higher.
Course Goals & Objectives
The goals of this course are:
- To introduce problem solving methods and algorithm development as appropriate to computer programming.
- Gain a conceptual understanding of computers, computing, and issues with technology through breadth-first topics.
- Develop skills in algorithmic problem-solving, expressed in the Python programming language.
- Represent and manipulate information in a program that executes on a computer.
Student Learning Outcomes
After completing this course, students will be able to:
- Recognize elementary problems and various ways to specify problems for potential solutions.
- Given an elementary problem (a) identify the problem’s inputs and outputs and (b) design algorithms and data structures that transform the inputs to outputs.
- Apply the fundamental elements of algorithms (sequential, conditional, loops, and functions) and data structures (int, float, string, Boolean) to transform the solutions design into a programming language such as Python.
- Demonstrate understanding of software documentation by selecting appropriate library functions and calling them appropriately.
- Execute a programming solution on a computer.
- Construct a collection of test cases to verify that programming solutions solve the problems.
- Use interactive I/O in programming solutions.
- Apply accumulator patterns to discover such things as the largest, smallest, and average of a list.
- Recall various phases of software development as applied to a programming problem - specification, design of a solution, implementation of the design in a programming language, executing the program, testing a program, and maintaining a program.
- Identify fundamental components of a computer - CPU, memory, disk, input, output.
- Demonstrate awareness of legal, social, and/or cultural issues surrounding the use of digital information.
General Education Objectives - This course counts as one course toward the Digital Intensive requirement of the General Education curriculum at UMW. All courses in this category carry the following course goals. Students will be able to:
- Successfully locate and critically evaluate information using the Internet, library databases, and other digital tools.
- Use digital tools to safely, ethically, and effectively produce and exchange information and ideas.
- Creatively adapt to emerging and evolving technology.
Class Participation
- You are expected to attend each class meeting. If you miss a class, you are responsible for the material covered.
- This class will be interactive. Expect to answer questions in class and always feel free to ask any questions yourself.
- Laptops should be used for note-taking or other course activities only.
- If you need to miss an exam, you must let me know a week in advance to schedule an alternative time to take it, or provide legitimate documentation of an emergency for your absence.
Grading Policy
Your grade will be determined as follows:- Programming Projects, 40%
- Labs and activities, 20%
- Final Exam, 20%
- Midterm Exam, 20%
- [94, ∞): A
- [90, 94): A-
- [87, 90): B+
- [84, 87): B
- [80, 84): B-
- [77, 80): C+
- [72, 77): C
- [70, 72): C-
- [66, 70): D+
- [60, 66): D
- [0, 60): F
Late assignments will have a 10% reduction in grade for each day late. Lab assignments will be due by the start of the next class period after they are assigned. So if lab is held on Friday, the lab assignment is due Monday. The intention of lab assignments is that you normally be able to finish them in class, but this gives some flexibility when needed.
There will be no make up for missed exams. If you cannot attend an exam period, please contact me at least a week ahead of time to arrange another time to take it. 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 assignments 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 UMW Honor Constitution, as well as the CPSC department honor policy. For this class in particular:
For labs and activities, collaboration is OK. The goal of the labs is to ensure you understand the concepts we are going over.
For programming projects, you may discuss the project with other students, but the code in your project must be written by you. It is an honor code violation to copy directly from someone, either by copy and paste or by transcription, or to copy from the web.
For exams, you must not copy off of another student, or use any kind of unauthorized notes.
If you have any questions or need clarification, please don't hesitate to contact me!
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
Classroom activities in this course may be recorded by student's enrolled in the course for the personal, educational use of that student or for all students presently enrolled in the class only, and may not be further copied, distributed, published or otherwise used for any other purpose without the express written consent of the course instructor. All students are advised that classroom activities may be taped by students for this purpose. Distribution or sale of class recordings is prohibited without the written permission of the instructor and other students who are recorded. 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.
Tentative Schedule
| Date | Topic / Lab | Reading | Assignment Due |
|---|---|---|---|
| August 28 | Course Introduction | Take Survey on Canvas | |
| August 30 | Course Introduction Continued | 1.1 – 1.4 | |
| September 1 | Lab 1: Hello World | Chapter 2 | |
| September 4 | No class: Labor Day | ||
| September 6 | Input and Output | Chapter 3 | |
| September 8 | Lab 2: Interactive Greeter | ||
| September 11 | Text and Strings | 4.1 – 4.5 | |
| September 13 | Working with Numbers | 4.6 – 4.10 | |
| September 15 | Lab 3: Snack Bar | ||
| September 18 | Making Decisions | 5.1 – 5.5 | |
| September 20 | Making Decisions Continued | 5.6 – 5.9 | |
| September 22 | Lab 4: Grade Calculator | ||
| September 25 | While Loops | 6.1 – 6.5 | Trip Estimator |
| September 27 | While Loops Continued | ||
| September 29 | Lab 5: While Loops | ||
| October 2 | For Loops | 6.6 – 6.8 | |
| October 4 | For Loops Continued | ||
| October 6 | Lab 6: Sum Calculator | ||
| October 9 | No Class | ||
| October 11 | Review & Catchup | Word Analysis | |
| October 13 | Midterm Exam | ||
| October 16 | |||
| October 18 | Looping Continued | ||
| October 20 | No Class | ||
| October 23 | Algorithms | 7.1 – 7.4 | |
| October 25 | Algorithms Continued | 7.5 – 7.8 | |
| October 27 | Lab 7: Collatz Conjecture | ||
| October 30 | Using Libraries | Chapter 8 | |
| November 1 | Libraries Continued | Chapter 8 | |
| November 3 | Lab 8: Days of Week Calculator | ||
| November 6 | Lists | 9.1 – 9.5 | |
| November 8 | Lists Continued | 9.6 – 9.9 | |
| November 10 | Lab 9: List Reversal | ||
| November 13 | Functions | 10.1 – 10.5 | Multiplication Quiz |
| November 15 | Class cancelled | ||
| November 17 | Class cancelled | ||
| November 20 | Functions Continued | 10.6 – 10.8 | |
| November 22 | |||
| November 24 | |||
| November 27 | Putting things together | ||
| November 29 | Graphics | 11.1 – 11.5 | |
| December 1 | Graphics Continued | 10.6 – 10.9 | |
| December 4 | Lab 10: Using Functions | ||
| December 6 | Graphics Continued | 10.6 – 10.9 | |
| December 8 | Final Exam Review | Wordle | |
| December 13 | Final Exam, 12:00 – 2:30 | ||