Introduction to CS and Programming Using Python¶
Course Overview¶
- Institution: MIT
- Course code: 6.100L
- Track: Programming and Engineering Computing
- Tier: S
- Role: Mainline
- Level: Introductory
- Last reviewed: 2026-07-28
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