SE-1021
Software Development 2
Dr. Mark L. Hornick


Description     Syllabus     Policies     Quizzes     Lab Info      Coding Standard     Grading


Revision History

This is where you check for news and information regarding recent additions (assignments, announcements, etc) to this site. The latest revision will be put at the bottom of the list.

12/2/2009 Exam 1 moved to W3 from W4
   
11/30/2009 Version 1

This page was last updated on 02/19/2010.

Class Schedule

Lectures are held on Monday, Tuesday, and Thursday in L100 from 8:00am to 8:50am.
Labs are on Friday in L305 from 8:00am to 9:50am.

As stated in my general course policies, attendance is mandatory for all lectures and labs. Email me when you foresee yourself to be absent. I may administratively drop anyone who misses 3 or more classes (lectures and/or labs). Be sure to read the entire document for all relevant policies that apply to this course.

Be sure to read the entire document for all relevant policies that apply to this course.

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.

In addition, you can find the weekly learning outcomes here.

Textbook

Introduction to Programming with Java, Dean & Dean, McGraw-Hill, 2008.

Java Development Tools

Follow this link for more information on the tools we use for this course.

Syllabus

Week Day Topic Reading Homework Lab (Friday)
W1

M

Course Introduction

Java Fundamentals Expanded
11.1 - 11.5

Java Coding Standard

 

HW #1

Solution

Lab Submission Instructions

Lab 1: ArrayLists

T Java Fundamentals Expanded, continued 11.8 - 11.9

Software Design Tips

Read: Creating Javadoc

R Composition, Aggregation, and Inheritance 12.1 - 12.6

 

 

 

W2

M

Inheritance, continued App. 7   Viewing Grading comments

Quiz 2

Lab 2: Inheritance

T Inheritance, continued 12.7 - 12.9 HW #2

Solution

R Inheritance exercise inheritance.zip  
W3

M

Inheritance and Polymorphism 13.1 - 13.6 HW #3 Lab 3: UML Diagrams
T UML Diagrams and Enterprise Architect

Review for exam
outcomes to-date Lab 3 Preparation
Exercise 1

Exercise 2

HelloWorld.eap for Exercise 2

R Exam 1    
Christmas Break
W4

M

Inheritance and Polymorphism:
Interfaces
13.7 - 13.10 Example: InterfaceSample.zip Quiz 3 (Interfaces, Abstract Classes, polymorphism)

Lab 4: Barnyard Fun with Inheritance
Due date: 8:00am 1/14/2010

T Inheritance and Polymorphism:
Abstract classes
  HW #4
R Inheritance and Polymorphism:
Implementing Comparable<T>
   
W5

M

Intro to Graphical User Interfaces

Event-driven programming
16.1 - 16.7 Sample code:
events.zip
Quiz 4 (UML relationships, Interfaces, simple event handling)

Lab 5: Reaction Timer
Due date: 8:00am 1/21/2010

T Inner classes 16.8 - 16.11  
R Event listeners 16.12 - 16.17 HW #5
W6

M

Graphical User Interfaces - Layout Managers 17.1 - 17.6

 

Sample code:
LayoutManagerSampleApp.java
Quiz 5 (event handling, UI layout)

Lab 6: Graphical User Interface design
T Graphical User Interfaces - continued

Absolute Positioning

17.7 - 17.9 HW #6
R Exception Handling 14.1 - 14.8 Sample Code:
ExceptionsDemoApp.java
W7

M

Exception Handling continued 14.9 - 14.12   Lab 7: Date Calculator
T Exceptions exercise (HW 7)

Review for Exam

outcomes to-date

UML class diagrams
HW #7
Due 8:00am Thursday
R Exam 2    
W8

M

Advanced GUI:
Additional GUI Components; other event listeners
17.10 - 17.14 Sample code:
AdvancedGUIApp.java

Lab 8: Drawing Program Part 1

T Advanced GUI continued:
custom painting
   
R File I/O 15.1 - 15.5 Sample code:
SimpleFileIO.java
W9

M

File I/O continued   Sample code:
FileIOApp.java

Student.java

Quiz 6 (exception handling and File IO)

Lab 9: Drawing Program Part 2

 

T Binary Files 15.6 - 15.10 Sample/Homework code:
RosterIOApp.java

HW #8
Due noon Friday

R Serialization I/O 15.10  
W10

M

Loading and Saving images   Sample code:
ImageDemoApp.java
Quiz 7
Solution

Lab 10: Roundtrip code generation

ALL labs must be submitted by 4:00pm Sunday, Feb 21, 2010

T Custom Exception classes
Regular Expressions
Assertions
  Sample code:
FileChooserDemoApp.java

BasicRegEx.java

R Review Course outcomes Sample Final Exam
W11
 

Common Final Exam
Wednesday, February 24, 2010
11:00am-1:00pm
L100

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. The lowest quiz grade will be dropped. No make-up quizzes will be given.

About Labs

Note that the labs constitute a significant part of your overall grade - a reflection of their importance in this course. 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.

Code Commenting and Documentation Standard

All source code submitted must use the Java Coding Documentation Standard developed in the MSOE Software Development Laboratory.

Grading algorithm

Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.

Criterion Weight
Labs 20%
Quizzes 30%
Hour Exams 30%
Final Exam 20%

Homework does not explicitly count towards your final grade, but will be weighed in determining whether to round up or truncate your grades. Homework material will also appear in quizzes.

This page was last updated on 02/19/2010.