Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Stanford University

Stanford Seminar - Programming Should Be More Than Coding

Stanford University via YouTube

Overview

Explore the fundamental aspects of programming beyond coding in this Stanford seminar. Delve into the three essential tasks of programming, examining how to think more clearly about problem-solving and the relationship between models and reality. Learn about specifying program behavior, including formal specifications and their limitations, using examples like Euclid's Algorithm and the Xbox 360 memory system. Discover the importance of clear specifications, when to use formal specs, and how to connect specifications to code. Gain insights into effective programming practices and the skills needed to write comprehensive specifications for complex systems.

Syllabus

Introduction.
The 3 Tasks of Programming.
A Really Easy Problem.
How Can We Think More Clearly?.
Models versus Reality.
Computer Science.
What's a Program?.
Task 1: Specifying What the Program Does.
Our Example: A GCD Program.
Reality versus Model.
Limitations of the Function Model.
The Standard Behavioral Model.
Task 2 for Euclid's Algorithm.
The Complete Task 2 Specification.
What About Formal Specs?.
The Language: TLA.
The Problem with TLA.
The XBox 360 Memory System.
Why not a formal spec?.
What is Typical About This Spec.
What is Not Typical About This Spec.
What code should you specify?.
What should you specify about the code?.
How do you learn to write specs?.
How do you learn to write formal specs?.
How do you connect the spec to the code?.
What about coding?.

Taught by

Stanford Online

Reviews

Start your review of Stanford Seminar - Programming Should Be More Than Coding

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.