CISC 1600/1610: Computer Science I



Class times: LectureMonday and Thursday, 4:00am – 5:15pm, John Mulcahy Hall (JMH) 342
Lab Monday, 5:30 – 6:30pm, John Mulcahy Hall (JMH) 331

Instructor: Prof. Daniel D. Leeds (my homepage)
Office: JMH 328A
E-mail:
Office hours: Tuesday 11am-12pm, Thursday 12:30-1: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:

  1. Announcements
  2. Slides
  3. Resources
  4. Assignments
  5. Practice
  6. Quiz/Exam Answers

Announcements:

May 2, 11:25pm: We will have regular office hours this and next Tuesday. We will not have Thursday office hours this and next week. Good luck for finals season!



April 27, 7:15pm: Quiz 5 is at the start of class tomorrow in JMH 342. The rest of class is optional -- lab time to work on the final project. Our final Monday class is a review session -- attendance Monday is very welcome but optional.



April 21, 6:00pm: The final exam will be May 12, 1:30-2:30 (written), 3:30-4:45 (lab). Quiz 5 will be April 28.



April 21, 2:15pm: We will meet in the JMH 331 lab today.



April 15, 5:15pm: Please be aware that I will be out of e-mail contact for most of the weekend before the exam. Currently, I expect to be out of e-mail contact between 6pm Friday April 22 and around 10 or 11pm Sunday April 24.

April 8, 12:30pm: Quiz 4 will be on Thursday, April 14.



April 6, 10:00pm: My office hour tomorrow (Thursday, April 7) will be 12-1pm.



April 6, 4:40pm: We will meet in the JMH 331 computer lab this Thursday, April 7.



April 4, 1:45pm: Lecture today will start in the JMH 331 computer lab.

March 11, 2:00am: I will be largely out of e-mail contact March 20-March 30. My office hours on Tuesday, March 29 are cancelled.

March 8, 5:45pm: Quiz 3 will be March 14, as announced in class.

February 19, 10:00am: Quiz 2 will be February 22, as announced in class.

February 8, 7:25pm: The midterm will be February 29.

February 5, 12:10am: Quiz 1
practice questions and answers are available through the links here!

February 2, 12:50am: Quiz 1 will be held in class on February 8. Thursday office hours February 4 will be 11:30-12:30.

January 29, 1:00am: Class Monday February 1 will meet in the JMH 331 computer lab, starting with "lecture" time at 4pm.

January 24, 11:00pm: Class Monday January 25 will meet in the JMH 331 computer lab, starting with "lecture" time at 4pm.


Slides:
Lecture 1, Introduction and programming basics Chapters 1
Lecture 2, Writing and compiling programs with Linux
Lecture 3, Testing and debugging
Lecture 4, Variables and arithmeticChapters 1, 2
Lecture 5, Flow of controlChapters 2, 3
Lecture 6, LoopsChapters 2, 3
Lecture 7, Functions, part 1Chapters 4
Lecture 8, Functions, part 2Chapters 4, 5
Lecture 9, Functions, part 3Chapters 4, 5
Lecture 10, ArraysChapter 7
Lecture 11, 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
Input/Output and Math
names.cpp - from class February 1
celsius.cpp - from class February 1
update.cpp - from class February 1
Conditionals
canDrive.cpp - from class February 8
canDrive2.cpp - from class February 8
rideFree.cpp - from class February 8
rideFree2.cpp - from class February 8
Switches
Weather per season - From class Feb 16
Weather per month - From class Feb 16
Weather and cold preferences - From class Feb 16
Loops
A for apple loop - From class Feb 18
A/P for apple/pear loop - From class Feb 18
Running sum from user input - From class Feb 22
Sum across interval - From class Feb 22
Functions
triple - From class Mar 7
min - From class Mar 7
Power - From class Mar 7
Euclidean distance - From class Mar 7
Random numbers - From class Mar 10
Random letters - From class Mar 10
Mystery function - From class Mar 14
Fibonacci - From class Mar 14
Greeting function - From class Mar 14
quadruple - pass-by-reference - From class Apr 4
toupper - From class Apr 4
Arrays
Reverse letters - From class Apr 8
Reverse letters, no repeat - From class Apr 8
getList - From class Apr 11
sumArray - From class Apr 11
printTable - From class Apr 18
Classes
Starter Dog class - For class Apr 21


Practice:
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).




Final practice! Below are final practice questions!


Assignments:
Lab 0 - due February 1, 11:59pm

Lab 1 - due February 9, 11:59pm

Lab 2 - due February 24, 11:59pm

A range - 90-100
B range - 75-90
C range - 60-75
D range - 45-60


Lab 3 - due March 6, 11:59pm
A range - 90-100
B range - 75-90
C range - 60-75
D range - 45-60
Answers will be available in CS1GradedLABS directory hopefully Saturday night.

Lab 4 - due March 16, 11:59pm

Lab 5 - due April 11, 11:59pm
A range - 85-100
B range - 70-85
C range - 50-70
D range - 35-50

Lab 6 - due April 20, 11:59pm

Final project - due May 4, 11:59pm


Quiz/Exam Answers:
Quiz 1 answers

21 - 24 "A range"
18 - 21 "B range"
15 - 18 "C range"

Quiz 2 answers
22 - 24 "A range"
18 - 22 "B range"
14 - 18 "C range"
10 - 14 "C range"

Written midterm answers
41.5 - 46 "A range"
37 - 41.5 "B range"
32.5 - 37 "C range"
28 - 32.5 "C range"

Quiz 3 answers
26 - 29 "A range"
22 - 26 "B range"
16 - 22 "C range"

Quiz 4 answers
16 - 18 "A range"
12.5 - 16 "B range"
9 - 12.5 "C range"
5.5 - 9 "D range"

Quiz 5 answers
15.5 - 18 "A range"
12 - 15.5 "B range"
8.5 - 12 "C range"
5 - 8.5 "D range"