CS 107: Programming Paradigms
Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programmi
by Stanford University
Programming Paradigms (CS107) introduces several programming languages, including C, Assembly, C++, Concurrent Programming, Scheme, and Python. The class aims to teach students how to write code for each of these individual languages and to understand the programming paradigms behind these languages.
Source: Stanford
LECTURES:
-
article
Lecture 1:
Syllabus -
17:26
Lecture 2:
Lecture 1: Programming Paradigms -
51:04
Lecture 3:
Lecture 2: Programming Paradigms -
8 pages
Lecture 4:
Handout 1: Introducing the STL -
4 pages
Lecture 5:
Handout 2: UNIX Basics -
4 pages
Lecture 6:
Handout 3: Computer Architecture -
7 pages
Lecture 7:
Handout 4: Arrays the Full Story -
8 pages
Lecture 8:
Programming Assignment 1: RSG Instructions -
52:49
Lecture 9:
Lecture 3: Programming Paradigms -
18 pages
Lecture 10:
Handout 5: UNIX Development -
51:24
Lecture 11:
Lecture 4: Programming Paradigms - 10 pages
-
1 page
Lecture 13:
Programming Assignment 2: Six Degrees FAQ -
52:16
Lecture 14:
Lecture 5: Programming Paradigms -
8 pages
Lecture 15:
Handout 6: Memory -
51:27
Lecture 16:
Lecture 6: Programming Paradigms -
52 pages
Lecture 17:
Handout 7: Stack Implementation -
4 pages
Lecture 18:
Section Assignment 1 -
2 pages
Lecture 19:
Section Assignment 1 Solutions -
53:10
Lecture 20:
Lecture 7: Programming Paradigms -
17 pages
Lecture 21:
Programming Assignment 3: Vector Instructions -
2 pages
Lecture 22:
Programming Assignment 3: Vector FAQ -
50:44
Lecture 23:
Lecture 8: Programming Paradigms -
5 pages
Lecture 24:
Handout 8: Computer Architecture -
3 pages
Lecture 25:
Section Assignment 2 -
6 pages
Lecture 26:
Section Assignment 2 Solutions -
10 pages
Lecture 27:
Handout 9: Simple Code Generation -
51:46
Lecture 28:
Lecture 9: Programming Paradigms -
47:09
Lecture 29:
Lecture 10: Programming Paradigms -
6 pages
Lecture 30:
Handout 10: Function Call and Return -
12 pages
Lecture 31:
Handout 11: Code Generation Examples -
39 pages
Lecture 32:
Handout 12: Factorial Trace -
4 pages
Lecture 33:
Programming Assignment 4: RSS Instructions -
1 page
Lecture 34:
Programming Assignment 4: RSS FAQ -
51:48
Lecture 35:
Lecture 11: Programming Paradigms -
8 pages
Lecture 36:
Section Assignment 3 -
4 pages
Lecture 37:
Section Assignment 3 Solutions -
50:20
Lecture 38:
Lecture 12: Programming Paradigms -
2 pages
Lecture 39:
Section Assignment 4 -
3 pages
Lecture 40:
Section 4 Assignment Solutions - 6 pages
-
8 pages
Lecture 42:
Programming Assignment 5: Raw Memory Solutions -
52:27
Lecture 43:
Lecture 13: Programming Paradigms -
44:38
Lecture 44:
Lecture 14: Programming Paradigms -
52:51
Lecture 45:
Lecture 15: Programming Paradigms -
5 pages
Lecture 46:
Handout 13: Thread Package Docs -
16 pages
Lecture 47:
Handout 14: Concurrency Examples -
51:32
Lecture 48:
Lecture 16: Programming Paradigms -
3 pages
Lecture 49:
Section Assignment 5 -
2 pages
Lecture 50:
Section Assignment 5 Solutions -
49:00
Lecture 51:
Lecture 17: Programming Paradigms -
10 pages
Lecture 52:
Handout 15: More Concurrency - 3 pages
-
2 pages
Lecture 54:
Programming Assignment 6: RSS Revisited FAQ -
52:20
Lecture 55:
Lecture 18: Programming Paradigms -
1 page
Lecture 56:
Section Assignment 6 -
2 pages
Lecture 57:
Section Assignment 6 Solutions -
51:58
Lecture 58:
Lecture 19: Programming Paradigms -
13 pages
Lecture 59:
Handout 16: Introduction to Scheme -
11 pages
Lecture 60:
Handout 17: Scheme Functions -
51:46
Lecture 61:
Lecture 20: Programming Paradigms -
50:30
Lecture 62:
Lecture 21: Programming Paradigms -
12 pages
Lecture 63:
Handout 18: Functions as Data -
8 pages
Lecture 64:
Handout 19: Scheme Examples - 6 pages
-
1 page
Lecture 66:
Programming Assignment 7: Where am I FAQ -
2 pages
Lecture 67:
Section Assignment 7 -
2 pages
Lecture 68:
Section Assignment 7 Solutions -
53:25
Lecture 69:
Lecture 22: Programming Paradigms -
50:20
Lecture 70:
Lecture 23: Programming Paradigms -
48:39
Lecture 71:
Lecture 24: Programming Paradigms -
14 pages
Lecture 72:
Handout 20: Python Basics -
48:46
Lecture 73:
Lecture 25: Programming Paradigms -
5 pages
Lecture 74:
Handout 21: Networking with Python -
49:50
Lecture 75:
Lecture 26: Programming Paradigms -
4 pages
Lecture 76:
Programming Assignment 8: Python Instructions -
4 pages
Lecture 77:
Section Assignment 8 -
5 pages
Lecture 78:
Section Assignment 8 Solutions -
57:55
Lecture 79:
Lecture 27: Programming Paradigms -
7 pages
Lecture 80:
Practice Midterm -
5 pages
Lecture 81:
Practice Midterm Solutions -
6 pages
Lecture 82:
Midterm -
7 pages
Lecture 83:
Midterm Exam Solutions -
8 pages
Lecture 84:
Practice Final Exam -
7 pages
Lecture 85:
Practice Final Exam Solutions
716 users are already taking this course
- Over 85 lectures and 29.5 hrs of content!
Instructors
Frequently Asked Questions
-
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel. -
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!