Instructor:
Dr. John R. Sullins
Office hours: MWF
Office: 333 Meshel Hall
Phone: 742-1806
Email: john@cis.ysu.edu
Web site: http://cis.ysu.edu/~john/
Check the web site regularly, as assignments and announcements will be posted here.
Objectives:
This course is meant to introduce you to the following:
Note that this course is not
meant as a comprehensive introduction to all of Java -- the primary objective
is to use Java to introduce program design and development.
Prerequisite:
This course will not assume any background in programming.
However, be aware that this course will move very quickly at times, as it is the equivalent of 2 to 3 of our
undergraduate courses. Please ask
questions (either in lecture, phone, or email) if you are not sure how to do an
assignment – it is much better than falling behind in a course like this!
Textbook:
Problem Solving with Java (second edition), Eliot B. Koffman and Ursula Wolz, Addison-Wesley.
Grading:
|
Programming assignments |
64% |
7 – 8 biweekly assignments |
|
Exam 1 |
12% |
Date TBA |
|
Exam 2 |
12% |
Date TBA |
|
Final exam |
12% |
Dec. 12 |
Last day to withdraw with a "W": Thursday, November 3
Programming Assignments:
The programming assignments will involve the Java language and GUI. The Java 1.5 SDK (software development kit) is available on the lab PCs, and you are strongly encouraged to install a copy on your own PC from the Sun web site (instructions for this are included in the first assignment on the course web page).
Work on these assignments must be your own. See the policy sheet
for more details.
Tentative Course Outline:
|
WEEK |
TOPICS |
CHAPTERS |
|
8/29 |
Introduction to programming and the Java SDK |
1 |
|
9/5 |
Primitive data types, Built-in Java methods and classes (no class Monday) |
2.1 – 2.5 |
|
9/12 |
Basic Java program structure, methods and parameters |
2.7 – 2.9, 3.1 |
|
9/19 |
Class and program design |
3.2 – 3.5 |
|
9/26 |
Conditions and branching structures |
4.1 – 4.5 |
|
10/3 |
Looping structures |
4.6 – 4.10 |
|
10/10 |
Arrays, iteration, and linear search |
5.1 – 5.6 |
|
10/17 |
Inheritance and polymorphism |
6.1 – 6.3, 5.7 |
|
10/24 |
Event-driven programming |
6.4, 7.1 – 7.3 |
|
10/31 |
Visual program design |
7.4 – 7.9 |
|
11/7 |
Exception handing, file processing |
8.1 – 8.3 |
|
11/14 |
Recursion, binary search |
9.1 – 9.5 |
|
11/21 |
Linked lists, stacks and queues |
10.1 – 10.3 |
|
11/28 |
Trees |
10.4 – 10.5 |
|
12/5 |
Software development tools, introduction to software engineering |
Appendix A, 6.7 – 6.8 |
|
12/12 |
Final Exam |
|