Cosc 160 - Scientific Programming: C++
Spring 2010
Dr. Donald Simon
Office / Phone: 416 College Hall / 396-6472
Office Hours: MF 10:00 am - 12:00 noon, W 11:00 am -
12:00 noon
E-mail address: simon@mathcs.duq.edu
Class Web page: http://www.mathcs.duq.edu/simon/Spring10/cs160.html
Text: Absolute C++, 4th edition, by Walter Savitch
Course Objectives: Computer programming is both an art and a science. There is a design process that precedes any coding step, when one analyzes a given problem, searches for reasonable solutions, and only then implements a solution as a computer program in a high-level programming language. There is room for creativity, but unlike other fields, the creation must be executable - able to be run on real-life machines. In this first programming course, students will learn how to craft programs, starting from the given problem, and ending with a workable solution, that is work through the steps of design, implementation, execution, testing, debugging, and modification of the original. Students will come away with an understanding of the basics elements of design such as functional breakdown, data abstraction, and an introduction to object-oriented design; the common features of programming languages such as input and output, iteration, file processing, searching and sorting, and primitive data structures, and classes; and also the syntax of the C++ programming language. After completing this course, students will be able to design, write and execute complete C++ programs, including appropriate documentation, and gain an appreciate of program design and object-oriented programming.
| Grading: | 6 Programs | 35% |
| 3 Quizzes | 15% |
|
| 2 Exams | 30% | |
| Final | 20% |
Grading Scale: 90-100 = A; 80-89 = B; 70-79 = C; 60-69 = D; less than 60 = F.
Office Hours: Please feel free to make an appointment for other times if my office hours are not convenient to you.
Honor Policy: Students in this class fall under the mandate of the College of Liberal Arts plagiarism policy. Any student guilty of plagiarism will receive a grade of ``F'' for the course and will be reported to the Student Committee. Work done in this course is to be by the individual, not a group. You may not share (copy, give, show) your homework with other students in the course. Any code not your own that is included in your programs must be properly cited. This includes code from the book and that given by the professor. Submitted work must be your own work, although you may include code from the book (or book's web site) and that given out by the instruction. If the code is not your own, it must be properly attributed.
Programs: Programs are due at the beginning of class and should be e-mailed to the instructor. Late assignments will lose two points per day that they are late and will not be accepted a week after the due date. Programs will be graded according to the following scale:
| Design | 5 points |
| Execution | 6 points |
| Documentation | 2 points |
| Correctness | 7 points |
Attendance: Class attendance is not mandatory but is highly recommended. Students are responsible for all information covered during class time, including assignments and hand-outs.
Exams and Quizzes: There will be two exams plus a final and three quizzes. Make-ups for tests will not be given except in cases of emergency. The lowest quiz score will be dropped.
Students with Disabilities: Students with documented disabilities are entitled to reasonable accommodations if needed. If you need accommodations, please contact the Office of Freshman Development and Special Student Services in 309 Duquesne Union (412-396-6657) as soon as possible. Accommodations will not be granted retrospectively.
Tentative Schedule:
Date | Topic(s) |
Readings | Slides | Programs | Assignments |
|
| 1. | 1/8 (1) | Introduction | Chap 1.1, 1.2 | hello.cpp | Lab Instructions | |
| 2. | 1/11 (3) | Program Structure, I/O | Chap 1.3-1.5 | 1 2 3 | outline.cpp | |
| 1/18 | MLK Day - no class | |||||
| 3. | 1/20 (2) | If, Switch, Quiz 1 (1/22) | Chap 2.1, 2.2 | 4 5 | shape.cpp shape2.cpp loop.cpp | Program #1 Study Guide |
| 4. | 1/25 (3) | Loops | Chap 2.3 | 6 7 8 | grades.cpp cal.cpp loan.cpp | Study Guide |
| 5. | 2/1 (3) | Exam 1 (2/1), Functions | Chap 3 | 9 | primes.cpp random.cpp | Program #2 |
| 6. | 2/8 (3) | More Functions | Chap 4 | 10 | getMin.cpp | |
| 7. | 2/15 (3) | Arrays | Chap 5.1, 5.2 | 11 12 13 | fn2.cpp quad.cpp palin.cpp | |
| 8. | 2/22 (3) | Sorting, Searching | Chap 5.3 | 14 15 16 | search.cpp bubble.cpp | Program #3 |
| 3/1-3/6 | Spring Break | |||||
| 9. | 3/8 (3) | More Arrays | Chap 5.4 | 17 18 19 | pi.cpp magic.cpp birthday.cpp student.cpp | Program #4 |
| 10. | 3/15 (3) | Structures, Quiz 2 (3/19) | Chap 6.1 | 20 21 | sortstudent.cpp | Study Guide |
| 11. | 3/22 (3) | Classes | Chap 6.2 | |||
| 12. | 3/29 (2) | Exam 2 (3/29), More Classes | Chap 7.1, 7.2 | |||
| 4/2-4/5 | Easter Break | |||||
| 13. | 4/6* (3) | *Tuesday, Strings | Chap 9 | |||
| 14. | 4/12 (3) | Recursion | Chap 13.1 | |||
| 15. | 4/19 (3) | More Recursion, Quiz 3 (4/23) | Chap 13.2 | |||
| 16. | 4/26 (1) | Separate Compilation | Chap 11 | |||
| 5/3 | Final, 8:30 am - 10:30 am | |||||