CIS 350 - Spring 2013

blackboard | google | wikipedia

CIS 350 Schedule


Date Lecture Topics Readings & Other Info
All readings from Braude & Bernstein unless otherwise noted
Part 1: How to make software
Jan 10
  • Course overview
  • Process models
Jan 15
  • Agile software development
Jan 17
  • Extreme Programming
  • Software configuration management
  • Overview of course project
Jan 22
  • Continuous integration
  • Requirements
Jan 24
  • Intro to Android
Jan 29
  • Android programming
Jan 31
  • Intro to software testing
  • Lecture slides and notes
  • Chapter 25
  • P. Ammann and J. Offutt, Introduction to Software Testing, chapter 1 (available in Blackboard)
Feb 5
  • Unit Testing: black-box
Feb 7
  • Unit Testing: white-box
Feb 12
  • More white-box testing
Part 2: How to make software "good"
Feb 14
  • Software design concepts
Feb 19
  • Object-oriented design
Feb 21
  • Design patterns
Feb 26
  • Design complexity metrics
  • Lecture slides and notes
  • Chapter 20
  • F. Tsui & O. Karam, Essentials of Software Engineering, chapter 8 (available in the Course Documents section of Blackboard)
Feb 28
  • Design review workshop
  • In this workshop, we will discuss the solutions to Homework #4
Mar 5
  • No class! Spring break!
Mar 7
  • No class! Spring break!
Mar 12
  • Design & implementation
Mar 14
  • Designing for testability
  • Midterm review
Mar 19
  • Midterm Exam!
  • The exam will be held in Claudia Cohen Hall room G17
  • Study guide is available here
Part 3: How to make software "better"
Mar 21
  • Refactoring and code smells
Mar 26
  • Refactoring patterns
Mar 28
  • Concurrency in Java
Apr 2
  • Thread synchronization
  • Review of Java data structures
  • Conducting a code inspection
Apr 4
  • Special topic: going from "idea" to "startup"
  • Presented by Roy Rosin, Chief Innovation Officer, Penn Medicine
Apr 9
  • Measuring and improving code performance
Apr 11
  • Legal aspects of software engineering
Apr 16
  • Reliability and fault tolerance
Apr 18
  • Software engineering ethics
Apr 23
  • Final review and project demos
May 2
  • Final Exam!
  • Scheduled by University registrar for 9-11am in Towne 100 (Heilmeier Hall)
  • Study guide is available here