CS 2340 Objects and Design

Summer 2013 Syllabus for Sections A and GR

Last updated on 2013-07-24 at 11:14.

This open-access part of the syllabus contains schedule and general information for my sections. The official CS 2340 for all sections, additional resources and all grade-related information are on T-Square.

There is also a general syllabus here: cs2340-syllabus.pdf

Please read and be sure you fully understand the cs2340-course-policies.html.

NEWS

Be a TA for Fall 2013. See Recruiting-2013Summer-2013Fall.pdf

Instructor

Chris Simpkins

CCB 133

chris.simpkins@gatech.edu

http://www.cc.gatech.edu/~simpkins/

Schedule and Office Hours

Textbooks

Semi-required:

Highly recommended:

Grading

Guaranteed grades will be determined by the usual non-curved cutoffs:

val letterGrade = courseAverage match {
  case avg if avg >= 90 => 'A
  case avg if avg >= 80 => 'B
  case avg if avg >= 70 => 'C
  case avg if avg >= 60 => 'D
  case _ => 'F
}

Resources

Java

Development Tools

Guides

  • Text Editors - an intro to text editors for beginning programmers
  • Basic Unix and Emacs - a tutorial introduction to Unix and Emacs that will give you the basic skills you need for this class should you choose to use a unix-like operating system like Ubuntu Linux or Mac OS X
  • Basic Unix and Vim - same as Basic Unix and Emacs but using Vim instead of Emacs
  • Java 7 on Mac OS X - follow this guide if you have a Mac.
  • Tomcat - instructions for installing, running, and developing web apps for Tomcat

Misc

Lecture Schedule

This schedule is subject ot change. The further in the future, the less certain the schedule.

Date Topics Readings and Example Code
Tools and Technologies
2013-05-13 Introduction Syllabus
2013-05-15

Git Basics

Team Formation

PG 1-3
2013-05-20 Pro Java blackjack
2013-05-22 Web Applications Tomcat, Tomcat Docs
2013-05-27 Memorial Day - No Class  
2013-05-29

Web Applications

Problem Domain

tomcat-todo
Agile Software Development
2013-06-03

Agile Software Development

Testing and Refactoring

ASD 1-3

ASD 4-5

2013-06-05 Build Automation Ant
Clean Code and Design
2013-06-10

Clean Names

Clean Functions

CC 1-2

CC 3

2013-06-12

Clean Comments

Clean Formatting

CC 4

CC 5

M1 due 2013-06-14

Drop Deadline: 2013-06-14

2013-06-17

Software Design

Git for Teams

ASD 7, ASD appx A, CRC Cards

PG 4-6

2013-06-19 Demo: Unit Testing and Ant

Ant, Junit

M2 due 2013-06-21

2013-06-24 Team Work Day  
2013-06-26 Guest Lecture M3 due 2013-06-28
2013-07-01

Clean Classes

Clean Tests

CC 6,10

CC 9

2013-07-03 Clean Boundaries CC 8, 11-12, ASD appx A
2013-07-08 Midterm Review CC 1-10, ASD 1-4
2013-07-10 Midterm Exam  
Object-Oriented Design
2013-07-15 Team Work Day  
2013-07-17 Object-Oriented Design M4 due 2013-07-17
2013-07-22 Design Patterns M5 due 2013-07-22
2013-07-24 Team Presentations  
2013-07-29 Final Checkstyle, Cobertura