CS-214
Software Construction
Welcome to CS-214 — Software Construction!
In this course you will learn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills and fundamental software construction concepts.
Useful links
- Syllabus
- Course policies
- Tools setup
- Staff
- Moodle
- Course forum
- Course video channel
- Help session rooms:
Labs
Lab callbacks
Exercises
- Structural Recursion
- Git I: Single-user version control
- Higher Order Functions
- Pattern Matching
- Debugging
- Polymorphism
- Proofs on lists and trees
- Tests
- Variance
- Comprehensions
- Specs
- Parallelism
- Laziness
Debriefs
- Week 1: Scala, recursion exercises, and
find
lab - Week 2: Schedule changes,
boids
lab, and equational reasoning - Week 3:
calculator
,find-hof
callback, and debugging - Week 4:
huffman
tips, dealing with stack overflows, and extra proofs - Week 5:
anagrams
tips, unit tests versus integration tests, and VSCode scrollback buffers - Week 6: Fall break!