Mathematics is the language of the sciences and of fields where patterns and systematic processes are analyzed. Study in the mathematical sciences provides the tools and a framework essential for the understanding of a modern technological society. The MCS curriculum fosters the development of logical and analytical thinking and is designed to provide a basic foundation appropriate for students who seek careers in computing. Emphasis is given to the mathematical theory of computer science and computational methods. source.
About the Course
- MWF 2:00-2:50 in SES 238
- Final Exam: Wed December 9, 1:00-3:00 PM
- Syllabus
- Office hours: Wed 3-3:50, Friday 11-11:50, SEO 630
- Useful links:
Projects
Exams
Course Outline
Introduction
- Day 1 - Aug 24: Introduction and course overview
- Day 2 - Aug 26: architecture, binary numbers, and memory
- Day 3 - Aug 28: data storage and python variables
- Day 4 - Aug 31: booleans
- Day 5 - Sep 2: while loops
- Day 6 - Sep 4: lists and for loops
- Day 7 - Sep 9: operating systems
- Day 8 - Sep 11: encryption
- Day 9 - Sep 14: functions
- Day 10 - Sep 16: programming languages
- Day 11 - Sep 18: frequency analysis
- Day 12 - Sep 21: more dictionaries, memoization
- Day 13 - Sep 23: namespaces and variables
- Day 14 - Sep 25: namespaces continued
- Day 15 - Sep 28: Riemann sum, images, fractals
Data
- Day 16 - Sep 30: files
- Day 17 - Oct 2: file example
- Day 18 - Oct 7: databases
- Day 19 - Oct 9: networking, TCP/IP
- Day 20 - Oct 12: network protocols, HTTP
- Day 21 - Oct 14: Exam 1
- Day 22 - Oct 16: k-means clustering
- Day 23 - Oct 19: machine learning
OOP
- Day 24 - Oct 21: object orientated programming basics
- Day 25 - Oct 23: objects, planets, classes
- Day 26 - Oct 26: solar system simulation
- Day 27 - Oct 28: bears and fish, oh my
Interlude
- Day 28 - Oct 30: digital circuits
- Day 29 - Nov 2: computer engineering
Misc
- Day 30 - Nov 4: OOP design
- Day 31 - Nov 6: exceptions
- Day 32 - Nov 9: parallel and concurrent programming
- Day 33 - Nov 11: combinatorics
- Day 34 - Nov 16: algorithms
- Day 35 - Nov 18: algorithm speed
- Day 36 - Nov 20: computational complexity
- Day 37 - Nov 23: sage and graph theory
- Day 38 - Nov 25: graph theory
- Day 39 - Nov 30: numerical computation
- Day 40 - Dec 2: types and type systems
- Day 41 - Dec 4: game of life