To give the students a solid
understanding of modern software construction. To prepare
students to construct sequential and concurrent programs. To encourage the construction of software systems of high
quality. In-depth study of software construction in
a modern language including control structuring and packaging.
Concepts such as information hiding, data abstraction, and object-based and
object-oriented software construction are discussed and illustrated. This
course is part of the core of the SWE program and utilizes the Java
Programming Language.
Sec 002: Tuesday 7:20 pm - 10 pm;
ENGR 4457
Sec 003: Tuesday 7:20 pm - 10 pm; NET
This course is delivered to the Internet section online using Moodle learning
management system with MIST/C, which has replaced the Network EducationWare
(NEW) delivery system. Students in all sections will have accounts and will
be able to play recordings of the lectures and download the slide files from
the Moodle course page. Login information will be sent to all enrolled
students by email, before the first scheduled class.
Required Textbooks and
Materials:
· Some assignments may require programming techniques not
covered in the two required texts. I will provide pointers to online material
at the appropriate time. Required.
· Online Java documentation is available from Oracle. Recommended.
Attendance:
Attendance is mandatory. Class is scheduled during the
semester every Tuesday (except 12 October 2010) from 7:20 PM to 10:00 PM. Online students have the option of attending class either
online or at the Fairfax Campus.
Course
Requirements & Grading:
The course grade is based on one
3 hour comprehensive final examination. All required coursework must be
completed by the stated due dates and times. Late assignments will not be
accepted, no make-up for missed quizzes, and no make-up test will not be
given for the final examination.
Students in the NET section are expected to
come to GMU to take the final examination on the date/time stated in the
detailed Timetable.
Assignments:
33%
Quizzes:
33%
Final Exam:
34 %
All required coursework for this
class is to be performed independently. Please read the information about GMU
and CS Department Academic Integrity and Honor Code Policies at
http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/HomePage.
These policies will be strictly enforced.
If you have a documented learning
disability or other condition that may affect academic performance you
should: 1) make sure this documentation is on file with the Office of
Disability Services (SUB I, Rm. 4205; 993-2474; http://ods.gmu.edu/) to determine
the accommodations you need; and 2) talk with me to discuss your
accommodation needs.
Important
Dates:
Last day to add: September
14, 2010
Last day to drop: September 14, 2010 (no tuition penalty)
Last day to drop: September 21, 2010
Columbus Day recess: October 11, 2010
Thanksgiving recess: November 24 - 28, 2010
Last day of classes: December 11, 2010
Final Examination: December 14, 2010, 7:30 pm -
10:15 pm
Tentative
List of Topics:
All lecture slides are available for download on
the Moodle SWE619 Course Page.
All lectures are recorded and available for
download/replay on the Moodle SWE619 Course Page.
All assignments descriptions will be made
available on the Moodle SWE619 Course Page.
All assignments are submitted on via the Moodle
SWE619 Course Page.
All quiz descriptions will be made available on
the Moodle SWE619 Course Page.
All quizzes are performed on the Moodle SWE619
Course Page.
Meeting
|
Date
|
Topic
|
Reading
|
Assignment
|
Quizzes
|
1
|
31Aug
|
Course Overview || Procedural Abstraction
|
619 Review Slides Liskov 1 Liskov 2-3
|
|
|
2
|
7 Sept
|
Exceptions
|
Liskov 4 Bloch 9
|
Assignment 1
|
Quiz 1
|
3
|
14 Sept
|
Data Abstraction
|
Liskov 5.1-5.4
|
Assignment 2
|
Quiz 2
|
4
|
21 Sept
|
Reasoning About Data
Abstraction || JUnit
|
Liskov 5.5-5.10 JUnit
|
Assignment 3
|
Quiz 3
|
5
|
28 Sept
|
Iteration Abstraction
|
Liskov 6
|
Assignment 4
|
Quiz 4
|
6
|
5 Oct
|
Type Abstraction
|
Liskov 7
|
Assignment 5
|
Quiz 5
|
|
12 Oct
|
Holiday – No Class
|
|
|
|
7
|
19 Oct
|
Polymorphic Abstraction || Generics
|
Liskov 8 Bloch 5
|
Assignment 6
|
Quiz 6
|
8
|
26 Oct
|
Concurrency
|
General Concurrency Bloch 10
|
Assignment 7
|
Quiz 7
|
9
|
2 Nov
|
Specification Checking || Temporal Logic
|
Slides from Kansas
State University Foundations
Temporal
Logic Patterns
|
Assignment 8
|
Quiz 8
|
10
|
9 Nov
|
Common Java Contracts || General Programming ||
Java Doc
|
Bloch 3 Bloch 8 Java Doc
|
Assignment 9
|
Quiz 9
|
11
|
16 Nov
|
Classes and Interfaces || Testing
|
Bloch 4 Model Driven Test Design
|
Assignment 10
|
Quiz 10
|
12
|
23 Nov
|
Design Patterns
|
Liskov
|
Assignment 11
|
Quiz 11
|
13
|
30 Nov
|
Specifications, Security
|
15Liskov 9 Gary McGraw’s Security Taxonomy
|
Assignment 12
|
Quiz 12
|
14
|
7 Dec
|
Course Wrap Up
|
619 Review Slides
|
|
|
15
|
14 Dec
|
Final Exam
|
|
|
|
Created: 25 Aug 2010
J. Baldo