ES 26: Introduction to Computer Programming

OVERVIEW


This is the homepage of ES 26 HIJ/TXY this Second Semester AY 2018-2019.

ANNOUNCEMENTS


[22 Jan]   No class today. :(


[2 May] ME 10 Specs here.

ACTIVITIES


WeekDateLessonSlides
115/17 JanIntroductionlink1, link2
222/24 JanAlgorithm Designlink
329/31 JanProgramming Basicslink
45/7 FebT (CNY) / Th - No Lab
 5 12/14 FebConditionalslink
 6 19/21 Feb

726/28 FebIteration Ilink
85/7 Mar  Iteration II link
912/14 Mar    Iteration III  
10 19 Mar  
11 26/28 MarReview/LE1  
12 2/4 April Listslink
13  Strings/ Functionslink1, link2
14 HOLY WEEK  
15  link
sw_code
16   


SCHEDULE OF LONG EXAMS


 LE 1  
 LE 2  


PYTHON INSTALLATION


The lab machines have Python 3.4. For consistency, install Python 3.4 on your own machine for your practice coding.

Windows

Linux
You probably have Python 3, but hey

Mac OS X


LEARNING RESOURCES


Documentation

Official Python 3 Documentation


Python 3 Standard Library

https://docs.python.org/3/library/


Textbooks/Tutorials

Dive into Python: survey of Python syntax, datatypes, etc.

Think Python by Allen Downey: a good general overview of the Python language. Includes exercises.

The Official Python Tutorial: self-explanatory

Learn Python The Hard Way: (note: for Python 2) another free online text

Reserved keywords in Python: don't use these as variable names

PEP 8:  learn what is good and bad style in writing Python code

Python Tutor: interactive tutorial sequence of exercises


Debugging

Python Tutor: an excellent way to actually visualize how the interpreter actually reads and executes your code

DiffChecker: compares two sets of text and shows you which lines are different

Debugging in Python: steps you can take to try to debug your program


Q&A

Stack Overflow: a large Q&A forum for programming concepts