Announcements
April 22, 2005
- For the rest of the semester, the course staff will hold office hours by
appointment primarily.
To make getting help more efficient, each TA has declared an area of
expertise; so if you have a particular question, now you know who to ask:
- java (i.e., packages, jar files, etc.): anyone
- design patterns, frameworks: anyone
- swing: Ben Wolf
- XML: Ben Wolf
- graphics/animation: Ben Pollack
- collision detection: David Winslow
- threading: Chris LaPilla
- networking: Ben Pollack
- graphics extras (sounds, sprites, etc.): David Winslow
- AI: Chris LaPilla
- Eclipse: Robert Duvall
April 20, 2005
April 18, 2005
April 11, 2005
April 6, 2005
- Current Reading
- Chapter 11 from Design
Heuristics by Arthur
Riel (handout)
- Chapter 2 in Design
Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm,
Johnson, and Vlissides (the "gang of
four") (handout)
- Chapters 10-11 from Extreme Programming Explained by Kent
Beck (handout)
- Current Assignments
- XOOGA, deliverable 1, due Thursday,
April 5
To see which team you are on, check
online here.
To submit, use the assignment name 07_xooga
April 4, 2005
- Current Reading
- Chapters 1-3 in The Power of Frameworks, by Taligent (handout)
- Current Assignments
- Crystal Browser, optional mastery
assignment due Wednesday, April 13
To submit, use the assignment name 06_crystal
March 7, 2005
- Current Assignment
- OOLALA, deliverable 3 is now the final deliverable, due Friday, March 11
Completing the L-System Application will be considered extra credit.
March 4, 2005
- Current Assignment
- OOLALA, deliverable 2.5, due Sunday, March 6 (deadline extended!)
March 2, 2005
- Current Assignment
- OOLALA, deliverable 2.5, due Thursday, March 3
- Use these two extra days primarily to clean up the design of the arithmetica program. Concentrate on getting the basic binary operators, variable use and assignment, parentheses, and unary functions working. To focus your design efforts, you should fix a major shortcoming of the code provided with the project, by making it easy to change the syntax and precedence of the language (describe how to change the syntax in your README file). Thus, at a minimum, you should submit two separate programs that share the same interpreter code but interpret two different arithmetica languages (extra credit will be given if you can switch between languages without recompiling).
February 28, 2005
- Current Assignment
- OOLALA, deliverable 2, due Tuesday, March 1
February 23, 2005
- Current Assignment
- OOLALA, deliverable 1, due Saturday, February 26
To see which team you are on, check online here.
To submit, use the assignment name 04_oolala
February 21, 2005
- Current Assignment
- Arithmetica warm-up, due by the end of the day Tuesday, February 22
Check out assignment arithmetica_2 using Ambient and modify it in the following ways:
- modify main.cpp to accept expressions with or without spaces (note, numbers may have mulitple digits and variables may be any length strings)
- modify main.cpp to improve its error checking of ill-formed expressions (i.e., unbalanced parentheses, incomplete operations, etc.)
- modify main.cpp (and possibly expression.cpp) to recognize the unary negation,
~, operator so that it negates the value of the expression. Negation should have higher precendence than times and divide, but lower than parentheses.
- modify main.cpp (and possibly expression.cpp) to recognize the assignment,
=, operator so that it creates a new variable in the global variable map. Assignment should have lower precendence than addition
- Submit this warm-up using the name arithmetica_2
February 18, 2005
- Current Assignment
- Arithmetica warm-up, due before class Monday February 21
Check out assignment arithmetica_1 using Ambient and modify it in the following ways:
- modify main.cpp to create and evaluate an
Expression instead of using the current evaluate method
- modify main.cpp and expression.cpp to recognize the mod,
%, and exponentiation, ^, operators (for exponentiation, use C++'s math function pow). Mod should have the same precendence as times and divide. Exponentiation should have a higher precedence.
- Arithmetica team preferences, due by the end of the day Monday, February 21
Please email to me at rcd@cs.duke.edu
February 16, 2005
February 14, 2005
- Current Reading
- Chapters 4 and 8 from The Pragmatic Programmer by Hunt and Thomas (textbook)
- Current Assignment
- OOOH-KWIC, final version, due Wednesday, February 16 (deadline extended)
February 11, 2005
- Current Assignment
- OOOH-KWIC, final version, due Tuesday, February 15
February 7, 2005
- Current Assignment
- OOOH-KWIC, deliverable 2, due Friday, February 11
February 4, 2005
- Current Assignment
- OOOH-KWIC, deliverable 1, due Monday, February 7
To see which team you are on, check online here.
To submit, use the assignment name 03_ooohkwic
February 2, 2005
- KWIC, due Thursday, February 3 (deadline extended!)
To submit, use the assignment name 02_kwic
Note, you must still submit your current version tonight for preperation of Friday's in-class work. Along with your code, please submit a README that includes your level of knowledge of both Java and C++, whether you intend to be in class on Friday, and which of the following methods you would prefer me use to pick your partner:
- randomly
- based on common KWIC implementation language (i.e., both partners did KWIC in Java)
- based on expert knowledge of language (i.e., I want to be paired with a Java expert)
- other (please describe --- and my best friend is not an acceptable criterion)
January 31, 2005
- Current Reading
- Chapters 1 and 2 from Design Patterns Explained by Shalloway and Trott (textbook)
- Chapters 1 and 2 from The Pragmatic Programmer by Hunt and Thomas (textbook)
January 24, 2005
- The textbooks are available in the bookstore.
- Current Assignment
- KWIC, due Wednesday, February 2
To submit, use the assignment name 02_kwic
January 21, 2005
- Current Reading
- Chapter 2 from Core Java Volume 2 by Horstmann and Connell (handout)
- Chapter 2 from Generic Programming and the STL by M Austern (handout)
January 19, 2005
January 14, 2005
- Current Readings
- Current Assignments
January 12, 2005
-
Welcome to CPS 108!
- This website complements what you experience in class.
Course announcements
will be posted on this web page and may also be announced in class. You are responsible
for all material that appears here and should check for updates
frequently.
-
If you are taking this course, chances are you are qualified to be an
Undergraduate Teaching Assistant (UTA) for one of our introductory courses (CPS
1, 6, 6X, or 100). If you want to help your fellow students, get more involved in
the department, or just learn more about computer science, then sign up to be a
UTA online here.
Comments?