Applied Software Engineering

Title Applied Software Engineering (51220)
Quarter Spring 2018
Instructor Jeffrey Cohen (jeffcohen@cs.uchicago.edu)
Website

Syllabus

In this course, we will explore practical techniques to solving modern software challenges.


Topics include:

  • Software quality control

  • Test-driven development

  • Domain-driven design

  • Measuring software quality

  • Architectural design patterns

  • Edge-free programming

  • Event streams, logging, and audit trails
  • Source control techniques for small teams with Git

  • Security and cryptography essentials

  • Continuous integration & deployment


Course work and Grading

  • 3 programming assignments, each worth 20%
  • 2 in-class exams (mixture of code analysis & short-answer questions), each worth 10%
  • 1 final exam worth 20%


Required Textbooks

Clean Code: A Handbook of Agile Software Craftsmanship.  Robert C. Martin. 2009 Prentice Hall.
Amazon: https://www.amazon.com/gp/product/0132350882/


 

 

Prerequisites (Courses)

Required: Core Programming

Prerequisites (Other)

Satisfies

Elective
Software Engineering Specialization

Time

Wednesday 5:30-8:30pm

Location

Young 302