CIS 350 Lecture Schedule (Spring 2015)


Last updated: April 28, 2015

Date Lecture Topics Assigned Readings & Other Info
All readings available in Canvas unless otherwise noted
Jan 14
  • Course introduction
  • Process models
  • Sommerville, Software Engineering (9th ed.), chapter 2
Jan 19
  • No class today! MLK Day
Jan 21
  • Agile software development
  • Sommerville, Software Engineering (9th ed.), chapter 3
Jan 26
  • Requirements
  • Braude & Bernstein, Software Engineering: Modern Approaches, chapters 10, 11, 13
Jan 28
  • Android app development
Feb 2
  • Guest speaker: WillowTree
  • -
Feb 4
  • "So You Think You Know Java?"
Feb 9
  • Software design principles
  • Brooks, "No Silver Bullet"
  • Pressman, Software Engineering: A Practitioner's Approach, section 9.3
  • Christensen, Flexible, Reliable Software, chapter 3
  • Kung, Object-Oriented Software Engineering, section 6.5
Feb 11
  • Software architecture
  • Class Modeling
  • UML
  • Kung, Object-Oriented Software Engineering, chapter 5
  • Christensen, Flexible, Reliable Software, chapter 29
Feb 16
  • Software design workshop
  • -
Feb 18
  • Design patterns: creational
  • Shalloway and Trott, Design Patterns Explained, chp. 5, 16, 19
Feb 23
  • Design patterns: structural
  • Shalloway and Trott, Design Patterns Explained, chp. 9 and 15
Feb 25
  • Design patterns: behavioral
  • Midterm review
  • Shalloway and Trott, Design Patterns Explained, chp. 14 and 17
Mar 2
  • Midterm exam
  • location TBA
Mar 4
  • Guest speaker: Google
Mar 9
  • Spring break!
Mar 11
  • Spring break!
Mar 16
  • User interface design
  • -
Mar 18
  • Integration
Mar 23
  • Concurrency
Mar 25
  • Synchronization
Mar 30
  • Test-driven development
  • Defensive programming
  • McConnell, Code Complete, chapter 8
  • Hunt & Thomas, The Pragmatic Programmer, chapter 4
Apr 1
  • Code readability and understandability
Apr 6
  • Refactoring
  • Fowler, Refactoring: Improving the Design of Existing Code, chapters 2-3
Apr 8
  • Software testing
  • Ammann & Offutt, Introduction to Software Testing, chapter 1
Apr 13
  • Black-box testing
  • Android testing
  • Jorgensen, Software Testing: A Craftsman's Approach, chapters 5-6
Apr 15
  • White-box testing
  • Braude & Bernstein, Software Engineering: Modern Approaches, chapter 26
Apr 20
  • Debugging
  • McConnell, Code Complete, chapter 23
Apr 22
  • Efficiency
  • McConnell, Code Complete, chapters 25-26
Apr 27
  • ACM Code of Ethics
  • Software Engineering and intellectual property
  • Final review
  • Final exam review slides available in Canvas
Apr 29
  • No class today!
  • -
May 5
  • Final exam
  • Scheduled by the university registrar for 6-8pm in CHEM 102