Introduction to Computer Science

Instructor: Jeremy Gottlieb
Office: Lentz Hall 307
Phone: x5943
E-mail: jgottlieb@carthage.edu
My Schedule


Take-home midterm

Due: Wednesday, May 5, 2006, at 11:00am CDT


Purpose of the course

Computer programs are all around us. The web browser you are using to read this web page is a program. The operating system running on your computer is a program. Your e-mail reader and instant messager are both programs.

The purpose of this course will be to understand how to write computer programs to solve problems and accomplish tasks. To accomplish this, we will be learning the C++ programming language.


Submitting assignments

Assignments must be submitted through e-mail. They must be submitted with a filename that consists of your first initial followed by your last name followed by the assignment you are submitting. Finally, the extension on the file must be .cpp.

For example, if I am submitting HW 5, I would name the file: jgottlieb.hw5.cpp

If Eric Clapton was going to turn in Lab 8, he would name the file: eclapton.lab8.cpp

Assignments not labeled in this fashion will not be accepted.

Other course policies can be found here.


Assignments labeled as "Pre:" are generally readings to be done before class.
Assignments labeled as "Lab:" were done in class and must be submitted to me through e-mail.
Assignments labeled as "HW:" are homework assignments to be done on your own. These must also be submitted to me through e-mail.

Course Calendar

DateTopicAssignment
Feb. 1 Programming as Problem solving HW1: Write a detailed functional decomposition of the problem of getting from the classroom to your college home (i.e. dorm room or off-campus apartment, not your parents' home).
Feb. 3 Modular Programming and Functional Decomposition Pre: Read Chapter 1 and Section 4.9 (pp. 166-176)
Feb. 6 Introduction to Visual Studio.NET Lab 1: Hello, World!
Feb. 8-10 The Structure of a computer program:
Variables, blocks, and assignment

Input & Output in C++

Pre: Chapter 2
Lab 2: Input variables
HW 2: Exercise 2.1
Feb. 13 Structure of a computer program:
Declarations, Data Types, and Expressions
Pre: Chapter 3
Lab 3: Reading into variables from the keyboard
Feb. 15-17 Functions 1: Calling functions Lab 4: Programming Warm-up Exercise 3.6 (p. 136)
HW 3: Exercise 3.3
Feb. 20 Using Files Pre: Chapter 4
HW 4: Working with files
Feb. 22 Changing the Flow of Control, part 1:
The if() statement
Pre: Chapter 5
Lab 5: If statements
Feb. 24 More about if() Lab 6: Conditional Expressions
HW 5: Problem 5.5 on Page 247; Along with the functional decomposition, I want you write the program, too.
Feb. 27 Catch-up day Work on previous assignments
Mar. 1-6 Flow of control, part 2:
While Loops
Pre: Chapter 6
(3/1) Lab 7: Exercises 5, 6, and 7 on p. 297
(3/3) Lab 8: While loops
(3/6) HW6: Exercise 6.3
Mar. 8-10 For loops Pre: Chapter 9.3 (pp. 426-430)
Lab 9: Factorial!
Lab 9.5: Write a program implementing programming Warm-Up exercises 9.8 and 9.9 on page 445. However, instead of only printing out 10 multiplication tables or 10 rows of stars, your program should ask the user how many tables and rows of stars they want the program to print.
HW7: Using loops
Mar. 11-19 Spring Break
Mar. 20-22 Nested loops Lab 10: More Factorial!
All homeworks and labs through Mar. 10 due today!
Mar. 24 MIDTERM EXAM
Mar. 27 Visual Studio Lesson
Using the debugger.
HW8: Craps
Mar. 29-31 Programming Problems 1
Integrating what we've learned
HW9: Blackjack
Apr. 3-7 Functions 2: Writing your own functions. Pre: Chapter 7
Lab 11: Functions
Apr. 10 Enumerated Data types Pre: Chapter 10
Lab 12: Problem 10.1 on page 515.
Apr. 12 Structured data types Pre: Sections 11.1 and 11.2
Lab 13: struct
Apr. 14-17 Easter break
Apr. 19 Using structs with functions Pre: Section 11.7
HW10: Structs
Apr. 21-26 Introduction to Arrays Pre: Sections 12.1-12.3
Lab 14: Arrays
HW11: Problem 12.1
All Homeworks and labs through Apr. 19 due on Apr. 21
Apr. 28 Exam review. Take home midterm handed out
May 1 NO CLASS
May 3 Introduction to Grafix
Discussion of final projects.
TAKE HOME MIDTERM DUE
No exceptions.
Lab: Install Grafix and go through the Basic Lessons.
HW: Choose your game for your final project. Write a functional decomposition of it for Friday.
May 5 More Grafix - Advanced Lessons Lab 14 and HW 11 due.
May 9 Work on final projects
May 11 Work on final projects
May 13 Work on Final projects.
May 17 FINAL PROJECTS DUE Present projects from 8:00-10:00
No exceptions. No excused absences. If you are not present, you get a 0 for your final project.