Software Design I
Download the Syllabus doc format pdf format

    
Textbook
David Riley
The Object of Data Abstraction and Structures using Java

SOLUTIONS TO THE PERSON HANDLER

Here is a sample solution: PersonHandler.java.

SOLUTIONS TO STUDY GUIDE

Solutions to the study guide questions can be downloaded. Note that this code doesn't compile 'as is' since it is simply a set of methods and a class or two.

Code Samples

Take a look at the samples in this folder.

Homeworks

Homework 5 can be downloaded: doc   pdf

Homework 8 can be downloaded: doc   pdf

The final homeowrk can be found: at this folder


Java/BlueJ Home Install

Check out directions on how to download and install Java and BlueJ on your PC. The downloads are large (Java is 53 Meg) and so you should have a fast internet connection to do this.

Classes from the Book

Classes from the book:   download here.
Documentation can be accessed here

Course Objective

The aim of this course is to provide students with basic object-oriented programming skills using Java 1.5 as the programming language. The material will emphasize classes and objects, program design, debugging techniques, and documentation. This class is a General Education course and students completing this course should be able to demonstrate problem solving skills in designing, implementing, evaluating, and maintaining computer software.

Requirements and Grading

Course grades will be based on a combination of programming assignments, quizzes, two in-class tests, and a final exam each of which is weighted according to the table below. No extra credit points will be given. There will be unannounced quizzes throughout the semester (approximately 10) where the 2 lowest scores will be dropped. There will be no make-up quizzes given. The only way to succeed in this course is by performing quality work on homework assignments and by performing at a high level on the exams.

Description Percentage
Programming Assignments (approximately 10)10%
Quizzes (approximately 10)10%
Exam 125%
Exam 225%
Final Exam30%

All homework assignments are due before class on the due date (unless otherwise specified).  Assignments turned in within 24 hours after this time will receive a 50% penalty and those turned in more than 24 hours late will receive no credit. Exceptions may be granted under extraordinary circumstances if a students requests an extension prior to the deadline. If a request cannot be made prior to the deadline due to a medical (or possibly other type of) emergency, the student must request an extension as soon as possible. Students should not assume that exceptions to the grading policy have been or will be given simply because they have been requested. Exceptions to the grading policy will be made exclusively and explicitly via email or other written communication.

Any student with a documented disability (e.g., physical, learning, psychiatric, vision, or hearing, etc.) who needs to arrange reasonable accommodations must contact the instructor and the Disability Resource Services Office (165 Murphy Library) at the beginning of the semester. Students who are currently using Disability Resource Services will have a copy of a contract that verifies they are qualified students with disabilities who have documentation on file in the Disability Resource Service Office.

Although attendance is not graded, Perfect class attendance is expected for all lectures.  Students are responsible for all material presented in class and lab lectures as well as all material covered in the reading assignments.

Programming courses are notoriously more time consuming that most. You should expect the programming assignments to take a significant amount of time to complete. Although the time and effort spent on projects will vary from student to student you should expect to spend an average of ten hours per week on programming assignments. For instance, if you are given two weeks to complete an assignment it is expected that the assignment will take the average student approximately 20 hours to complete.

Since the Java programming language is available for most platforms you may wish to work from home PCs. Although this is a very good option for many students it is important to understand that it is fully your responsibility to support your own system and to make sure that I recieve homework submissions. I cannot provide techinical support for equipment and software that I do not have access to and am not familiar with!

If you wish to recieve an acknowledgement that I have recieved your email, place the word "reply" in the subject line. Make sure that it is spelled correctly.


Course Schedule

Please note that the schedule below is only approximate.

Date Topic Reading
Week 1 Introduction to Java and Lab Chapter 1
Week 2 Syntax, Sequences, Debugging Chapters 1,2
Week 3 Design Chapter 3
Week 4 Methods Chapter 4
Week 5 Methods/Numeric Processing Chapter 5
Week 6 Numeric Processing Chapter 5
Week 7 Suppliers Chapter 6
Week 8 Logic Chapter 7
Week 9 Logic Chapter 7
Week 10 Inheritance Chapter 8
Week 11 Inheritance Chapter 8
Week 12 Repetition Chapter 10
Week 13 Containers/arrays Chapters 11,12
Week 14 Conatiners/arrays Chapters 11,12

Solutions

Selected solutions to homework and quizzes will be placed here throughout the semester.

Scores and Grades

Scores and grades are here. Please note that each student has been assigned a random ID between 1 and 999999. If you would like to know your ID please send an email request to hunt@mail.uwlax.edu and I will reply with your ID. You should be able to determine your ID based on the scores of your first few assignments.

The Grades column indicates the grade that you would recieve from me if the semester were to end today. The grade that you actually recieve in this course may obviously vary greatly depending upon your performance throughout the remainder of the semester.


Academic Integrity

Homework and programming assignments, except when explicitly specified otherwise, should be done alone. It is reasonable to discuss general approaches to problem solutions or algorithm design with other students but the bulk of the work must be done alone. Working out details, sharing in the write-up or sharing or copying code will be treated as a violation of the academic integrity rules.  I will aggressively pursue appropriate disciplinary action for any form of unethical behavior. The UWL procedures for handling academic misconduct can be obtained from the Office of Student Life.

        Examples of ethical collaboration:

        Examples of unethical collaboration