# Program in Python This is a jupyter book for the course *CS1302 Introduction to Computer Programming* at City University of Hong Kong. The course aims to introduce key concepts, techniques, and good practices of programming using a high-level programming language Python. **Course Intended Learning Outcomes (CILOs):** 1. Explain the structure of a computer program. 2. Analyze, test and debug computer programs. 3. Apply proper programming techniques to solve a task. 4. Construct well-structured programs. You may interact with the notebooks using the toolbar at the top of a page: ![Launch notebooks](launch.dio.svg) - The last menu allows you to download the page as an interactive a jupyter notebook (`.ipynb`) or a PDF (`.pdf`) to your computer. To run the notebook locally, follow the instructions [here](https://github.com/ccha23/cs1302jupyter/) to install the jupyter environment. - The second menu links to the public github repository hosting the notebooks. If you find any issues, you can report them to the repository. - The first menu allows you to launch the notebook to different jupyter services. - `JupyterHub` is for registered students. It has persistent storage and `nbgrader` course set up for submitting assignments. - `Binder` is accessible by everyone but the resources such as storage are temporary. The server will be culled if it is idle for a while. - `Colab` is for users with google accounts. It has persistent storage but required packages may have to be installed by running `!pip install {package}` in a code cell. - `Live Code` is useful if you want to execute code directly in the html page. Required packages may be missing and there is no persistent storage.