|
CIT 591 Programming Languages & Techniques
I |
This page will be under continuous development as the semester progresses.
| Office hours: David Matuszek, WF 2:30-4:00, Yi Chen, M 5:00-6:30, Pender 122, yicn@seas.upenn.edu Yongdong Zhao, W 10:30-12, Pender 132, yongdong@seas.upenn.edu |
|
|
Links: |
Blackboard and
Zip programs BlueJ Notes Doing Without BlueJ Sample Programs (under construction) |
|
Announcements
|
|
| December 21, 2001 | I've started work on a Home Page for CIT 594. |
| December 21, 2001 | CGS students who were enrolled in CIT 591 last semester will be permitted to register for CIT 594 in Spring 2002 (as soon as a bit of paperwork goes through). |
| December 14, 2001 | CGS (College of General Studies) students: For essentially bureaucratic reasons, you are no longer allowed to take CIS or CIT Masters level courses. I am working to resolve the situation, hopefully within the next week or two. |
| December 14, 2001 |
From the ACLU: What To Do If You're Stopped By The Police, The FBI, The
INS or The Customs Service |
| December 13, 2001 | Textbooks for CIT 594 |
| December 13, 2001 | I have been misinformed! It turns out I can give plus and minus grades to some students--just not those in the School of Engineering (such as the MCIT students). That being the case, I will give plus grades as allowable and appropriate. In fairness to anyone who was counting on not getting a minus grade, I will not assign minus grades this semester. |
Here is your First
Java Assignment (a Drawing applet). Here is your Sixth
Assignment (Rabbit Hunt). Here is your Seventh
Assignment (Calculator). Here is your Tenth
and Final Assignment (Syntax Coloring)
Please turn in your code on a floppy, and your notes about the BlueJ tutorial
on plain paper.
Here is your Second
Java Assignment (Scott's Problem).
Here is your Third Java
Assignment (21 Card Game).
Here is your Fourth Java
Assignment (Calendar).
See also the Tips on
using the Calendar class page.
Here is your Fifth
Assignment (Caesar Cipher).
See also the Notes on
Caesar Cipher page.
Here is the Zip file
that goes with it.
Notes on Style Marks for
Rabbit Hunt
Here is the Java
file that goes with it.
Here is your Eighth
Assignment (Magic Squares).
Here is your Ninth
Assignment (21 Card Game).
See also the Notes
on Syntax Coloring
CIT 591 is a required course for students in the MCIT program and in Bioinformatics. In addition, CIT 591 is a service course for graduate students in other fields who have an interest in learning something about programming and computer science.
Your goal in this course should be to learn to program in Java. For those of you have had no prior programming experience, much of what you will learn is basic programming skills, applicable to any programming language. For all students, you will learn a great deal about the Java programming language. (Currently, ML is not scheduled to be taught in this course.)
If you are an MCIT student and are already an experienced Java programmer, an opportunity will be provided for you to test out of this course. This will allow you to take some other course; but you must still fulfil the ten-course requirement. All MCIT students will be required to take the follow-on course, CIT 594.
|
Lectures and lecture materials
|
||
|
Date
|
PowerPoint lectures
|
Suggested reading
|
|
Monday, September 10 |
Welcome (30 slides) |
Chapter 1 |
|
Wednesday, September 12 |
A First Applet (34
slides) |
Sections 2.9 and 2.10 BlueJ Tutorial |
| Monday, September 17 |
Introduction to Primitives
(26 slides) |
Sections 2.3 and 2.4 Sections 2.1, 2.5, 2.6, 2.7 |
| September 19, 2001 |
Simple Control Structures
(21 slides) |
Sections 3.1, 3.2, 3.4, 3.6 Section 3.9 Rules 1, 3, 5, 6, 8 |
| September 24, 2001 |
Starting Classes
and Methods (34 slides) |
Sections 4.1, 4.2, 4.3 Sections 4.2, 5.2 |
| September 26, 2001 | More Control Structures (26 slides) | Sections 3.3, 3,7, 3.8, Rules 5 and 7 |
| October 1, 2001 | Basic Object-Oriented
Concepts (37 slides) |
Sections 4.1, 4.2, 7.1, 7.2, 7.3 |
| October 3, 2001 | Quiz 1 - Answers
1 Continuation of previous lecture |
|
| October 8, 2001 | Methods (29 slides) |
Section 4.3 |
| October 10, 2001 |
Style Rules for Names (17
slides) |
Rules 9-13, 18, 19, 22, 23, 25, 26, 28, 31 |
| October 15, 2001 |
Characters and Strings
(18 slides) |
Section 2.4 |
| October 17, 2001 | Quiz 2 - Answers
2 The Rabbit Hunt (30 slides) |
|
| October 22, 2001 |
All the Operators (20
slides) |
Section 3.5, Appendix E Sections 5.4, 7.2, 7.4 |
| October 24, 2001 | Event loops
(10 slides) GUIs (32 slides) |
Section 5.5 Section 7.8 |
| October 29, 2001 | Contracts (7
slides) Using the API (12 slides) Abstract classes and interfaces (17 slides) |
Section 2.6, Rules 18 and 21 Sections 5.4, 7.7 |
| October 31, 2001 |
Quiz 3 - Answers
3 |
Section 5.3 BouncingBallApplet.zip |
| November 5, 2001 |
Buttons (19 slides) |
Sections 9.3 and 9.4 Rules 32 to 58 |
| November 7, 2001 | Arrays (27 slides) |
Sections 6.1, 6.2 |
| November 12, 2001 | Applets (25 slides) |
Section 2.9, Appendix J |
| November 14, 2001 | Quiz 4 - Answers
4 Components (29 slides) |
Sections 7.8, 9.1, 9.2, 9.3 |
| November 19, 2001 | Internal comment
style (15 slides) Subclasses (29 slides) |
Rules 59 to 66 |
| November 21, 2001 (No lab this week) |
Which is better? Vectors |
Section 6.5 |
| November 26, 2001 | Exceptions File I/O (except Serialization) |
Section 8.1 Sections 8.2-8.5 |
| November 28, 2001 | State Machines |
|
| December 3, 2001 |
Quiz 5 - Answers
5 |
Sections 2.5, 4.6 Section 8.5 |
|
Future lectures (subject to change)
|
||
| December 5, 2001 | Threads Stacks |
|
| December 10, 2001 | Concluding Remarks Quiz 6 Makeup Quiz |
I will start with a brief lecture. Quiz 6 will cover from State Machines on. The makeup quiz will be comprehensive. |