mikeyk 2 days ago

I took CS193P when it was first offered in 2007; one of my favorite classes at Stanford because it was so hands-on. At the time few people had iPhones, so everyone in the class got a free iPod Touch for development. My final project was a photo sharing app with a Polaroid shake to reveal mechanic… lightly influenced Instagram which Kevin and I built a few years later!

  • boulos 2 days ago

    I can't seem to find the 2007 webpage (maybe it was one of the wiki-based ones?) but the 2008 syllabus looked very hands on: https://web.archive.org/web/20081208171743/http://stanford.e...

    I never took 193p, but I always found 148 to be hands on, and I made it very hands on for the year I contributed: https://web.archive.org/web/20130522184434/https://graphics.... .

    I regret that we put my subdivision assignment as the last one, and we allowed students to skip one assignment. Most students skipped it, but those that did the work thought it was super cool to have their own subdivision tool for making smooth meshes.

  • explodes 10 hours ago

    God I love Hacker News.

  • big_toast 2 days ago

    If you were a student in 2025, is CS193P (looks swiftUI rendering heavy) still the hands-on foundation for the next-big-tinkerer or would it look more like building around affordances of AI? (or something else).

  • websap 2 days ago

    You built a solid app!

  • iberator 2 days ago

    Wow. Thank you for your service

    • brazukadev 2 days ago

      Yeah. Instagram was lovely. It might be disheartening to see what it became, what it does to people's minds for a profit, the costs for society as a whole.

  • bbrmaley 2 days ago

    how did course exist in 2007 ? App Store and sdk was released in 2008

    • mikeyk 2 days ago

      ah you’re right, I was off by one! 2008 was the year.

      • csar a day ago

        Love the throwbacks.

        I wasted a few minutes earlier today trying to find the original website for the Cocoa class that Tristan helped set up a few years before this one got started.

mobiledev2014 2 days ago

This course was integral in kicking off my career over a decade ago. I think there's no better way to learn to build an iOS app, and the fact that it's free is a true gift. Pre-reqs are in the first lecture:

