Skip to content

Introduction to CS and Programming Using Python

Course Overview

MIT's Introduction to CS and Programming Using Python builds the Python programming spine needed for EE study, with current Python 3 videos, notes, practice, labs, and code.

Why choose this course

Mainline course. A particularly complete and well-structured option for this track.

Before you start

  • No hard prerequisite is recorded; check the provider page before starting.

Verifiable learning outcomes

  • Explain the core models in Programming and Engineering Computing, including their assumptions and limits
  • Solve representative derivations and problems, checking units, limiting cases, or numerical results
  • Complete a reproducible experiment or implementation with raw data, parameters, versions, and verification

Workload and pacing

13 weeks at 11 hours/week. This maintainer planning estimate is derived from course role and the density of public practice and labs; it is not a provider workload promise. Pilot two weeks while logging instruction, practice, lab, and review time, then adjust the remaining plan when actual effort differs by more than 25%.

Safety level

Simulation only. The default practice scope is software, computation, or simulation only; a lab label in the resource inventory does not authorize connecting physical equipment, and any hardware extension requires provider-scope verification and a new risk assessment.

Course Resources

Software, hardware, and cost

Software

  • Maintainer-suggested open-source/free verification path: Python 3, Git, pytest, Jupyter, and VSCodium or a comparable editor
  • The resource inventory lists public code coverage; pin interpreter, dependencies, toolchain, datasets, and PDK versions where applicable

Hardware

  • The resource inventory lists lab coverage; the maintainer path treats it as computational/simulation work unless the provider lab manual explicitly says otherwise. It assumes only a general-purpose computer that can run tests, version control, and notebooks; no dedicated physical hardware is assumed. If the provider lists different equipment or compute requirements, follow its course page

Cost note

The suggested software stack is available open source or free; this is maintainer planning, not a provider requirement. If the provider specifies commercial licenses, cloud compute, storage, or institutional resources, costs vary by plan, region, and institution, so no fixed price is asserted here.

Public resource coverage

Resource type Completeness
Video Complete
Notes Complete
Practice Complete
Labs Partial
Exams No public material
Code Complete

Resources and access

Resource Access License Status Verified
Course home Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Finger Exercises Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 0 Code Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 0 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 1 Code Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 1 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 2 Code Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 2 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 3 Code Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 3 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 4 Code Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 4 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Problem Set 5 Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Buy at MIT Press Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
file 6 MB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
file 5 kB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
file 186 kB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
file 17 kB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
file 205 kB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
file 2 MB Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Calendar Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Instructor Insights Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Lecture 10: Lists, Mutability Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28
Lecture 11: Aliasing, Cloning Open access CC BY-NC-SA 4.0 for site materials; third-party exclusions may apply Listed by official page 2026-07-28

“Listed by official page” means the link was discovered on a successfully fetched official source on the verification date; it does not guarantee that every region or account can open the target directly. Access does not grant redistribution rights. Re-check the provider page, target link, and third-party notices before downloading, adapting, or publishing material.

Practice and Verification

Practice loop

Introduction to CS and Programming Using Python · MIT 6.100L: Reproducible Engineering-Computing Tool

This is a maintainer-suggested self-study project for Introduction to CS and Programming Using Python · MIT 6.100L, not an official course assignment. Implement a command-line tool for Programming and Engineering Computing that ingests engineering data, computes metrics, and builds a report, with emphasis on interfaces, numeric boundaries, and repeatable builds.

Origin: Maintainer-suggested project

Deliverables

  • Command-line source code with typed or documented interfaces, CSV input, and machine-readable JSON output
  • At least 20 unit tests, five integration tests, and a compact benchmark dataset
  • Raw benchmark outputs, runtime and peak-memory records, and malformed-input logs
  • A user and design report covering algorithms, complexity, compatibility, and known limitations

Verification

  • Pass all tests in a clean environment with at least 85% coverage or document unreachable paths
  • Return a nonzero exit code and readable error for empty files, NaNs, huge values, and wrong column names
  • Cross-check at least ten numeric outputs against a second library or hand calculation within 1e-9
  • Measure time and memory at ten times the data size and compare growth with the claimed complexity

Reproducibility

  • Commit versioned sources, tests, example data, a README, and licensing notes
  • Pin compiler or interpreter, dependencies, and operating-system details and provide one-command install and test
  • Preserve raw benchmark data and report-build logs with checksums

Safety boundary: Simulation only — Process only synthetic or public example data in the repository; do not run untrusted inputs with administrator privileges.

Risks, gaps, and boundaries

Current Python 3 materials; the absence of exams is not a critical gap for this skills course.

Completion evidence

  • Weekly learning log with time, questions, corrected errors, decisions, next steps, and links to that week's reproducible artifacts
  • Code repository with pinned dependencies and toolchain, a minimal run command, tests or waveform/benchmark checks, expected output, and license notes
  • Simulation package with model or netlist, inputs, solver and version, parameter-sweep script, benchmark comparison, expected results, and one rerun command