Skip to content

HsHs-dev/MIT-Software-Construction-6.031

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Construction 6.031

This repository will contain Problem sets, and the project for the Software Construction (6.031) Spring 2021 course.

The focus of this course is on writing code that is:

  1. Safe from bugs
  2. Easy to understand
  3. Ready for change

Course Process

More on the course learning process, pros and cons about the course material, hardships and more can be found on my blog CS2Day

Notes

I have made good, compacted notes of each reading, breaking some concepts in my own words and summarizing some points. You can find the notes here.

Readings

  • 01: Static Checking
  • 02: Basic Java
  • 03: Testing
  • 04: Code Review
  • 05: Version Control
  • 06: Specifications
  • 07: Designing Specifications
  • 08: Mutability & Immutability
  • 09: Avoiding Debugging
  • 10: Abstract Data Types
  • 11: Abstraction Functions & Rep Invariants
  • 12: Interfaces, Generics, & Enums
  • 13: Debugging
  • 14: Recursion
  • 15: Equality
  • 16: Recursive Data Types
  • 17: Regular Expressions & Grammars
  • 18: Parsers
  • 19: Programming with ADTs
  • 20: Concurrency
  • 21: Thread Safety
  • 22: Locks & Synchronization
  • 23: Queues & Message-Passing
  • 24: Sockets & Networking
  • 25: Callbacks
  • 26: Map, Filter, Reduce
  • 27: Little Languages I
  • 28: Little Languages II
  • 29: Team Version Control
  • 30: Ethical Software Engineering

Problem Sets

The Problem sets that are open sourced are related to 2016 iteration of the course, which can be found here

  • 0: Turtle Graphics
  • 1: Tweet Tweet
  • 2: Poetic Walks
  • 3: Expressivo
  • 4: Multiplyer Minesweeper

Poject

  • ABC Music Player

Quizzes

  • Quiz 1
  • Quiz 2