SE-1020: Software Development II
Dr. Ben Uphoff

Winter 2008-2009


Description | Schedule | Policies | Homework | Quizzes | Lab Info | Coding Standard | Grading


Office L342
Phone (414) 277-7326
Email uphoff@msoe.edu
AIM uphoffmsoe
Meeting Times Monday/Friday 2-2:50pm (Lecture)
Tuesday 2-3:50pm (Lab)
Location L-104 (Lecture)
CC-46 (Lab)
Office Hours Mondays 10am-11am
Thursday 10am-12pm or by appointment


Course Description

This course continues the study of software development using an object-oriented approach and the Java programing language. Students design, document, and implement software components and incorporate these components into larger software systems. Topics covered include abstraction, encapsulation, declaring and implementing abstract data types, inheritance, interfaces, and an introduction to collection classes from the Java Collections Framework (JCF).


Please consult the official course description for detailed objectives.


Textbook

Java 5: Objects First, by Barry I. Soroka, Jones and Bartlett, 2006.



Schedule

WeekDayTopicReading HomeworkLab (Tuesday)
Week 1

M

Course Introduction

Selection statements
The switch() statement [PDF] [Example]

pp 430-434

Java Style Guide

  HW1: Ch 11 #29 (pp 444-445)
Lab Submission Instructions

Lab 1: Maze Navigation

F Chapter 13: Loops and Files

The while() statement [PDF] [Example]

pp 485-531

 

  HW1 Due
HW2: Ch13 #4, 10, 12, 15, 21, 69
Week 2

M

Chapter 13: Loops and Files
(sections 13.15 to 13.27)

The for() statement (See PDF from last time) [Examples]

pp 531-568

 
Quiz 1

Lab 2: Spirograph

F Chapter 14: Arrays and ArrayLists
Arrays

Intro to Java Collections Classes: ArrayList and LinkedList [PDF] [Example]

pp 593-599


  HW2 Due
HW3: Ch 13 #100, 101, 123
            Ch 14 #1, 2, 3, 4, 5 (Using ArrayLists: #103, 104, 105, 110)
Week 3

M

Chapter 12: Testing, Coding, and Debugging

pp 449-478

 

Quiz 2

Lab 3: Testing and Debugging

F Chapter 17: Exceptions
(sections 17.1 to 17.8)

Exceptions and Exception Handling[PDF] [Example]

pp 817-832

  HW3 Due
HW4: Chapter 12 # 1, 4, 6, 14
Christmas Break
Week 4

M

Chapter 17 continued
(sections 17.9 to 17.11)

Throwing exceptions


 

Quiz 3 [Solution]

Lab 4: Exception Handling

F Graphical User Interfaces
(sections 7.25 to 7.26)

Intro to Graphical User Interfaces (GUI) - AWT and Swing,
GUI components,

Layout management

[PDF] [Example]

pp 284-289
  HW4 Due
HW5: Chapter 15 #1, 3, 6, 10 , 11, 14, 15, 19, 20, 25, 33
Week 5

M

Review for Midterm Exam
  Lab 5: GUI Layout
F Midterm Exam [Solution]     No Homework
Week 6

M

GUI Event Handling

Event-driven programming:
Handling GUI events, Java inner classes [PDF] [Example]


  Quiz 4 [Solution]

Lab 6: Handling Events

F Chapter 15: Interfaces and Polymorphism

Inheritance & Polymorphism
Implementation vs. Interface [PDF] [Example]

pp 719-735  
Week 7

M

Chapter 15 continued


Advanced GUI:
Menus, Radio Buttons, Check boxes, Mouse Events [PDF] [Example]

pp 735-750  
Quiz 5 [Solution: See text pages 742-743]

Lab 7

F Intro to Inheritance; Abstract Classes, Abstract Classes vs. Interfaces [PDF] [Example]

  HW5 Due
HW6: Chapter 16 #1, 3, 5, 7, 13, 15, 17, 19
Week 8

M

Chapter 16: Inheritance and Class Hierarchies
(sections 16.1 to 16.7)

Inheritance & Polymorphism
Introduction:
Constructors, Member Accessibility [PDF]

pp 765-780


 

  Quiz 6

Lab 8

F Chapter 16 continued
(sections 16.8 to 16.12)

Inheritance & Polymorphism:
Abstract Superclasses and Abstract Methods

pp 780-791   HW6 Due
HW7: Chapter 16 #20, 21, 23, 25
          Chapter 17 #1, 3, 4, 5
Week 9

M

UML Review pp 791-808

Sequence Diagrams

Class Diagrams

  Quiz 7

Lab 9

 
F   Extending Exception, Exception Handling Review

  HW7 Due
HW8: Chapter 17 #6, 7, 8, 9, 10, 11
Week 10
 

M

Casting and Polymorphism, Integer and Floating Point math review



  Quiz 8

Lab 9 (Continued)
F

Final Review


  HW8 Due
Week 11 (Finals)
 

Common Final Exam
 TBA


Course policies

My general course policies apply to this course.


Quizzes

A quiz will be given approximately once per week at the beginning of Lab. See the Schedule for quiz dates. The lowest quiz grade will be dropped. No make-up quizzes will be given.



Homework

Homework will be graded as a "bonus" to your overall grade. See the Grading section below for how the quarter grade is computed. There are 8 homework assignments in the quarter. They will be graded on a 0-1-2 scale. A grade of 0 means not submitted or poor overall quality of work. A 1 means average quality or partial completion of the homework with overall good work on the completed portions. A 2 means good overall quality of work with all assigned problems completed. Thus there are 16 homework points available. Students who get 8 points will receive a bonus percentage point added to their final quarter grade (a 89% becomes a 90%). Students that get 12 points will get two percentage points added to their grade (a 75% becomes a 77%). An additional 0.5% will be added for any student that gets a perfect homework score (16/16).


Not doing homework does not cost you anything in your overall grade but not doing it will cause your exam and quiz scores to drop sharply. Skipping homework will also end up with you wasting time in lab learning topics that have already been covered in homework assignments. I also assume that all students have done their homework (and readings) and create lectures according to that assumption. If you don't do homework you will be behind and not get as much out of lecture.


All homework must be submitted by WebCT unless otherwise specified.


About Labs

Note that the labs constitute a significant part of your overall grade - a reflection of their importance in this course. I will not pass anyone in the class that does not turn in every lab. Plan to devote a considerable effort in order to complete these labs successfully and professionally. You will have to expend a reasonable effort as you practice using the development tools (Eclipse). You should probably expect to spend additional time outside of class to complete the assignments for the labs. 


All labs must be submitted by WebCT unless otherwise specified.


Code Commenting and Documentation Standard

All source code submitted must use JavaDoc commenting conventions and meet the minimum documentation standards outlined below.For additional help on coding style see the Java Style Guide.


Grading

The grading breakdown for the quarter grade is specified in the table below. Successfully completing all work in the four areas below is a prerequisite for passing the course.


CriterionWeight
Labs 35%
Quizzes 20%
Midterm Exam 20%
Final Exam 25%