Students
Tuition Fee
Start Date
Medium of studying
Computer Science
Duration
Details
Program Details
Degree
Bachelors
Major
Computer Science | Computer Programming | Software Development
Area of study
Computer Science | Computer Programming | Software Development
Education type
Computer Science | Computer Programming | Software Development
Course Language
English
About Program

Program Overview


Program Overview

The program is titled Fundamentals of Programming and Computer Science, offered by Carnegie Mellon University. It is denoted as CMU 15-112, Fall 2025.


Program Details

  • Units: 12
  • Department: Computer Science
  • Prerequisites: None
  • Textbook: None, with course notes available on CMU CS Academy.

Program Description

A technical introduction to the fundamentals of programming with an emphasis on producing clear, robust, and reasonably efficient code using top-down design, informal analysis, and effective testing and debugging. Starting from first principles, the course covers a large subset of the Python programming language, including its standard libraries and programming paradigms. This course assumes no prior programming experience but is a fast-paced and rigorous preparation for 15-122. Students seeking a more gentle introduction to computer science should consider first taking 15-110.


Program Requirements

Undergraduate students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.


Faculty Instructors

  • David Kosbie
  • Mike Taylor

Learning Objectives

At the end of the course, students should be able to:


  • Computationally solve problems in Python using:
    • sequential, conditional, and loop statements
    • strings, lists, tuples, sets, and dictionaries
    • objects and classes
    • recursion
    • interactive graphics
  • Analyze code through code tracing to deduce the output of small programs
  • Recognize patterns to identify possible solutions to a given problem
  • Construct code using top-down design by breaking problems into smaller steps
  • Apply debugging techniques to find and fix errors
  • Design and implement a substantial program in Python with minimal guidance```
See More
How can I help you today?