CSc 413
Software Development
(Fall 2002)
|
|
|||
|
Lec. session III
|
|
Lec. Location:
|
|
| Lec. session IV |
|
Lec. Location: |
|
|
Office Phone
|
|
Office #:
|
|
|
Office Fax
|
|
Office Hours:
|
11:00 - 12:00 pm |
|
Email Address
|
|
||
|
Mailing Address
|
San Francisco State University 1600 Holloway Avenue San Francisco, CA 94132 |
||
Course Description
The focus of this course is to teach you the fundamentals of the Software
Developments by practice. It will cover the principals and concepts of
software development, Object-oriented programming, fundamental structures
and classes of Java, SWING components, and event handling programming.
Term project is building a XHTML browser (individual project). Therefore,
course broadly but lightly covers XML, XHTML, DTD, Schema, Parser, HTTP,
socket programming, CSS, XSL to be able to build the browser.
prerequisites
Grade C or better in CSc313 and MATH 330
TEXT
Introduction to JAVA Programming, Y. Daniel Liang, 3rd edition PH PTR
Recommended Readings
Core Java 2 Volume I - Fundamentals, C. Horstmann and G. Cornell, PH
PTR
Core SWING Advanced PRogramming, Kim Topley, PH PTR
Understanding Object-Oriented Programming with Java, Budd, T., Addison-Wesley,
2000
|
(The schedule is subject to change, especially midterm exam and due days of projects) |
||||
|
|
|
|
Course Notes |
|
|
(starting from 8/29) |
Introduction to Software Development & Object Oriented Programming (OOP) | Project 1 - Simple Java Programs Project 1 with full text - Thanks Seto! | ||
|
(starting from 9/3) |
Introduction to Java
(Characteristics and Programming Env) Exceptions and Debugging |
Chater 1 | Lecture slides 1 | |
|
(starting from 9/10) |
Fundamental Programming Structures in Java | Chapter 2 & 3 & 4
JBuilder 7.0 Download Example Java files Java 1.3 API |
Lecture slides ch
2
Lecture slides ch 3 Lecture slides ch 4 |
|
|
(starting from 9/17) |
Objects and Classes | Chapter 5
Example Java Code from Liang's book chapter 4 ~ 9 & 15 |
Project
2
Hints for project 2 [MSWORD] Hints for project 2 [HTML] |
|
|
(starting from 9/24) |
Inheritance and Interface | Chapter 6 & 7 | Lecture slides ch 5 | Project 1 Due-moved |
|
(starting from 10/1) |
Streams and Files | Chapter 15 | Lecture slides ch
6
Lecture slides ch 7 |
Project 1 Due Day |
|
(starting from 10/8) |
XML & XHML
XHML Browser - Term Project Description |
XML note [Intro]
XML note [DOM] XML note [SAX] |
Project
3 - updated version |
|
|
(starting from 10/15) |
XML parser
(DOM & SAX parser) |
Project 2 Grade (Section 3) Project 2 Grade (Section 4) Best Program [Part I] |
Lecture slides ch 15 | Project 2 Due |
|
starting from 10/22) |
Midterm Review and Exam | Sample Questions | ||
|
(starting from 10/29) |
Graphics Programming | Chapter 8 | Lecture slides ch 8 | |
|
(starting from 11/5) |
Event Handling | Chapter 8
Midterm Grade (Section 3) Midterm Grade (Section 4) |
Project 4 | |
|
(starting from 11/12) |
User Interface Components with Swing | Chapter 9 | Lecture slides ch
9
Project 4 Description
|
Project 3 Due day is moved to Nov. 19 |
|
(starting from 11/19) |
User Interface Components with Swing, Applets | Chapter 10 | Lecture slides ch 10 | |
|
(starting from 11/26) |
Exceptions and Debugging
Multithreading |
Chapter 11 & 13 |
Lecture slides ch 11 Lecture slides ch 13 Chapter 13 Thread Examples |
|
|
(starting from 12/3) |
Object Oriented Design using UML | |||
|
(starting from 12/10) |
Term Project Class Presentation Signup Sheet | Final Sample Questions
Project 3 Grade (Section 3) Project 3 Grade (Section 4) Final Exam Grade (Section 3) Final Exam Grade (Section 4) Final Letter Grade (Section 3) Final Letter Grade (Section 4) |
Project 4 Due | |
The final exam is closed book, closed note. Makeup exams will not be given. Absence due to a serious illness will be an acceptable reason for missing an exam, and the final grade will be scaled accordingly.Assignments
Final exam is
on December 17 Tuesday, 10:45 ~ 1:15 pm (Section 3) and
on December 19 Thursday 1:30 ~ 4:00 pm (Section 4) at regular classroom.
All projects are individual projects. Open discussion is encouraged, but sharing source code is considered as a cheating!!!CSC413 Mailing List:Late policy. You may turn in a program up to 5 days late for a penalty of 50 points of the available points (10 points each day). So, for example, if you would have gotten a 70/100 and submitted 2 days late, you will get 50/100. For programs due on Friday, Monday will be considered two days late. After the 5 day grace period, a late program receives no credit.
Only programs that are working correctly will be graded. Pretty print (indentation, etc) and comment programs appropriately. Grades will be based on correctness, readability, the appropriate applications of object oriented techniques, efficiency, etc. You must complete the programs to receive a grade of C or better.
I will frequently make announcements (change due dates, etc) will will not appear in print. You are responsible for all announcements made in class!!!! I will also announce messages through mailing list. I use your sfsu account as a default mailing address. If you don't receive welcome e-mail from me or like to change to your favorite account, please mail to cs413@sfsu.edu specifying your current mailing address, your name and your favorite account.All assignment should be submitted to cs413@sfsu.edu as an attachment. (Only .java files. Never include .class files)
GradingThe following is the relative weight of each part of the course work. At the end of the semester, you will have a score out of 100 percent. This score will be used in a class curve to arrive at a letter grade.
| Projects I & II (10% each) | 20% |
| Projects III & IV (15% each) | 30% |
| Midterm Exam | 20% |
| Final Exam | 30% |
Software:
You are free to choose any Java Development Kit (jdk) in the 1.1.x series upto 1.3. Free PC and Mac jdk implementations are available from Sun at http://www.javasoft.com. The bookstore also has commercial jdk development environment (e.g., Symantec's Visual Cafe - http://www.symantec.com). Please check Sci 254 is our department lab space and all of you will get an account at Unicorn. I strongly recommend to use the machines at the lab.