![]() |
Introduction to Computer Science I Autumn 2002 Course Information and Syllabus |
InstructorFaan Tone Liu (emailftl@cs.du.edu )Office: JGH 319, (303) 871-2803 Office Hours: MF 10:00-11:00, W 2-3:30 or gladly by appointment |
Teaching Assistants
Sections 1 and 3: |
This is the first course in the computer science major/minor. We'll begin to learn how to program computers using the C++ programming language. During this process, you will become introduced to some of the fundamental ideas of computing, and become exposed to some of the modes of thought in computer science. The programming topics will include an overview of computers and programming languages, variables and data types, arithmetic operators, input/output, comments, control structures, user-defined functions, scope, storage class, constants, file i/o, and pointers.
The lecture is held in JGH 219 at 11:00 (Sections 1 and 2) or JGH 316 at 1:00 (Sections 3 and 4) on Mondays, Wednesdays and Fridays. The lab meets in JGH 318 on Tuesdays at 11:00 (Section 1) or Thursdays at 11:00 (Section 2) or Tuesdays at 1:00 (Section 3) or Thursdays at 1:00 (section 4).
You will be evaluated based on your homework, quizzes, midterm and final exams, programming projects, and on your performance in the lab, weighted approximately as follows:
When you turn in work in this course, you are implicitly agreeing that you have followed the rules for collaboration set forth for that assignment. Copying another person's work on programming assignments, written homework assignments, lab activities, exams, quizzes, etc. constitutes plagiarism, a violation of the University of Denver Honor Code. This code forbids plagiarism, cheating, fabrication, and aid of academic dishonesty. Please note that "aid of academic dishonesty" includes allowing another person to copy your work. This and all other violations of the University's academic standards in this class will be treated with the utmost of severity, the minimum penalty being a grade of F and a letter describing the incident sent to the dean. For more egregious offenses, the case will be referred to the Academic Conduct Review Board.
In this course, you may collaborate with others in the class on homework (and in fact are encouraged to collaborate) except where explicitly noted otherwise. This includes, for example, discussion of overall strategies or resolution of details. It's good practice to acknowledge your co-worker's contributions (both general and specific) to your final product. When you write up the solutions to the assignments, however, your work must be completely your own. You may not write up homework assignments together, copy other's written work or share your own written work. Homework assignments are due at the beginning of the class period on the due date. Your papers should be organized and neatly written, and should be typed if your handwriting is difficult to read. When you turn in a homework assignment, you are implicitly ackowledging it as your work (see Collaboration and Academic Honesty).
Programming assignments are due at the beginning of the class period on the due date. All programs are to be done individually and independently. Always turn in a complete hard copy of your program. Your name, the date, and the assignment number should be in a comment at the beginning of each file. In addition, you will turn in an electronic copy of your work. Instructions on how to submit the assignments will be announced in class. No lines of code in your programming assignment should be copied from another student (see Collaboration and Academic Honesty).
Your program must work correctly to receive credit. A program which does not compile will receive little credit. A program which works partially will receive partial credit. Your score improves if you attach notes documenting the incompleteness or bugs (include details of the circumstances under which they occur), since this shows the degree to which you tested your code.
Your programs should be formatted logically, and should be easy to read.Comment your code well - write comments that would be useful to someone who would have to maintain or enhance your code. The quality of your comments is included in your grade.
The calendar below contains links to homework assignments, links to programming assignments, as well as important dates for you to keep in mind. Entries in the calendar dated after today's date are subject to change.
Mon | Tues | Wed | Thur | Fri |
---|---|---|---|---|
Sept 9 First day of classes Read Chap. 1 by Wed Sept. 11 Learn binary counting: "Penguin counting" by Graham Knott |
Sept 10 First lab for Secs. 1, 3 Lab 1 .bash_profile |
Sept 11 HW 1 assigned Converting between decimal and binary: Eddie's Basic Guide... |
Sept 12 First lab for Secs. 2, 4 Lab 1 .bash_profile |
Sept 13 Read pp. 21-38 for Monday Hello world program (hello.cpp) Project 1 assigned |
Sept 16 Homework 1 due Review outline of week 1 Second hello program (hello2.cpp) |
Sept 17 Lab 2 |
Sept 18 M&M program (mms.cpp) Read Chapter 2 for Friday Homework 2 assigned |
Sept 19 Lab 2 |
Sept 20 Height conversion program (height.cpp) Project 1 due |
Sept 23 Homework 2 due Review of week 2 Height conversion program (height.cpp) |
Sept 24 Lab 3 |
Sept 25 Program from class (tall_enough.cpp) Homework 3 assigned Project 2 assigned Read pp. 144-166 for Friday |
Sept 26 Lab 3 |
Sept 27 Finish reading Ch. 4 by Mon. |
Sept 30 Homework 3 due Review of week 3 |
Oct 1 Lab 4 |
Oct 2 Start reading Chapter 5 Homework 4 assigned Programs from class: switch_example.cpp square_rooter.cpp |
Oct 3 Lab 4 |
Oct 4 Finish reading Chapter 5. Programs from class: square_rooter2.cpp square_rooter3.cpp haha.cpp Project 3 assigned Project 2 due |
Oct 7 Programs with "for" loops: count.cpp count_backwards.cpp Review of week 4 Homework 4 due |
Oct 8 Lab 5 |
Oct 9 Start reading Chapter 6 Homework 5 assigned Program from class: kyoober.cpp |
Oct 10 Lab 5 |
Oct 11 |
Oct 14 Midterm Exam |
Oct 15 Lab 6 |
Oct 16 Finish reading Chapter 6 Start reading Chapter 7 Program from class: triangle.cpp Homework 6 assigned |
Oct 17 Lab 6 |
Oct 18 Program from class (example of function): triangle2.cpp Project 4 assigned Addendum to Project 4 Project 3 due |
Oct 21 Example from class: min.cpp |
Oct 22 Lab 7 Homework 6 due |
Oct 23 Examples from class (Pass by value vs. pass by reference): Cube program BMI program from lab BMI revised (uses pass by reference) Homework 7 assigned |
Oct 24 Lab 7 |
Oct 25 Finish reding Chapter 7 (skip function overloading, skip default parameters) |
Oct 28 | Oct 29 Homework 7 due lab 8 |
Oct 30 array_example.cpp |
Oct 31 lab 8 |
Nov 1 Read Chapter 9 up to page 422 Program example from class: min_array.cpp Project 5 assigned Homework 8 assigned Project 4 due |
Nov 4 Example from class: file_example.cpp |
Nov 5 Homework 8 due lab 9 |
Nov 6 Example programs from class. (How to handle errors in input) inputa.cpp inputb.cpp input_improved.cpp input_evenbetter.cpp |
Nov 7 lab 9 |
Nov 8 Homework 9 Examples from class: file_input.cpp filename.cpp |
Nov 11 | Nov 12 Homework 9 due |
Nov 13 | Nov 14 | Nov 15 Project 5 due |
Nov 18 | Nov 19 | Nov 20 Section 1 and 2 Final Exam 10:30 a.m. - 12:15 p.m. Section 3 and 4 Final Exam 1:00 - 2:45 p.m. |
Nov 21 | Nov 22 |
DU Home Page | DU Department of Computer Science Home Page | Home Page for Faan Tone Liu |