MPCS 50101 Concepts of Programming (Summer 2026)

Section 1
Instructor(s) Binkowski, Thomas (abinkowski)
Location Online
Meeting Times Monday 5:30pm - 8pm
Fulfills Immersion Programming

Syllabus

Course Description

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.

Course Content

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.


Coursework

  • 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%.

Course Prerequisites

Other Prerequisites

MPCS students only.

Note, after completing MPCS 50101 Concepts of Programming, students are only eligible to take to take MPCS 51036 Java or MPCS 51042 Python as their MPCS Core Programming course. If you have a background in programming and are interested in taking a more advanced Core Programming class, you should plan to take the MPCS Programming Placement Exam for proper course placement. All new MPCS students should view information about the exams in the MPCS Programming Placement Exam Canvas site.

Overlapping Classes

This class is scheduled at a time that conflicts with these other classes:

  • MPCS 58020-1 -- Time Series Analysis and Stochastic Processes

Eligible Programs

Masters Program in Computer Science (Immersion)