CS330, Spring 2014

CS330 Outline & Topics

Blackboard
Outline
Policies
Grades
Library
Forum
FAQ
Search
CS330 Topics
Topics Lecture Notes Readings Assignments & other events
1 Course Overview

slides: Course Structure and Policies

slides: An Overview of the Main Course Themes

text: C++ text as needed

text: Horstmann 1 (skim)

text: Fowler 1

2 Pre-OO: ADTs & C++
2.1 ADTs

slides: ADTs

text: Horstmann 3

2.2 Implementing ADTs with C++ classes

slides: Implementing ADTs in C++ Classes

slides: Constructors and the Rule of the Big 3

slides: A C++ Class Designer's Checklist

text: (C++)

asst: Asst: C++ ADTs (Due: 02/21/2014)

3 OO Analysis & Design: Workflows, Models, & Classification
3.1 Process

slides: Workflows

slides: Software Development Processes

text: Horstmann: 2-2.2

text: Fowler 2

3.2 Classification

slides: Discovering and Documenting Classes

slides: Example: Domain Model Using CRC Cards

text: Horstmann: 2.3-2.7

3.3 Relationships

slides: UML Class Relationship Diagrams

slides: Example: Class Diagrams (Domain Model)

text: Horstmann: 2.8, 2.12

text: Fowler 4, 6

asst: Asst: Early Elaboration (Due: 03/04/2013)

4 OOP
4.1 Inheritance

slides: Inheritance: The is-a relation

text: (C++)

4.2 Dynamic Binding

slides: Dynamic Binding: Class-Appropriate behavior

slides: End of material to be covered on the midterm exam

slides: Making Inheritance Work: C++ Issues

slides: Inheritance and Dynamic Binding: idioms and common patterns

text: C++ text as needed

asst: Asst: OOP in C++ (Due: 04/03/2014)

4.3 Sharing

slides: Sharing Pointers and Garbage Collection

5 OOA&D: Use Cases

slides: Use Cases

slides: Interaction Diagrams

slides: Example: Further Elaboration on Automated Assessments

text: Horstmann 2.9-2.12

text: Fowler 3, 5

asst: Asst: Later Elaboration (Due: 04/18/2014)

6 Java
6.1 Working in Java

slides: Java - First Impressions for a C++ Programmer

cs382: 1. Getting Started

cs382: 2. Basics

text: Horstmann: 1, 2.11

cs382: 3. In the Java Style

6.2 OOP in Java

slides: Inheritance in Java

slides: A Class Designer's Checklist for Java

text: Horstmann: 4, 6

asst: Asst: OOP in Java (Due: 04/24/2014)

7 Applying OOP
7.1 Graphic User Interfaces

slides: Functors - Objects That Act Like Functions

slides: Example: Building a Java GUI

reading: Java Tutorial: Creating a GUI with JFC/Swing

text: Horstmann: 5

asst: Asst: Modifying a Java GUI (Due: 04/30/2014)

7.2 Multi-Threading

slides: Multi-Threading : Doing Things in Parallel

slides: Case Study: threads in the spreadsheet

reading: Java Tutorial: Concurrency

text: Horstmann: 9

8 Exams and Special Events

event: Classes start (01/11/2014)

event: Martin Luther King Day holiday (01/20/2014)

event: Spring Break (03/10/2014 - 03/15/2014)

exam: Midterm Exam, Dragas 1115 (03/06/2014)

event: Last day to withdraw (04/09/2014)

event: Last day of classes (04/29/2014)

exam: Final exam (05/01/2014, 12:30-3:30PM)

Symbol Key
conference Conference
slides Slides & Lecture Notes
text Text
exam Exam
lab Lab Assignment
asst Assignment
cs382 CS382 readings
All times in this schedule are given in Eastern Time.