by ggr2342 on 6/25/23, 2:16 PM with 31 comments
by sgeisenh on 6/25/23, 3:59 PM
The course is really about developing techniques for reasoning about low-level software. You build up abstractions in C by leveraging contracts and writing proofs of correctness based on those contracts.
Explore the "Learning Objectives" section to read about what the course really entails: https://www.cs.cmu.edu/~15122/about.shtml#LO
This was the first computer science course that I took at CMU and it was absolutely mind blowing for me. I had previously taken AP CS and had played around with making games in flash and writing little programs for my graphing calculator. But this course taught me how to reason about my programs (and why that might be valuable, to begin with).
by kweingar on 6/25/23, 4:00 PM
I didn’t major in CS, but I wanted to take some CS classes. Several times I had to go back and forth with the course instructor and the director of undergraduate studies in the department, trying to convince them to let me take the class, or at least audit it or get access to the course materials if it was filling up.
I was mostly successful, but there were a couple times where I was told I simply could not take the class because I didn’t take the prerequisite. As a lifelong computer nerd and capable programmer, I could have sat the exam for the prerequisite classes without preparation and passed, but they did not allow this.
If there are open spots in the classes after all the CS majors signed up for it, then why not just let anyone take it if they’re up for the challenge? You can warn them about the prerequisite knowledge, so if they fail it’s completely on them.
by sdkgames on 6/25/23, 9:10 PM
by tempodox on 6/25/23, 2:58 PM
by wheelerof4te on 6/25/23, 3:34 PM
Step 2: See a function.
Step 3: Ctl+Click on it.
Step 4: Read the code.
Step 5: Go to step 1.
by noobdev9000 on 6/25/23, 3:16 PM