Hi everyone,
I’m proud to be able to finally announce something I’ve been working on for the past five years:
PWS Academy is an online education platform that aims to bring a high-quality computer science education to as many students as possible. We recognize that our industry has many problems and we want to do our part in solving them. By thinking outside of the box of traditional higher education, we aim to build high-quality courses and make them available to more students than ever before — especially those who don’t have access to affordable higher education in their area, and those who don’t have the privilege to study full-time.
This initial launch consists of just one course: “Programming with Swift: Fundamentals”. This is an introductory programming course, aimed at students with no prior programming experience. In my experience, this is the hardest audience to write for, and writing this course was one of my career goals.
Here’s what makes this course unique:
- It’s actually aimed at beginners. New topics are introduced slowly, with great care, and with plenty of exercises. Advanced topics are postponed to future courses.
- It adopts the principle of progressive disclosure and avoids forward references. Students should always feel confident about what they’ve learned so far, and should never get confused because a topic was only semi-explained or introduced too early.
- The exercises and challenges are actually challenging. This course doesn’t just teach syntax; it focuses on building problem solving skills. Mindless copy-pasting will not be sufficient to complete this course.
- Language features are introduced after the student has enough experience under their belt to truly understand them. For example: before a student learns about classes, they are tasked to build an entire game using only structures. By doing so, the student will encounter the need to share instances between multiple parts of the code, which will help them understand the need for classes.
- The course emphasizes writing clear code, adopting best practices, and following a common coding style. Bad habits are hard to correct, so this course teaches good habits from the start.
- The course goes beyond programming and includes an informal introduction to software analysis and design, so that students can learn how to tackle larger programming projects.
- The entire course is fully platform-independent and can be completed on macOS, Linux, and Windows. In particular, the course doesn’t assume the student wants to be an iOS developer. It is part of a broader curriculum and lays the foundation for subsequent programming courses.
- Last but not least: students have access to an instructor who can provide them with invaluable feedback, to correct their mistakes early on, and make sure they’re on the right track. While this does come at a cost, we try to keep everything as affordable as possible, to remain inclusive.
Get involved
Of course, this first course is only the beginning. My long-term goal for the academy is to be able to offer an accredited and well-respected Bachelor's degree, at a cost that won’t leave students in debt.
The next step towards this goal will be to recruit instructors and build out the curriculum. So if you’re reading this, you’re passionate about education, and you have expertise to share, please reach out! The Swift and iOS communities already have plenty of talented instructors, and I'm hoping to collaborate with you on the remaining courses that use Swift. Of course, the curriculum will also have plenty of courses unrelated to Swift or programming, so if you’re interested in teaching databases, operating systems, networking, AI, or anything else, feel free to contact me as well!
— Steven
PS: If you're not interested in becoming an instructor, but you want this project to succeed, feel free to give us a follow or retweet: