CSCI 360 - 01 (2:10 - 3:25) spring 2017

Dr. Bowring

Syllabus

Class Wiki

Author's website

Schedule:

Date
Topic Readings due Individual HW DUE by start of class Resources Team Projects
R 12 Jan

NO CLASS

See below for what is DUE next two classes

You will need a GitHub account for this course.

Join class Wiki and list your name in lastName alphabetical order hyperlinked to your GitHub account.

Date
Topic Readings due Individual HW DUE by start of class Resources Team Projects
T 17 Jan

Introduction

OO Analysis and Design

Form Teams

Team Meetings

Chp 1, 2, 3

Install and explore Visual Paradigm. Follow these instructions and use one of these keys to get a 3-year license.

And / Or install and explore ArgoUML.

Learn Git

Git videos (short):
What is VC,
What is Git,
Start Git,
Win with Git

Unit Testing Checklist

TP1: In Class: Team Intro

Email team details of Team name, names, emails, github accounts to bowringj@cofc.edu SUBJECT = "CSCI462GitHub".

I will create teams and repositories and each of you will receive an invite.

TP2 Description: Analyze and Design Software to control a Dual-Alarm AM/FM Clock Radio

R 19 Jan

UP Inception

Evolutionary Requirements

Use Cases

Chp 4, 5
Architecture as Hallucination


Unmasking Ethical Risks

HW1: 2+-page response that compares and contrasts Booch with Gotterbarn/Miller:


Submit here.

Ancient Greek Computer


more on Greek Computer

T 24 Jan
Use Cases Chp 6

HW2: Identify and write in "casual format" at least 5 use cases for a simple answering machine.

Submit here.

Grady Booch Podcasts

Use Case

R 26 Jan

Team Reports

UP Elaboration I

Chp 7, 8

NOTE:

PDFs or other GitHub supported formats ONLY

TP2 Deliverable 1: Inception Documents: Vision, Use-Case enumeration with 2 use cases "fully dressed", supplemental specs, glossary

Submit in team repo.

T 31 Jan
Domain Models Chp 9

HW3: Create a domain model (see 9.4 in text) for simple answering machine from HW2.

Submit here.

R 02 Feb

Team Reports

System Sequence Diagrams

Chp 10

Agile Domain Modeling Example

Sequence Diagrams

TP2 Deliverable 2: Elaboration I Documents: all uses cases fully dressed and domain model.

Submit in team repo.

T 07 Feb Operation Contracts Chp 11

HW4: Create system sequence diagrams and operation contracts for simple answering machine.

Submit here.

Fun Facts
R 09 Feb

Team Reports

Logical Architecture

Chp 12, 13

Speaker today is

Venessa Johansen-Barrera (CofC CS 2015)

from Hawkes Learning

TP2 Deliverable 3: Elaboration I Documents: System Sequence diagrams and operation contracts.

Submit in team repo.

T 14 Feb

Object Design

UML Interaction Diagrams

Chp 14, 15 FYI - Bucky Fuller

TP2 Deliverable: Revise D3 per lessons learned and comments;

Submit in team repo.

R 16 Feb UML Class Diagrams Chp 16

HW5: Patterns

Submit here.

What the Doormouse Said

Whole Earth Catalog and Stewart Brand

T 21 Feb GRASP Chp 17  

TP2 Deliverable 4: Explore your :System object (application layer) and identify objects needed to implement your operations; Suggest object responsibilities and collaborations with example sequence diagrams;

Submit in team repo.

R 23 Feb GRASP Chp 18

 

T 28 Feb

Team Reports

Review

TP2 Deliverable 5: Complete the realization of your defined contracts with detailed sequence diagrams derived from your analysis of object responsibilities and collaborations; Keep in mind GRASP, especially Information Expert, Creator, Controller, and Low Coupling;

Submit in team repo.

R 02 Mar TEST #1 (midterm grades due noon 16 March)
T 07 Mar S P R I N G___ B R E A K
R 09 Mar
T 14 Mar

Designing for Visibility

Mapping Designs to Code

Chp 19, 20  

TP2 Deliverable Revise D5: Revise D5 per lessons learned and comments;

Submit in team repo.

R 16 Mar Test-Driven Development and Refactoring Chp 21

HW6: Simple answering machine: complete the realization of your defined contracts with detailed sequence diagrams derived from your analysis of object responsibilities and collaborations; Keep in mind GRASP, especially Information Expert, Creator, Controller, and Low Coupling;

Submit here.

 
T 21 Mar Review Team Projects      

TP2 Deliverable 6: Produce Java classes to implement your design as specified in your sequence diagrams; use NetBeans to create project [teamnameAlarmClock] (no spaces) with Junit 4.0 tests; use test-driven development by first creating tests for each class and method; use package structure com.csci360.alarmclock;

Submit in team repo.

R 23 Mar

 

UML Activity Diagrams and Modeling Chp 28

 

 
F 24 Mar Alumni Symposium Register here Extra Credit to Attend
T 28 Mar State Machine Diagrams and Modeling On Visual Formalisms
Chp 29
 

TP2 Deliverable: Revise D6 per comments;


Submit in team repo.

R 30 Mar GRASP: More objects with Responsibilities Chp 25

HW7: Simple answering machine: Produce Java classes to implement your design as specified in your sequence diagrams; use NetBeans to create project [lastFirstAnserwingMachine] (no spaces) with Junit 4.0 tests; use test-driven development by first creating tests for each class and method; use package structure com.csci360.answeringMachine;

Submit here.

 

T 04 Apr Liskov Substitution Principle
Law of Demeter
SOLID
Chp 25 (cont)  

TP2 Deliverable 7: Produce state machine models of the UI for the alarm clock based on your previously defined system operations;

Submit in team repo.

R 06 Apr Applying GoF Design Patterns Chp 26

HW8: Produce activity diagrams for:

1) modeling the process of buying groceries, starting with a shopping list;

2) the binary search algorithm;

Submit here.

 
T 11 Apr Software Architecture Document (SAD) Chp 39

 

TP2 Deliverable: REVISE D7;

Submit in team repo.

TP2 Deliverable 8: Implement GUI within the package structure for the alarm clock based on your previously implemented system operations and state machine models;

Submit in team repo.

R 13 Apr Team Project Reviews

HW9: Produce state machine models of the UI for the answering machine based on your previously defined system operations;

Submit here.

Evaluations:

 

F 14 Apr SSM Poster Session Submission Deadline 11:59 PM Author Information

Consider Submitting a Poster !!

T 18 Apr

Review  

HW10: Implement GUI within the package structure for the answering machine based on your previously implemented system operations and state machine models;

Submit here.

Submit evaluation form in person in class

TP2 Deliverable 8 Revised: Improve upon D8;

Submit in team repo.

R 20 Apr

Presentations:

     

TP2 Deliverable: Presentation;

Submit in team repo.

R 20 Apr School of Sciences and Mathematics Research Poster Session 11:30am – 1:30 pm at SSM Building Suggested Attendance

 

Author Information

Consider Submitting a Poster !!

T 25 Apr

Presentations:

       

W 26 Apr

#CS@CofC After Five Project Presentations 5:30 - 8 PM RSVP  

T 2 May

Final

FINAL Noon - 3 PM

Final grades noon 9 May.