13 comments

  • mikeyk 7 hours 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 5 hours 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.

    • big_toast 6 hours 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 7 hours ago
      You built a solid app!
    • bbrmaley 4 hours ago
      how did course exist in 2007 ? App Store and sdk was released in 2008
      • mikeyk 2 hours ago
        ah you’re right, I was off by one! 2008 was the year.
    • iberator 6 hours ago
      Wow. Thank you for your service
      • brazukadev 5 hours 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.
  • hamish-b 5 minutes 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.
  • ChrisMarshallNY 22 minutes 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.

  • pocketlim 3 hours 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 5 hours 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

  • mobiledev2014 5 hours 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!)

  • generalpf 4 hours 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 1 hour ago
    I'm thankful these are given away for free, but a little sad all the videos are only in 720p
  • 4pkjai 8 hours 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.

  • tritip 7 hours ago
    This is a lovely surprise. Fantastic resource.
  • jruz 8 hours ago
    Wow man been waiting for this to be updated for ages!
  • neilv 7 hours ago
    [flagged]
    • greentea23 4 hours 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 3 hours 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 3 hours 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 1 hour 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 32 minutes 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 4 hours ago
        https://swiftcrossui.dev is also promising for somewhat SwiftUI compatible APIs across desktop OSs
    • Austin_Conlon 5 hours ago
      I think it’s only the 193 series of classes that are industry-related electives. Swift is open source too.
    • almostgotcaught 6 hours ago
      People have such strong delusions about universities (and they're so vocal about them too).
      • neilv 3 hours ago
        Not delusions. Ideals. And reactions to erosion.
        • almostgotcaught 3 hours ago
          You can't have ideals about other people's things - you want to be idealistic (ideological?), feel free to start your own uni.
          • wahnfrieden 26 minutes ago
            Yes you can
          • neilv 1 hour 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 4 hours 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 4 hours 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 3 hours 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 1 hour 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.