sdp » wiki » classnotes »

Consolidated class notes for SDP P1: Software Engineering Intro

Lesson 1: Intro and Overview

  • Section 1: Introduction
  • Since this is the first lesson of the course, I want to acknowledge the many people who contributed to making this course possible.

    • All the folks at Udacity involved with the preparation of the course and, in particular: Benjamin Gardner, for doing a great job editing my (very) raw material; Jennie Kim, for keeping things on track and taking care of problems as soon as they appeared; and Sarah Spikes, for taking care of all the projects and assignments, among several other things.
    • The numerous colleagues who agreed to be interviewed for the course, those who provided background material (and in some cases even had the patience to sit with me and discuss such material), and those who provided feedback on specific lessons. Some did all three, and I am especially grateful to them!
      There are too many to list here, but they will be mentioned in the appropriate places.
    • The students in my research group, for being patient in the many situations in which the course preparation time was eating into their advising and meeting time. Among those, a special thank goes to Mattia Fazzini, Wei Jin, and Shauvik Roy Choudhary, who helped me prepare and revise part of the material. In particular, Shauvik's help with many of the demos was priceless.
    • Last but not least, I want to thank Paola Spoletini, who not only devoted countless hours transforming my ideas, sketches, and horrible handwriting into amazing illustrations and text, but also provided extremely useful input and feedback throughout the preparation process.

    And thank to all of you for taking the class!
    I am looking forward to meeting you virtually!

    Alex

  • Section 8: Evidence of Software Crisis
  • You can access the proceedings of the NATO Software Engineering Conferences, and other related information, here.

  • Section 17: Background Survey Assignment
  • See T-Square for all assignments. You can access the form here.

    Lesson 2: Lifecycle Models

  • Section 20: Classic Mistakes: Process
  • For additional information, check out Classic Mistakes Enumerated, by Steve McConnell.

  • Section 23: Classic Mistakes: Product
  • For additional information, check out Classic Mistakes Enumerated, by Steve McConnell.

    Lesson 3: Integrated Development Environment (Eclipse)

    Lesson 4: Version Control Systems (Github)

  • Section 10: Installing GIT
  • Download GIT here.

  • Section 18: Github Setup Assignment
  • See T-Square for all assignments. You can find the details for the spring 2014 assignment here.

  • Section 19: Github Usage Assignment
  • See T-Square for all assignments. You can find the details for the spring 2014 assignment assignment here

    Lesson 5: Project Description