Skip to main content
CoursebeginnerFree

CS61A: Structure and Interpretation of Computer Programs

Pamela Fox et al.

Learn fundamental programming concepts with CS61A, an intro-level CS course from Pamela Fox et al. Explore structure & interpretation of programs!

Visit resource

More resources on Introduction to CS

WebsiteFree

NandGame

Interactive Nand to Tetris game for hardware basics

WebsiteFree

CS50 Harvard

Official CS50 course website with free materials

WebsiteFree

Teach Yourself Computer Science

Curated guide to CS self-study with free resources

CourseFree

Introduction to Computer Science and Programming Using Python

An introduction to computer science as a tool to solve real-world analytical problems using Python 3.5.

CourseFree

Nand2Tetris

What you’ll achieve: In this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed. What you’ll need: This is a self-contained course: all the knowledge necessary to succeed in the course and build the computer system will be given as part of the learning experience. Therefore, we assume no previous computer science or engineering knowledge, and all learners are welcome aboard. You will need no physical materials, since you will build the computer on your own PC, using a software-based hardware simulator, just like real computers are designed by computer engineers in the field. The hardware simulator, as well as other software tools, will be supplied freely after you enroll in the course. Course format: The course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 5-10 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling "nand2tetris TED talk". *About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share.

PodcastFree

CodeNewbie

The CodeNewbie podcast was born from CodeNewbie, an organization which fosters a supportive, international community of people learning to code. Each season, host Saron Yitbarek delivers stories and interviews from people of diverse backgrounds and expertise about their coding journeys, as well as beginner friendly discussions about the tech you should know about.

See all Introduction to CS resources →