Course

# Introduction to Computer Science by FreeCodeCamp

1

2

3

4

5

### Teacher freeCodeCamp.org

We're an open source community of busy people who learn to code and build projects for nonprofits.

## Course content

1h10m

### Computational Thinking & Scratch - Intro to Computer Science - Harvard's CS50 (2018)

Learn the the basics of computational thinking and learn about the Scratch graphical programming language.

Learn the foundations of computer science in this course. This video is lecture 0 of Harvard University's CS50 2018 course.

????Notes: https://cs50.harvard.edu/x/2020/notes/0/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/0/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/0/src0.zip

??Contents??
?? (00:50) Introduction
?? (03:13) Binary
?? (09:37) Binary Lamps
?? (11:20) ASCII
?? (18:48) RGB
?? (24:00) Finding Mike Smith
?? (24:06) Computational Complexity
?? (29:44) Pseudocode
?? (32:36) Introducing Scratch
?? (33:41) meow
?? (34:04) Oscartime
?? (45:16) counting sheep
?? (49:18) pet the cat
?? (59:11) events
?? (1:01:23) functions
?? (1:06:45) Ivy's Hardest Game

Lecture taught by David J. Malan. Thanks to Harvard's CS50 for giving us permission to post this lecture. Checkout their YouTube channel for more great lectures: https://www.yout

2h13m

### C Programming Language - Intro to Computer Science - Harvard's CS50 (2018)

Learn the the basics of the C programming language.

This course teaches the foundations of computer science. This video is lecture 1 of Harvard University's CS50 2018 course (part 2 since the lectures start at 0).

????Notes: https://cs50.harvard.edu/x/2020/notes/1/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/1/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/1/src1.zip

??Contents??
?? (00:00:00) Introduction
?? (00:00:50) Week 0 Recap
?? (00:08:01) PBJ
?? (00:15:59) C
?? (00:20:56) Variables
?? (00:21:46) Incrementing
?? (00:23:36) Conditionals
?? (00:32:31) While Loops
?? (00:35:52) For Loops
?? (00:40:47) User Input
?? (00:48:14) CS50 Sandbox
?? (00:49:48) hello.c
?? (00:51:18) Compilation
?? (00:57:31) Command-Line Arguments
?? (00:58:50) make
?? (00:58:30) Debugging
?? (01:11:44) get_string and printf
?? (01:18:23) int.c
?? (01:21:58) float.c
?? (01:24:29) ints.c
?? (01:28:39) floats.c
?? (01:37:54) parity.c
?? (01:39:13) conditions.c
?

2h07m

### Arrays and Sorting Algorithms - Intro to Computer Science - Harvard's CS50 (2018)

Learn about arrays, strings, and sorting algorithms and how they work in the C programming language.

This course teaches the foundations of computer science. This video is lecture 2 of Harvard University's CS50 2018 course (part 3 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????Notes: https://cs50.harvard.edu/x/2020/notes/2/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/2/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/2/src2.zip

??Contents??
?? (00:00:00) Introduction
?? (00:00:54) Week 1 Recap
?? (00:04:47) Preprocessing
?? (00:07:05) Compiling
?? (00:09:01) Assembling
?? (00:12:36) buggy0.c
?? (00:16:13) buggy2.c
?? (00:25:14) Debugging Tools
?? (00:26:02) RAM
?? (00:29:11) Arrays
?? (00:30:01) scores0.c
?? (00:41:47) scores2.c
?? (00:49:45) scores4.c
?? (00:52:21) string0.c
?? (01:00:42) Null Terminator
?? (01:03:06) strlen.c
?? (01:06:16) asci

2h08m

### Memory - Intro to Computer Science - Harvard's CS50 (2018)

Learn about computer memory and how it relates to programming.

This course teaches the foundations of computer science. This video is lecture 3 of Harvard University's CS50 2018 course (part 4 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????CS50 IDE (must have free edX account): https://cs50.io/

????Notes: https://cs50.harvard.edu/x/2020/notes/3/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/3/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/3/src3.zip

??Contents??
?? (00:00:00) Introduction
?? (00:00:50) Enhance
?? (00:01:41) Week 2 Recap
?? (00:05:10) CS50 IDE
?? (00:14:24) check50
?? (00:18:37) debug50
?? (00:26:43) Taking Off the Training Wheels
?? (00:27:46) compare0.c
?? (00:29:54) compare1.c
?? (00:32:09) Strings Don't Exist
?? (00:41:40) compare2.c
?? (00:47:50) char *
?? (00:48:54) compare3.c
?? (00:51:09) compare4.c
?? (00:57:30) compare6.c
?? (00:59:54) copy0

2h03m

### Data Structures - Intro to Computer Science - Harvard's CS50 (2018)

Learn about data structures in the c programming language.

