|
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. |