Course Title: Adults Intermediate Python Programming

Date and Place:


Following please find the schedule:

Date Start Time End Time Classroom
06/15/2017(Thr) 7:00 PM 9:30 PM G5
06/22/2017(Thr) 7:00 PM 9:30 PM G5
06/29/2017(Thr) 7:00 PM 9:30 PM G5
07/06/2017(Thr) 7:00 PM 9:30 PM G5


This Adults Intermediate Python class is designed for adults who have done Python programming before. This course will teach students how to build a web application that interacts with PostgreSQL database using Python. Students will also learn how to check in/out code using git and host a web application on Heroku for free. At last, students will learn how to write a web scraping program in Python.


Python is a language with simple syntax, but with a powerful set of libraries. It is also a popular language to be used to build a web application. After taking this course, you should be able to:
  1. use Python to build a web application based on Pyramid web framework
  2. design simple web pages using HTML and CSS
  3. use HTML forms to interact with backend Python code
  4. use JavaScript to do input validation
  5. create a table and insert/update/delete data using PostgreSQL database
  6. check in/out your code using git
  7. host your web application on Heroku for free
  8. write a web scraping program in Python


This is an intermediate Python course, so a minimum amount of Python programming experience is required. A successful student must have done Python programming before and known some basic web page design concepts.


Course Schedule

Day1(06/15, Thr) Day2(06/22, Thr)
Install Pyramid Web Framework Start a Web Application Introduction to HTML/CSS Modify HTML/CSS on web pages Write a HTML Form Write a Python Backend Form Action Handler Introduction to JavaScript Write JavaScript that Validates HTML Form Inputs Create a Heroku Account Install Heroku Command Line Tool Submit Code to Heroku Using Git Configure an Application on Heroku
Day3(06/29, Thr) Day 4(07/06, Thr)
Install PostGreSQL Client Introduction to Database Create a Database Table Select/Insert/Update/Delete Data Interact with Database in Python Search/Add/Update Data from a Web Form Web Scraping Program in Python

Homework Policy

Homework will be assigned every day and will be due by noon next day. Homework will be uploaded to Google drive where the instructor will check it daily. Although completion of homework is not required, it is strongly recommended.

Class Notes:

Instructor: Joshua Huang

Joshua Joshua is a passionate high school student who started programming when he was in 5th grade. The programming languages Joshua uses include Python, Java, SQL, JavaScript and HTML. He works for a startup company as a software contractor in 2017 summer, as a software engineering summer intern in 2016 and as a software testing summer intern in 2015. Joshua taught a Youth Intermediate Python Programming class in April, 2017 and a Youth Beginner Python Programming class in 2016. He served as a teaching assistant for a Learn to Program with Python(for Youth) class in 2015.

Co-Instructor: Paul Huang

Paul Paul has been working in software industry in bay area for more than 20 years. He used to work for Oracle, Inktomi, Electronic Arts and several startup companies. Paul holds an MS in Computer Science from Stanford University and is a director of engineering for a software company currently.


  1. To assure all students have some Python programming exeprience, please write just ONE of the following two Python programs
    1. that
      • Allows users to enter a string containing words separated by a space ' '
      • Output the words in reverse order in a string.
      • The input and output of the program are something like:
        $ python
        Enter a string of words separated by a space ' ': 'dogs love cats'
        A string with words in reverse order is: cats love dogs
      • HINTS:
        • Use input function to read a string. Remember to include the beginning and ending quotes when entering a string
        • Use string split function to split the string by a space and have a list: string_words.split(' ')
        • Reverse the words in the list by list_words[::-1]
        • Then print a string by joining a space with all words in the list: " ".join(reversed_list_words)
    2. that
      • Allows users to enter a list of numbers separated by ','
      • Output the maximum number.
      • The input and output of the program are something like:
        $ python
        Enter a list of numbers separated by ',': 3,12,1,2,5,7,8
        Maximum number is: 12
      • HINTS:
        • Use input function to read a list of numbers as a tuple.
        • Convert a tuple to list by list(a_tuple)
        • Use list.sort(reverse=True) to sort the list
        • Then output list[0]
  2. Then send an email to with your name and attach your program EITHER OR to the email.
  3. Instructor will email you with steps to register the class.
  4. Registration fee is $80. It is fully refundable only if it is canceled 72 hours before class begins. After that, no refund, no credit, will be accepted.
  5. A workable notebook with Python and IDE installed.
  6. The student needs to follow general school class rules and TSG class rule if specified.
  7. Accept that this is a good-will and volunteering work and is our best-effort operations.