Skip to content
0:00 / 0:00

#c#assembly#c++

Lecture 1 | Programming Paradigms (Stanford)

Stanford

2.2M subscribers • 18 videos on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • A classic. People kept recommending it from 2011 to 2024.
  • Presented by Jerry Cain, Professor at Stanford University

Beginner. No background in the topic needed.

1.1M views18 years ago3 recommendations

Programming languagesSystems programmingFunctional programmingObject-oriented designCompilers and interpreters

Jerry Cain introduces Stanford's CS107 course, which explores low-level memory layout, compilation, and diverse programming paradigms using C, assembly, Scheme, and Python.

Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. Professor Cain provides an overview of the course. 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. Complete Playlist for the Course: youtube.com/view_play_list?p=9D558D49CA734A02 CS 107 Course Website: CS107.stanford.edu/ Stanford University: stanford.edu/ Stanford University Channel on YouTube: youtube.com/stanford/

Why it's here

3 people recommend this

What people say. Highly recommended as one of the best lecture series for understanding how code translates to bits, bytes, and memory.

vlzon Hacker News • Recommends

On “Ask HN: What's the best lecture series you've ever seen?”

Stanfords "Programming Paradigms" for learning how code gets compiled to bits and bytes. link to this video Not the most sexy topic but it goes to a low level and gives you a clear picture of how memory is laid out, how functions translate to instructions from C, C++, then goes on to use Scheme and Python to show further paradigms. The presentation is clear and it simplifies in just the right places to give you the foundations.

killthebuddhaon Hacker News • Recommends

On “2K earthquakes in 1 day off Canada coast”

Wow, that playlist is absolute gold. These kinds of instructional, high-quality, long-form lecture series are IMO maybe the best thing on the internet. The kind of thing when I encounter it makes me take a step back and really appreciate the fundamental beauty and utility of the internet. A few other examples: - link - link - link - link to this video Sometimes I wish there was a frontend for YouTube that only has these kind of long-form lecture series, but I've never found one. I think part of the reason why is that essential "quality" is somewhat ineffable.

vibrunazoon Hacker News • Recommends

On “Please stop asking how to find a technical co-founder.”

I agree with this guy. Learning some very basic technical skills is very easy and can help you a lot. A small tip I'd like to give to any non-tech person. Is to watch Stanford's CS106a lectures on youtube: link to this video You can watch the whole thing in about a week. It gives you a decent grasp of what coding is. And they use a very friendly language that anyone can understand. It's a very small effort that will make it much easier for you to talk and understand tech people. Worth your time in my opinion, take a look. Also, it's important to note that there's almost always many alternative routes that you follow to get somewhere. While learning code yourself is a great route. It's for sure not the…

u/da1shin r/C_Programming • Mentions

On “C YouTubers”

Jerry Cain Stanford University link to this video Doesn’t get better than this.

u/rezkqin r/C_Programming • Mentions

On “I want to master C”

I read K&R C and then watched Jerry Cain's Programming Paradigms lectures through lecture 7: [video I was interested in how to make C bindings to other langs so I implemented some of the Programming Paradigms data structures as a wrapper around SQLite and then forced myself to use it in little toy apps I made for Qt desktop, iOS, and Android. Lots of effort for just a SQLite wrapper, but the whole thing was quite beautiful--now I understand memory regions and pointer ownership, and it's truly awesome knowing the entire thing down to the bytes is efficient and graceful.

u/Moro-Bin r/C_Programming • Mentions

On “Practice for beginners”

This Stanford course is a very good one for learning how to use C intelligently, like writing generic data structures. If you're familiar with the language basics (all you need to know about pointers really is that they are addresses) then you're good to start with it. It will also give you a good insight into how C instructions might be translated into assembly instructions. Later on (about lecture 15) it diverges to other topics like concurrent, functional and script programming, (you might find these interesting as well). link to this video

u/stewpend0usin r/C_Programming • Mentions

On “Self taught amateur developer want to learn low level language c vs go”

This lecture series helped me a whole lot. Just watch up till he starts talking about lisp . link to this video I think you'll find that c is actually an extremely simple language. Unforgiving, but simple. The number of features compared to c++ Python or JavaScript is much less and for me that was a refreshing change of pace. The only "new" concept in c is pointers. That lecture series helped me build a mental model of what the computer is doing and how memory works which is very helpful when it comes to pointers. Anyway.. good luck. Go is high on my list of next languages but so far c has met all of my needs.

u/rotronicin r/C_Programming • Mentions

On “Are there any good videos to introduce me to the concept of pointers?”

Check out the programming paradigms lectures from Stanford link to this video they are amazing and have an excellent lecture on pointers

u/puts_getsin r/C_Programming • Mentions

On “C for DSA? Tell me about your journey.”

…ten: * Introduction to Java Programming and Data Structures (Liang) // nope You'll start thinking about DSA in terms of the underlying machine, and not be forced to fit them into tired abstractions like OO. The only downside is that you'll fall in love with double pointers, and becomed disillusioned with languages lacking them. Other picks: * link to this video * link to this video * graph paper * graphviz (for visualizing trees while working on rotations) * the hash table in K&R…