This course gives a comprehensive, self-contained, and up-to-date introduction to the web/app development. We focus on the development challenges in real-world situations and present guidelines, tools, and best practices. Students are asked to team up and build real, useful applications (websites and/or mobile apps) accessible to the public in the end.
The classes are divided into three parts. First, we give a primer to web fundamentals such as HTTP, HTML, CSS, and Javascript. We cover different programming paradigms, including the OOP and functional programming. Handy tools such as Git are covered to get students familiar with the project-based and team-based development. In the second part, we introduce modern web development techniques such as responsive design, Bootstrap, ES6/7, React, and Redux. Last, we extend our horizon to the backend and mobile development landscapes by introducing the Node.js, PostgreSQL database system, Amazon Web Services (AWS), and React Native. We also give case studies on how to leverage Machine Learning algorithms to convert raw user data into the AI.
This course requires students to have solid understanding of
Here are some course materials and resources related to this course. For code and its details (such as assigned reading, project links, quiz, etc.) please refer to the GitLab. For online forum please refer to the iLMS system.
Alexander Osterwalder, Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers, 2010
Eric Ries, The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses, 2011
Peter Thiel, Blake Masters, Zero to One: Notes on Startups, or How to Build the Future, 2014