Web Programming, Technologies, and Applications

from Ideas to Systems to Real Impact

Description

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.

Syllabus(Tentative)

Instructor

Teaching Assistants

Time & Location

  • Video lectures: announced at Mon. afternoon
  • Labs: Mon. 3:30-5:20pm at Delta 105
  • Office hour: Wed. 3:30-5:20pm at Delta 729

Grading Policy

  • Labs & homework: 40%
  • Idea: 10%
  • Idea validation: 10%
  • Design demo: 20%
  • MVP demo: 20%

Prerequisites

This course requires students to have solid understanding of

  • Data Structure,
  • Programming (in C/C++ or Java)
and the ability to trace a nontrivial project (e.g., one on the GitHub). We use Javascript as the main programming language throughout the course. Although being helpful, prior knowledge about Javascript is not necessary.

Curriculum

If you have any feedback, feel free to contact: shwu [AT] cs.nthu.edu.tw

Lecture 00

Introduction

About This Course... | FAQ

Slides

Resources

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.

GitLab iLMS System

Reference Books

  • 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

Online Tutorial