*Please note: This is the syllabus from the 2021/22 academic year and subject to change.*
In this course students will get an introduction to the field of computer science by learning to program in Python. Students will write code each week, learning the essentials of how to solve real-world problems in an object-oriented programming language. We will learn about fundamental data structures and algorithms, professional coding practices, algorithm design, automated testing, and the fundamentals of object-oriented programming.
In MPCS 50101, we provide an immersive introduction to programming for students who may not have prior experience. We will use the Python programming language to explore general-purpose computer programming and algorithmic reasoning, in an object-oriented context.
During this course, students will learn:
- how to construct algorithms, and express them as computer programs;
- how to refine and improve programs by an iterative process;
- the core principles of object-oriented programming;
- fundamental data structures: arrays, sets, maps, and trees;
- the basics of computational efficiency and "big O" notation.
- Homework is worth a total of 50%. There will be 9 weekly assignments. The lowest homework grade will be dropped.
- The midterm is worth 20% and will cover material through week 5.
- The final exam is worth 30%.