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 9, 2007, 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

Date

Topic

Assignment

Feb. 7

Programming as Problem solving

Feb. 9

Modular Programming and Functional Decomposition

Pre: Read Chapter 1

HW1: Write a detailed functional composition of some mundane task that you perform frequently (examples: brushing your teeth, making a PB&J sandwich,

Also: Download MS Visual C++ Express

Feb. 12

Introduction to Visual C++ Express
The Structure of a C++ program: #include files and main()

Lab 1: Hello, World!

Feb. 14-16

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. 19

Structure of a computer program:

Declarations, Data Types, and Expressions

Pre: Chapter 3

Lab 3: Reading into variables from the keyboard

Feb. 21-23

Functions 1: Calling functions

Lab 4: Programming Warm-up Exercise 3.6 (p. 136)

HW 3: Exercise 3.3

Feb. 26

Using Files

Pre: Chapter 4

HW 4: Working with files

Feb. 28

Changing the Flow of Control, part 1:

The if() statement

Pre: Chapter 5

Lab 5: If statements

Mar. 2

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.

Mar. 5-7

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. 9

Catch-up day

Work on previous assignments

Mar. 12-16

Spring Break


Mar. 19-23

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. 26-28

Nested loops

Lab 10: More Factorial!

All homeworks and labs through Mar. 26 due midnight, MARCH 26!!

Mar. 30

MIDTERM EXAM

Apr. 2-4

Visual Studio Lesson

Using the debugger.

HW8: Craps

Apr. 6-9

Easter Break


Apr. 11-13

Programming Problems 1

Integrating what we've learned

HW9: Blackjack

HW9.5: Standard Deviation


Apr. 16-25

Functions 2: Writing your own functions.

Pre: Chapter 7

Lab 11: Functions


Apr. 27 - May 4

Arrays


Pre: Sections 12.1-12.3

Lab 12: Arrays

HW10: Problem 12.4 on p. 658

All Homeworks and labs through May 2 due on May 4


May 4

Take home midterm handed out

May 7

NO CLASS. Work on your exams

May 9

Introduction to Grafix

Discussion of final projects.

TAKE HOME MIDTERM DUE

No exceptions.

Lab: Install Grafix and go through the Basic Lessons.

You will need this version of the grafixExpress.cpp file to properly use Grafix.

You will also need to follow the instructions here to use Grafix with Visual Studio Express.

HW: Choose your game for your final project. Write a functional decomposition of it for Friday.

May 11

More Grafix - Advanced Lessons

May 14-18

Work on final projects

To use Grafix in the classroom, you'll need to run this program

GrafixFix

May 23

FINAL PROJECTS DUE

Present projects from 8:45-10:15

No exceptions. No excused absences. If you are not present, you get a 0 for your final project.

Homework rubric

All homework and labs are worth 20 points each, broken down as follows:

Semester grade

The semester grade will break down as follows:

Labs - 15%
Homework - 35%
Mid-term exam - 16%
Take-home exam - 24%
Final project - 10%