MPCS 51220 Applied Software Engineering (Spring 2018)

Section 1
Instructor(s) Cohen, Jeffrey (jeffcohen)
Location Young 302
Meeting Times Wednesday 5:30pm - 8:30pm
Fulfills Elective Specialization - Software Engineering (SE-2)


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.



Course Prerequisites

Required: Core Programming

Other Prerequisites

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 53001-1 -- Databases
  • MPCS 52030-1 -- Operating Systems