CS 215 - Fundamentals of Programming II
MWF 12, KC-267
Announcements
These are announcements made in class or via email currently in effect
for this course.
Saturday, February 23, Re: Project 4 player functions
As discussed in class on Friday, the player functions in Project 4 do not need to
receive the number of rows and columns of the BoxGrid, since the BoxGrid class provides
accessors to give this information. The assignment sheet has been revised to reflect
this.
Links
This is a list of links to resources that may be useful in this
course.
- Dr. Hwang's list of programming
links including information on emacs, vi, Unix, and Linux.
- Cygwin, a UNIX environment for
Windows
-
Putty, a free terminal emulator for Windows that works
much better than the built-in Windows telnet client, especially for
remote access to Unix boxes and using Unix editors, and supports the SSH
protocol
- WinSCP, a free file copying program for Windows with a GUI based on Putty.
-
Commands to make vi display TABs as 3 spaces instead of the default 8
spaces (and other cool vi things) courtesy of Tim DeBaillie.
However, these .vimrc commands only effect how the tabs are
displayed in vi. When the tabs are printed by a2ps, the
default 8 spaces is still used. However, a2ps has a command
line option (-T#) to have it print tabs as some number of
spaces other than the default. It is used as follows to get 3
space tabs:
a2ps -T3 file1 file2 ...
Note: you only want to do this with source code files, not makefiles
Handouts
This is a list of documents posted for this class in reverse
chronological order. Some will be available in hard copy as well.
- Friday, April 25
- Final Exam Review Sheet (HTML) (PDF)
- Wednesday, April 16
- Monday, April 14
- Code used in lecture (also available on csserver in directory /home/hwang/cs215/lecture36): d_stree.h
- Programming Project 7 (HTML) (PDF)
- Wednesday, April 9
- Friday, April 4
- Code from textbook used in lecture (also available on csserver in directory /home/hwang/cs215/lecture32)
- Wednesday, April 2
- Wednesday, March 19
- Code used in lecture (also available on csserver in directory /home/hwang/cs215/lecture27): prg8_3.cpp
- Exam 2 Review Sheet (HTML) (PDF)
- Programming Project 5 (HTML) (PDF)
- Monday, March 17
- Code used in lecture (also available on csserver in directory /home/hwang/cs215/lecture26): prog8_1.cpp
- Homework 6 (HTML) (PDF)
- Monday, March 10
- Wednesday, February 27
- Practical Exam Review Sheet (HTML) (PDF)
- Monday, February 25
- Tips on Managing Programming Complexity (HTML) (PDF)
- Wednesday, February 20
- Wednesday, February 13
- Programming Project 3 (HTML) (PDF) - Revised 2/14/08 to specify names and parameter of sorting functions
- Code demonstrating instrumentation for Project 3 (also available on csserver in directory /home/hwang/cs215/lecture15): search.h, searchcount.cpp
- Homework 4 (HTML) (PDF)
- Monday, February 4
- Friday, February 1
Code used in lecture demonstrating recursion. Also
available on csserver in directory /home/hwang/cs215/lecture10
- Wednesday, January 30
- Monday, January 28
Analyses, Designs, and Code developed in lecture
- Friday, January 25 (swapped topics in syllabus with Wednesday, January 23)
Code used in lecture demonstrating error handling methods. Also
available on csserver in directory /home/hwang/cs215/lecture07
- prog1_1simplev1 - terminate program in object on error:
Makefile.prog1_1simplev1, simpletime24v1.cpp
- prog1_1simplev2 - object sets a flag on error:
Makefile.prog1_1simplev2, simpletime24v2.h, simpletime24v2.cpp, prog1_1simplev2.cpp
- prog1_1simplev3a - object throws an exception on error, terminate program in main:
Makefile.prog1_1simplev3a, except.h, simpletime24v3.cpp, prog1_1simplev3a.cpp
- prog1_1simplev3b - object throws an exception on error, ask for input again in main:
Makefile.prog1_1simplev3b, prog1_1simplev3b.cpp
- Wednesday, January 23 (swapped topics in syllabus with Friday, January 25)
Code used in lecture demonstrating operator overloading. Also
available on csserver in directory /home/hwang/cs215/lecture06
- prog2_3simple - program using simple Time24 objects:
Makefile.prog2_3simple, prog2_3simple.cpp
- prog2_3v1 - program with overloaded operators as member functions:
Makefile.prog2_3v1, prog2_3v1.cpp, time24v1.cpp, time24v1.h
- prog2_3v2 - program with overloaded operators as free functions:
Makefile.prog2_3v2, prog2_3v2.cpp, time24v2.cpp, time24v2.h
- prog2_3final - program with overloaded operators as friend functions:
Makefile.prog2_3final, prog2_3final.cpp, time24.cpp, time24.h
- Friday, January 18
Code used in lecture demonstrating C++ strings. Also available
on csserver in directory /home/hwang/cs215/lecture05
- prog1_3.cpp -
Program 1-3 on pages 34-35 corrected to use string::npos and unsigned int
- Wednesday, January 16
Code used in lecture demonstrating classes. This is similar, but
not the same as the time24 code presented in the textbook. In
particular, this one has no error checking. Also available on
csserver with a makefile in directory /home/hwang/cs215/lecture04
- Monday, January 14
- Submission Instructions (HTML) (PDF)
Code used in lecture demonstrating file stream issues. Also
available on csserver in directory /home/hwang/cs215/lecture03 with various test
datafiles
- Friday, January 11
- Homework 1 (HTML) (PDF) - Revised 1/13/08 to specify name of executable for the automated submission system
- Wednesday, January 9
- Syllabus and Schedule (HTML) (PDF)
- Very Basic Unix (HTML) (PDF)
- Very Basic make (HTML) (PDF)
- C Strings Tutorial (PDF only)
(from textbook website - reading assignment for Friday)