CPSC 220: Computer Programming and Problem Solving
| Meeting Times: | Monday and Wednesday, 1:00 - 2:50 |
| Instructor: | Ian Finlayson |
| Email: | ifinlay@umw.edu |
| Office: | Farmer 043 |
| Office Hours: | Monday and Wednesday 10:00 - 12:00, Tuesday and Thursday 11:00 - 12:00. |
| Free Textbook: | Introduction to Programming Using Java, Seventh Edition |
Course Description
Continued coverage of disciplined problem-solving and algorithmic development including emphasis on procedural and data abstraction. Topics include elementary data structures such as arrays, files, and classes. The notions of data modeling and the linking of data type definitions with their associated operations is introduced. Study of program design, coding, debugging, testing, and documentation in a higher level language that supports the object-oriented paradigm. Intended for students who have had previous programming experience.Course Goals & Objectives
- Quantitative Reasoning Objectives:
- Students will demonstrate an ability to interpret quantitative/symbolic information.
- Students will have the ability to convert relevant information into various mathematical/analytical forms (e.g., equations, graphs, tables, words).
- Students will be able to apply analytical techniques to or rules to solve problems in a variety of contexts.
- Students will gain an appreciation for how analytical techniques or rules are used to address real-world problems across multiple disciplines.
- Course Objectives:
- To develop the algorithmic thinking skills required for structured problem solving.
- To gain proficiency in small scale computer programming, using a high-level language.
- To become familiar with how digital information is represented, stored, and manipulated.
Grading Policy
Your grade will be determined as follows:- 50% Programming Assignments
- 10% Lab Exercises
- 20% Midterm Exam
- 20% Final Exam
- [92, ∞): A
- [89, 92): A-
- [87, 89): B+
- [82, 87): B
- [79, 82): B-
- [77, 79): C+
- [72, 77): C
- [69, 72): C-
- [67, 69): D+
- [60, 67): D
- [0, 60): F
There is a 10% per day late penalty on assignments that are not turned in on time. 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.
Student Conduct
- You are expected to attend each class meeting, though attendance will not directly affect your grade. If you miss a class, you are responsible for the material covered.
- You are expected to arrive on time, turn off your cell phone, and not disrupt the class.
- This class will be interactive. Expect to answer questions in class and always feel free to ask any questions yourself.
- If you miss an exam, you are required to provide legitimate documentation of an emergency for your absence to have a makeup exam.
- If you can't make an exam for a non-emergency reason, you must schedule an alternate time to take it ahead of time.
Honor Policy
Students are expected to conduct themselves in a manner consistent with the letter and spirit of the Honor Constitution.
For assignments, you may discuss the task with other students, but all of your work must be your own. You must yourself type and understand every line of code in each assignment you submit. It is an honor code violation to copy code directly from another student either by copy and paste or by transcription, or to copy code from any online source. You must include the UMW honor pledge in the comments for each assignment you submit.
For lab exercises, you may collaborate more with those next to you. You still must type and submit your own work, but looking at each others programs and helping one another is OK. Lab exercises are to ensure that you understand the ideas in the lab. Cheating would only hurt yourself.
For exams, you can not talk to anyone during the exam, or use any kind of notes. You must include a signed UMW honor pledge at the top of your exams.
If you have any questions or need clarification, please don't hesitate to contact me!