CISC 1600/1610: Computer Science I
Class times: |
Lecture | Tuesday and Friday, 11:30am – 1:00pm, John Mulcahy Hall (JMH) 342 |
| Lab |
Wednesday, 11:30 – 1:00pm, John Mulcahy Hall (JMH) 330 |
Instructor: Prof. Daniel D. Leeds (my homepage)
Office: JMH 328A
E-mail:
Office hours: Tuesday 1-2pm, Friday 10:30-11:30pm, and by appointment
Full syllabus is available here.
Course announcements and assignments will be posted over the
course of the semester.
Course text: "Problem Solving with C++" — Ninth Edition, W. Savitch
Sections below:
- Announcements
- Slides
- Resources
- Assignments
- Practice
- Answers
Announcements:
December 10, 9:05pm: I (Prof Leeds) will be offline on Friday Dec 11 after 4pm, and won't be back online until after 6pm on Saturday; please be aware I won't see any last-minute questions on the final project after 4pm.
For the final exam, the written part will be worth 75% and the lab will be worth 25% --- that means the written part is worth 19.5% of your final grade and the lab will be worth 6.5%.
November 12, 11:00pm: Class Friday November 13 will meet in the le
December 9, 9:00pm: We will not have office hours this Friday, but we will have office hours tomorrow (Thursday) 1-3pm. Also, please remember to fill out the online course evaluation if you have not done so already.
Quiz 5 is at the start of class, Tuesday December 8.
November 24, 1:20pm: Class Tuesday December 1 will be in JMH 330 lab.
The final exam will be on December 15 and December 16 at 1:30pm.
November 12, 11:00pm: Class Friday November 13 will meet in the lecture hall, JMH 342.
Quiz 4 will be Tuesday, November 24.
November 1, 9:20pm: Class Tuesday November 3 will begin in the JMH 330 lab.
Slides:
Lecture 1, Introduction and programming basics. | Chapters 1, 2 |
Lecture 2, Writing and compiling programs with Linux | |
Lecture 3, Testing and debugging | |
Lecture 4, Flow of control. | Chapters 2, 3 |
Lecture 5, Flow of control: Loops. | Chapters 2, 3 |
Lecture 6, Modularity and functions. | Chapter 4, Example functions |
Lecture 7, Functions: void, recursion, scope, call-by-reference. | Chapter 4, 5 |
Lecture 8, Functions: Overloading, specifications. | Chapter 4, 5 |
Lecture 9, Arrays. | Chapter 7 |
Lecture 10, Classes. | Chapter 10 |
Resources:
Computing guides
Linux Commands - important Linux commands for working on storm
vi Commands - important commands for the vi text editor; you are welcome to use emacs instead of vi
A Guide to Putty - Information for Windows users on accessing storm
Course guides
Grading for Labs - guide to how labs 1–8 will be graded
Advice for programming - useful as you write programs in class and for assignments
Example code
Hello World C++ code - simplified from lecture 1
Input/output
Name and age input/output - From class September 15
Fahrenheit to Celsius conversion - From class September 18
Triple and third of the input - From class September 18
Conditionals
Compute if you are proper driving age - From class September 30
Switches
Weather per season - From class Oct 6
Weather per month - From class Oct 6
Loops
Dividing into 100 - From class Oct 9
Running sum - From class Oct 9
Functions
Box volume - From class Oct 27
Power function 1 - From class Oct 30
Power function 2 - From class Oct 30
Using math operations - From class Oct 30
Random numbers between 1 and 4 - Adapted from class Nov 3
Functions - call by reference, overloading
Defining and using flipAndMult - From class Nov 10
Input and Output functions - From class Nov 11
Two area functions - From class Nov 11
Arrays
Reverse letters - From class Nov 17
Reverse letters, no repeat - From class Nov 17
Array search - From class Nov 18
Function to Get list - From class Nov 18
Classes/Objects
Dog class - For class Dec 1. Copy this code into your own C++ file to work with.
Dog class expanded - Result of expanding the dog class code today.
Assignments:
Lab 0 - due Wednesday, September 16. I recommend you do it by Friday, September 11.
Lab 1 - due Friday, September 25, 6pm.
Lab 2 - due Monday, October 12, 11:59pm.
Lab 3 - due Wednesday, October 28, 11:59pm.
Lab 4 - due Monday, November 9, 11:59pm.
Lab 5 - due Friday, November 20, 11:59pm.
Lab 6 - due Wednesday, December 2, 11:59pm.
Final Project - due Friday, December 11, 11:59pm.
Practice:
Practice conditional programming
problems and my answers. Review this on Wednesday September 23
as we will not have class!
- timeGreeting.cpp
- zeroDivide.cpp
- buyApples.cpp
Practize Quiz 1 questions and answers
Below are midterm practice questions!
Questions are randomly color-coded. I recommend trying to answer one
set of colored questions first (for example, orange questions), review
the answers to those questions, and then move on to another set of
colored questions (for example, green).
- If needed, an ASCII table will be included for reference on the exam.
- Midterm practice questions
- Midterm practice answers orange
- Midterm practice answers blue -- blue answers on third page have been updated, two answers have been corrected
- Midterm practice answers green
- Additional midterm practice questions!
- Additional midterm practice answers orange
- Additional midterm practice answers blue
- Additional midterm practice answers green
- Lab midterm practice question
- My answer to the lab practice
Further comments: The written section will be 60 minutes long, closed book, and contain questions similar to the practice questions above (and the quiz questions). The lab section will be 70 minutes long and will allow you to use the course website, course textbook, any pre-printed/pre-written course notes -- but will not allow use of Google, e-mail, etc.
The exam will cover material from Lectures 1-5, up to and
including while and do-while loops. For loops will not be covered on
this exam (though you can use them if you want in the lab section).
Final practice!
Below are final practice questions!
- Final practice questions
- Final practice answers orange
- Final practice answers blue
- Final practice answers green
- NOTE that the class textbook has self-tests throughout. There
are answers to each self-test at the back of the respective
chapters. These are good written-exam practice as well!
Quiz/test answers:
Quiz 1 answers
Grade breakdown:
- 34.5 - 38: A range (12 students)
- 30 - 34.5: B range (9 students)
- 26 - 30: C range (5 students)
- 22 - 26: D range
Quiz 2 answers
Grade breakdown:
- 23 - 25.5: A range (8 students)
- 19 - 23: B range (11 students)
- 15 - 19: C range (6 students)
- 11 - 15: D range
Midterm written answers
Grade breakdown:
- 44 - 41: A range (13 students)
- 37 - 41: B range (9 students)
- 32 - 37: C range (3 students)
- 26 - 32: D range
Grade breakdown on lab/online portion:
- 22.5 - 25: A range
- 18.5 - 22.5: B range
- 14 - 18.5: C range
- 9.5 - 14: D range
Quiz 3 answers
Grade breakdown:
- 23 - 27: A range
- 19 - 23: B range
- 15 - 19: C range
Quiz 4 answers
Grade breakdown:
- 14 - 16: A range
- 11 - 14: B range
- 8 - 11: C range
Quiz 5 answers
Grade breakdown:
- 16.5 - 20: A range
- 12.5 - 16.5: B range
- 8 - 12.5: C range
- 4 - 8: D range