Coursera and Stanford are offering a new course called "Startup Engineering." The course teaches practical software engineering fundamentals (such as deployment and source control) that aren't getting taught in college.
In the words of Jeff Atwood:
If students want to prepare themselves for a career in software development, they need to shed the theory and spend a significant portion of their time creating software with all the warty, prickly, unglamorous bits included. Half of software engineering is pain mitigation. If you aren't cursing your web hosting provider every week, fighting with your source control system every day, deciphering angry bug reports from your users every hour-- you aren't being taught computer science.
Balaji Srinivasan (co-founder of Counsyl) and Vijay Pande (founder of Folding@Home) are teaming up to teach the course, aiming to bridge the gap between computer science theory taught in schools and practical engineering skills needed to build a modern web application.
According to the syllabus, the course will cover:
- Tools: VMs, IAAS/PAAS, Unix Command Line, Text Editors, DCVS
- Frontend: HTML/CSS/JS, Wireframing, Market Research
- Backend: SSJS, Databases, Frameworks, Data Pipelines
- APIs: Client-side templating, HTTP, SOA/REST/JSON, API as BizDev
- Devops: Testing, Deployment, CI, Monitoring, Performance
- Dev Scaling: DRY, Reading/Reviewing/Documenting Code, Parallelizing
- Founding: Conception, Composition, Capitalization
- Business Scaling: Promotion, CAC/LTV/Funnel, Regulation, Accounting
I've watched the first four lectures, and they're really well done. Everything is explained from scratch, and the instructors are really good at explaining the intuition behind the commands and technology they're teaching. They also provide a lot of relevant real-world examples to ground the instruction. So I think this is going to be a great course.
There have been several companies that have sprung up to try to bridge the gap between theory and practice -- including Starter League, Dev Bootcamp, and App Academy -- but as far as I know this is the first free MOOC to provide this sort of couse.
Whether you're a current computer science undergrad, a designer who wants to learn the backend, an "idea person" who wants to learn to build a webapp, or an executive who wants to learn more about how stuff works technically, you'll be able to learn from this course.
The first and second homeworks are due next Wednesday, July 3. So there's still plenty of time to sign up.