|
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
|
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
|
HW 1 (Ursa Major) due 7:50am on Tuesday morning.
Please read the caution about doing your own work.
| C++ Basics (Part I)
|
Recitation: Using the Debugger
|
Recitation Exercise #2
|
3. Week of Jan 25. More Basics and Non-Void Functions
| Simple 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!
|
HW 2 (Moving Stars) due 7:50am on Tuesday morning.
Please read the caution about doing your own work.
| C++ Basics (Part II)
|
Read §2.4.
| 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
|
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
|
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.
|
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
|
We'll also take a first look at arrays. Please read Sections 7.1
and 7.2 to support the lecture material on arrays.
Week of 3/16: In recitation, you'll learn about file
input/output with Lab
Exercise 5. In class, we'll do a bit of output formatting, we'll
study pseudorandom numbers, and
we'll continue to look at arrays. You will learn two particular
algorithms: selection sort and binary search. The selection sort in
the book (pages 414-418) differs from our class implementation
(selsort.cxx),
because they find the smallest element and move it to the front
(whereas we found the biggest and moved it to the back). The binary
search in the book (pages 803-810) also differs from ours
(also in selsort.cxx).
You'll get a new homework assignment
(Homework 8, The Island,
due at 7:50am on 3/30) about population arrays.
Week of 3/30: In recitation, you'll look at a problem called
Conway's Game of Life that is implemented with a multidimensional
array (see conway.cxx). In class,
we'll also see multidimensional arrays and
look at an alternative to arrays called
vectors. You'll get started on Homework #9, due 4/6.
Week of 4/6: In recitation, you'll have an
exam review for the
Friday exam. The actual exam will require you to write four
functions in 50 minutes. All the functions will manipulate arrays.
Week of 4/13: There are a number of C++ items that aren't available
in C. We'll show you how to get around these problems should you
find yourself needing to program in C. (
Recitation on 4/13 will look at
c-style strings, printf and scanf.
We'll also start learning about structs (from Section 10.1 of the
book)
and we'll an algorithm called minimax (not in the book).
You should start the last homework,
which is due at 7:50am on Friday, April 30.
Week of 4/20 through the semester's end:
In recitation, you'll work on the
beat machine that Caleb designed.
In class, Dmitry and
Michael will continue project-oriented work.
There will be an Exam
Review this week, but keep in mind that this short review cannot
include all topics from the semester (the final will be comprehensive).
Mike will give a guest lecture on aspects of C that differ from C++
and Caleb will give a guest lecture on Ruby. Then we'll finish up with a
little introduction to recursion (see Chapter 8 of the book) and
other stuff to look forward to in CSCI 2270.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||