-Experience writing code (100% of the work in this course involves programming) -At least CS106A (Programming Methodology) + CS106B or X (Programming Abstractions) and CS107 (Computer Organization & Systems); CS108 (Object Oriented Programming), CS43 (Functional Programming Abstractions), CS11O (Principles of Computer Systems), CS147 (Introduction to Human Computer Interaction Design) are awesome! -Know some "structured" programming paradigm, e.g. OOP or Functional Programming -Preferably you know more than one language (cause you're gonna learn a new one here!)

pocketlim 2 days ago

This was my first learning experience with iOS around late 2012. Watched all the lovely videos and did the homeworks just to learn, and eventually went on to write lots of probably horrible working code for early Tinder. At least we had a QA team that rocked back then.

Thanks Paul! Could not have asked for a better intro to working with Objective-C at the time. The fact that this is free and everyone can learn with it is awesome!

rubansk 2 days ago

I love cs193p! Paul Hegarty is an incredible teacher. I did the course twice [1], first in 2020 as a programming noob who just threw everything into one file. His teaching of MVVM was my first introduction to proper software architecture. Then I went through it again last year as a refresher before building my first app and even on the second run, his lectures were fun to listen to.

[1] https://github.com/sk-ruban/CS193p

ChrisMarshallNY 2 days ago

Very cool! Thanks for sharing this.

Not sure if I'll do it, myself, because I think I may have already gotten past it, but that's been a long, painful slog. Wish I had this resource a few years ago.

hamish-b 2 days ago

Excellent course (I did mine ~2019), super grateful to Paul and Stanford for continuously releasing it publicly and updating them all these years later.

4pkjai 2 days ago

I did the 2014 version of this to learn Swift to port an Android app I made.

He’s an excellent teacher!

I think he worked at Apple so he shared a lot of the history behind the APIs in iOS going back to the NextStep days.

generalpf 2 days ago

This is the course I used online to learn Objective-C and UIKit to make iOS applications, and now I am a Staff iOS Engineer. Nice to see him still doing this.

rudedogg 2 days ago

I'm thankful these are given away for free, but a little sad all the videos are only in 720p

zerr 2 days ago

Why did they cancel the Android alternative of this course?

jruz 2 days ago

Wow man been waiting for this to be updated for ages!

tritip 2 days ago

This is a lovely surprise. Fantastic resource.

neilv 2 days ago

[flagged]

  • greentea23 2 days ago

    When I was in school, the corporate shill language was MATLAB, and even today not every program has moved on to greener pastures (Python/numpy, Julia). But doesn't Swiftui support Android now? https://github.com/skiptools/skip, I'm extremely skeptical and critical of anything Apple does, and I don't like programming languages without critical mass of community and corporate contributers, but seems like Swift is going in the right direction here.

    • GeekyBear 2 days ago

      Swift is a cross-platform compiled programming language that offers memory safety as a tentpole feature.

      SwiftUI is a platform specific API for developers who are writing native apps for that platform.

      You can think of Swift as being similar in concept to Rust and SwiftUI as being similar in concept to Win32.

      • wahnfrieden 2 days ago

        SwiftUI is also now an API for writing Android native apps, too.

        I don't know why you skipped over that part? It's maybe like when Google rewrote Java. Win32 is a bad comparison because there's no Win32-compatible API for native apps on other platforms (that I know of?) except for emulation, but the Android SwiftUI project is not using emulation, it runs the code natively and the result is native Android UI.

        • GeekyBear 2 days ago

          Apple has not released a version of the SwiftUI framework for Android.

          There are third party attempts to create something that lets SwiftUI code run on Android, just as Wine is third party software that allows you to run Win32 apps on Linux.

          For example:

          > Bringing Swift and SwiftUI to Android

          https://skip.tools/blog/bringing-swift-to-android/

          • wahnfrieden 2 days ago

            No one said it's first-party. And it's a good thing that it's not first-party! We want multiple options for deploying our code.

            As I said, Wine provides emulation. But the SwiftUI on Android project does not emulate - it runs your SwiftUI code natively (as Swift that is compiled for Android), and maps it to native Android components, fully accessible and meeting platform expectations.

            Completely different result and experience.

            This also means that you can extend the SwiftUI on Android code with Android-specific code that will not run on iOS, to add other Android-specific UI. This is impossible with Wine + Win32.

    • wahnfrieden 2 days ago

      https://swiftcrossui.dev is also promising for somewhat SwiftUI compatible APIs across desktop OSs

      • bigyabai 21 hours ago

        I like LLVM, and I enjoy a good UI focused-language like Vala or Obj-C. Building with or contributing to Swift is a waste of my time as a Linux developer, it was in 2018 and it still is in 2025. Foundation will not fully support Linux until the late 2030s, and even a fully-implimented SwiftUI translation is still ignoring basic GNOME HIG and lagging behind best-practices. I would not be developing apps I want to use, or ship to users on other platforms. Electron would be preferable to cross-platform SwiftUI, and deep down you know it.

        And that's my sympathetic opinion, as a Linux developer who loves their native UI trinkets and pseudopolish. Windows developers have dozens more options and likely won't find out Swift ever existed until Swift 2 is announced during a keynote presentation. Broader adoption of Swift has simply failed. If the language disappeared tomorrow, I wouldn't know as nothing on my system consumes Swift as a dependency according to nix-tree.

  • Austin_Conlon 2 days ago

    I think it’s only the 193 series of classes that are industry-related electives. Swift is open source too.

  • almostgotcaught 2 days ago

    People have such strong delusions about universities (and they're so vocal about them too).

    • neilv 2 days ago

      Not delusions. Ideals. And reactions to erosion.

      • almostgotcaught 2 days ago

        You can't have ideals about other people's things - you want to be idealistic (ideological?), feel free to start your own uni.

        • neilv 2 days ago

          Academia and higher education have long-established ideals, institutions receive considerations from society in light of that, and they are also supposed to be regulated in some ways (e.g., accreditation).

          I think a better defense than the libertarian "don't tell me what to do with my property" would've taken the angle that "university X isn't actually becoming a factory for pumping out techbro libertarian scourges of society".

canyp 2 days ago

I am surprised that a university with the renown of Stanford would have a course specifically on "the fundamentals of how to build applications for iPhone and iPad using SwiftUI." Not even mobile UI/UX, or UI/UX principles in general; straight up yolo iOS.

How do people not find this absolutely egregious?

At my uni, we organized protests for much smaller intrusions of corporate interests into education.

Is Stanford not much better than a bootcamp these days?

  • windows_hater_7 2 days ago

    > Is Stanford not much better than a bootcamp these days?

    Rage-bait?

    Universities are criticized for not providing enough economic value and real job training, yet when they do, they are labeled corporate shills.

    • canyp 2 days ago

      No? It was a legitimate question because there have been similar trends in other unis around the world, and I am not personally acquainted with Stanford things. I always held Stanford in high regard.

  • axus 2 days ago

    There was no Android, app store was new, there were no app bootcamps. In 2025 if you wanted to offer a hands-on quantum computing class for Computer Science (not Physics), you'd need to pick a corporate product.