This course teaches the foundations of computer science. This video is lecture 4 of Harvard University's CS50 2018 course (part 5 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????CS50 IDE (must have free edX account): https://cs50.io/

????Handout: https://cs50.harvard.edu/college/guide.pdf

????Notes: https://cs50.harvard.edu/x/2020/notes/4/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/4/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/4/src4.zip

??Contents??
?? (00:00:00) Introduction
?? (00:00:50) Week 3 Recap
?? (00:05:55) memory.c
?? (00:19:48) ddb50
?? (00:21:40) Week 3 Recap, continued
?? (00:31:07) struct.h
?? (00:32:37) struct0.c
?? (00:45:22) typedef
?? (00:50:23) Linked Lists on Stage
?? (01:02:24) list0.c
?? (01:08:44) list1.c
?? (01:25:26) list2.c
?? (01:40:21) Hash Tables

1h46m

### HTTP, HTML, CSS - Intro to Computer Science - Harvard's CS50 (2018)

Learn the basics of how the web works with HTTP, HTML, and CSS.

This course teaches the foundations of computer science. This video is lecture 5 of Harvard University's CS50 2018 course (part 6 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????Notes: https://cs50.harvard.edu/x/2020/notes/5/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/5/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/5/src5.zip

??Contents??
?? (00:00:00) Introduction
?? (00:00:49) TCP/IP
?? (00:08:52) URLs
?? (00:09:44) DNS
?? (00:10:44) Dissecting a URL
?? (00:13:52) HTTP
?? (00:17:57) Developer Tools
?? (00:22:46) HTTP Status Codes
?? (00:29:23) HTML
?? (00:35:09) index.html
?? (00:40:24) image.html
?? (00:48:38) paragraphs.html
?? (00:51:42) table.html
?? (00:53:22) HTML Validation
?? (01:

1h52m

### Python - Intro to Computer Science - Harvard's CS50 (2018)

Learn the basics of the Python programming language.

This course teaches the foundations of computer science. This video is lecture 6 of Harvard University's CS50 2018 course (part 7 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????CS50 IDE (must have free edX account): https://cs50.io/

????Notes: https://cs50.harvard.edu/x/2020/notes/6/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/6/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/6/src6.zip

??Contents??
?? (0:00:00) Introduction
?? (0:00:50) Week 5 Recap
?? (0:13:01) resize.py
?? (0:16:52) Python Syntax
?? (0:23:48) Interpreting vs. Compiling
?? (0:26:52) hello.py
?? (0:29:54) string0.py
?? (0:33:02) string1.py
?? (0:35:00) ints.py
?? (0:38:26) floats.dpy
?? (0:42:58) overflow.py
?? (0:46:26) conditions.py
?? (0:50:57) cough0.py
?? (0:51:40) cough1.py
?? (0:52:19) cough2.py
?? (0:57:01) cough3.p

1h51m

### Web Programming with Flask - Intro to Computer Science - Harvard's CS50 (2018)

Learn how to program for the web using Python, Flask, JavaScript, & jQuery.

This course teaches the foundations of computer science. This video is lecture 7 of Harvard University's CS50 2018 course (part 8 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????CS50 IDE (must have free edX account): https://cs50.io/

????Notes: https://cs50.harvard.edu/x/2020/notes/7/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/7/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/7/src7.zip

??Contents??
?? (0:00:00) Introduction
?? (00:00:49) Week 6 Recap
?? (00:03:57) MVC
?? (00:05:31) froshims
?? (00:07:04) serve.py
?? (00:12:30) application.py
?? (00:21:11) froshims0
?? (00:47:00) froshims1
?? (00:54:47) froshims2
?? (01:01:36) froshims3
?? (01:09:50) froshims6
?? (01:13:51) Bootstrap
?? (01:15:22) Form Submission
?? (01:21:19) words0
?? (01:35:01) jQuery
?? (01:39:29) words1
?? (01:41:56) wo

1h52m

### SQL - Intro to Computer Science - Harvard's CS50 (2018)

SQL is a standard language for storing, manipulating and retrieving data in databases. Learn how to use SQL in this video.

This course teaches the foundations of computer science. This video is lecture 8 of Harvard University's CS50 2018 course (part 9 since the lectures start at 0).

Check out our full CS50 playlist: https://www.youtube.com/playlist?list=PLWKjhJtqVAbmGw5fN5BQlwuug-8bDmabi

????CS50 IDE (must have free edX account): https://cs50.io/

????Notes: https://cs50.harvard.edu/x/2020/notes/8/
????Problem Set: https://cs50.harvard.edu/x/2020/psets/8/
????Source Code: https://cdn.cs50.net/2019/fall/lectures/8/src8.zip

??Contents??
?? (0:00:00) Introduction
?? (0:00:50) Week 7 Recap
?? (0:04:02) C\$50 Finance