--- title: "APCS: C++ Programming" tags: computer science, c++ --- <center> # **APCS: C++ Programming** :::info Location: Room 223B, 德田館 Time: 14:00 ~ 17:00 ::: </center> <div style="text-align: right">``What I cannot create, I do not understand.''<br>-- Richard Feynman ![image](https://hackmd.io/_uploads/BypHLC7Ngx.png =100x) </div> <div style="text-align: right"> ``Talk is cheap. Show me the code.''<br>-- <a href = "https://github.com/torvalds">Linus Torvalds</a> ![](https://hackmd.io/_uploads/ryXbSCQVlx.png =100x) </div> <div style="text-align: right">``Either run for food, or run from being food.''<br>-- Jen-Hsun "Jensen" Huang ![image](https://hackmd.io/_uploads/SJ79UAQElx.png =100x) </div> ## **Class Information** ### Instructor - Name: 盧政良 (Zheng-Liang Lu, Arthur) - Email: arthurzllu@gmail.com ### Objectives - Learn how to write computer programs in C++1x - Understand basic concepts of computer science - Comprehend computational thinking - Exploit computers (even AI tools) to solve problems ### Prerequisites - Logic in daily / school life - Arithmetic and algebra: High-school math disciplines ### Development Environment - Online IDE: https://ideone.com/ <font size = -1 color = "gray">Ideone is an online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.</font> - Offline IDE: [Dev-C++ Official Website](https://www.bloodshed.net/) or [download link](https://sourceforge.net/projects/orwelldevcpp/) <font size = -1 color = "gray">You may use this software for your homework, instead of ideone.com</font> - Wi-Fi Access in the classroom - SSID: CSIE_guest - Account: guest_PPNFH - Passwords: K4YGTNNQ ### Recording Classroom Lectures Policy :::warning Recording of classroom lectures is <font color="red">**prohibited**</font> unless advance written permission is obtained from the class instructor and any guest presenter(s). ::: ## **Overview** ### Basics of C++ - Introduction to computer systems: CPU-memory model - Data types (int, double, string, bool), variables, operators - Flow controls: branching & repetitions - Algorithms & time-complexity analysis - Arrays - Functions & recursion - Pointers - Structure in C / C++ - Object-oriented programming (OOP) - New features in C++ - Data structure implementation: Linked list, binary tree - Use bits/stdc++.h for APCS exams ## **Schedule <font size = -2>[270, 272, 285, 287, 300, 302, 309, 314, 316, 324, 325, 327, 331, 332, 333, 338, 339, 362, 363, 378, 389, 393, 403, 412, 414, 435, 442, 443]</font>** TBD ## **Gradebook** <p> <iframe src="" width=800px height=800px></iframe> </p> ## **References** ### C++ - 劉邦鋒,++*由片語學習C程式設計*++, 2019, 2/e <font size = -1>[official web](https://sites.google.com/view/c-programming-2ed/home)</font> ![](https://hackmd.io/_uploads/Sk7AlcvK9.png =150x) - Josh Lospinoso, ++*C\+\+ Crash Course: A Fast-Paced Introduction*++, 2019 <font size = -1>[official web](https://ccc.codes/)</font> ![](https://i.imgur.com/WsJQO1f.jpg =100x) ### MISC - https://www.itread01.com/content/1547093362.html