CSCI 1300 Calendar -- Spring 2010
Reading is from the 7th edition of Problem Solving with C++ by Walter Savitch (ISBN 0-321-53134-5). Italicised topics are largely not in the book, though we will often provide links after class. Lectures are important for our curriculum! The topic dates are subject to change. Please see www.portmain.com/intro for information on instructors and other course items.
Topics Comments and Links Homework
1. Week of Jan 11. Introduction
Our Course www.portmain.com/intro No homework due this week.
Your First Program
  • The format of a program
  • The WinBGIm graphics library
  • Named constants
  • Calling predefined void functions
  • Writing your own void functions
Read §1.3-1.4. You'll learn the process of writing, compiling, running, testing and debugging small programs. You'll see the opening comment, the directives, constant declarations, and the main program. Keep in mind that our examples will go beyond the book, since we'll use the WinBGIm functions from day one. (starting with the circles.cxx program).

Also, our use of programmer-defined functions at this point is ahead of the book. The reason is that I've found that thinking in terms of functions is the single most important facet that makes a good programmer. So, don't miss class this week and come to office hours if needed!

Recitation: Class Software Read §1.1. Download and install the CS 1300 Software, which you will learn to use in the Recitation Exercise #1.
2. Week of Jan 18 (No class on Monday). Animation and C++ Basics
A Simple Animation Loop with Double-Buffering Come to class! The animation loop is simple, but it is not in the textbook. And you'll need it for HW #2 (due next week). Also, please read §2.1-2.3

snowmen.cxx
arithmetic.cxx

HW 1 (Ursa Major) due 7:50am on Tuesday morning. Please read the caution about doing your own work.
C++ Basics (Part I)
  • The int and double data types
  • Variable declarations
  • Assignment statements
  • Change operators += and -=
  • ++ and --
  • Arithmetic expressions
  • Input and output using cin and cout
Recitation: Using the Debugger Recitation Exercise #2
3. Week of Jan 25. More Basics and Non-Void Functions
Simple Non-Void Functions
  • Calling predefined non-void functions
  • Writing your own non-void functions
Start by reading pages 179-196 in Chapter 4. This is a little ahead of where we are with the other material, but you can handle it!

pixel_to_world.cxx

handyfunc.cxx

Michael's Wednesday Notes

HW 2 (Moving Stars) due 7:50am on Tuesday morning. Please read the caution about doing your own work.
C++ Basics (Part II)
  • If statements
  • If-else statements
  • Iterated if-else and nested statements
Read §2.4.

branching.cxx

Dmitry's Friday Notes

Recitation: Loops in the Debugger Recitation Exercise #3
4. Week of Feb 1. More Branching
More Boolean Expressions Read §3.1. HW 3 due 7:50am on Tuesday morning.
More Multiway Branches
  • Multiway and nested if-else
  • Switch statements
Read §3.2.
Program Style Read §2.5, and please read the ten items at the start of the Colorado Style Guide that you'll be required to use starting with Homework #3.
Recitation: Exam Review Exam 1 Review Sheet
The multiple-choice exam will be in our usual lecture, on on Friday, Feb 5. It will be cover all lecture material, assignments and assigned reading from Chapters 1, 2, 3.1, 3.2 and pages 179-196.
5. Week of Feb 8. More Looping
More kinds of loops and their design, plus practice writing small functions Read §3.3-3.4

first-for-loops.cxx

design.cxx

nested.cxx

Wednesday Notes

Friday Notes

No homework due this week. Study hard for exams in your other classes.
Example: Mandelbrot's fractal
Recitation: Work on Homework 4  
6. Week of Feb 15. More Function Practice
Lots of function examples Reread the start of Chapter 4 all the way to the end of §4.5. Also read §5.1.

param.cxx

mouse_and_keys.cxx

fractal.cxx

Monday Notes

Wednesday Notes

Friday Notes

HW 4 (Orbit Simulation) due 7:50am on Tuesday morning, Feb 16. Please read the caution about doing your own work.
Continuing Mandelbrot's fractal and handling mouse clicks
Recitation: More Practice with Loops Recitation Exercise #3A
7. Week of Feb 22. Reference Parameters
Reference parameters Read §5.2-5.3

blocks.cxx, scoperule.cxx, and funcscope.cxx

Wednesday Notes

Friday Notes and lander.cxx

HW 5 (acceleration field) due 7:50am on Tuesday morning, Feb 23. Please read the caution about doing your own work.
Simulating reference parameters in C  
Example: Lunar Lander  
Practice writing small functions  
Recitation: Homework Help  
7. Week of Mar 1. Testing and Debugging
Testing and debugging Read §5.4-5.5. We won't lecture on this material now, but it will be useful in your programming and we will have a future lab exercise about testing and debugging techniques.

Monday Notes

Wednesday Notes

HW 6 Space Ship Simulation due 7:50am on Tuesday morning, Mar 2. Please read the caution about doing your own work.
Example: The Bisection Method The Practice Questions and their solutions (including the examples in class, such as bisection).
Recitation: Exam Practice
The exam on writing functions will be in our usual lecture, on on Friday, Mar 5. You will write four functions in fifty minutes.
7. Week of Mar 8. Arrays
This week will start by going over a few new details of the lunar lander program. You'll need these items for Homework 7.

We'll also take a first look at arrays. Please read Sections 7.1 and 7.2 to support the lecture material on arrays.

Monday Notes

Wednesday Notes

Friday Notes

Start work on HW 7 Interacting with a Graphics Program due 7:50am on Tuesday morning, Mar 16. Please read the caution about doing your own work.
Recitation: Starting the homework
The Rest of the Semester
The third in-class exam will occur on Apr 9.
Final Exam Week
The exam will be in our usual lecture room, from 4:30pm to 7:00pm on Monday, May 3. It will be comprehensive, covering the entire semester.