教學大綱 Syllabus

科目名稱:程式設計

Course Name: Computer Programming

修別:必

Type of Credit: Required

3.0

學分數

Credit(s)

55

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

As mentioned by IEEE Spectrum in 2022, Python ranks as the top programming language in eight sources: CareerBuilder, GitHub, Google, Hacker News, the IEEE, Reddit, Stack Overflow, and Twitter. This popularity can be attributed to Python's simplicity, making it an ideal choice for automating routine tasks performed on computers. For instance, you can use Python to collect news articles with predefined keywords from the Internet or count the number of times a button is pressed. As a professional software developer, Python provides the tools to implement not only innovative and sci-fi ideas but also real-world business models. For example, it can enable your car to navigate and visit your friend automatically while ensuring safety or help reconnect friends who have lost touch for a long time. Python is known for its interpreted, compact, and readable nature, making it one of the most extensible languages in the world. Hence, it is safe to say that "Python is just the language for you."

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


    課程目標與學習成效Course Objectives & Learning Outcomes

    There are three main goals for this course. Firstly, we aim to cultivate Pythonistas who possess fundamental knowledge of Python, have a strong interest in the language, and can effectively solve problems by leveraging Python's capabilities. Secondly, we want to encourage participants to continue their learning journey in the International College of Innovation (ICI) by enrolling in courses such as Data Science, Introduction to AI, and AI Ethics. Lastly, as this course is in collaboration with the Election Study Center (ESC), we will introduce valuable Python packages that students can utilize to develop skills relevant to Python application, equipping them to face future challenges effectively.

    每周課程進度與作業要求 Course Schedule & Requirements

    教學週次Course Week 彈性補充教學週次Flexible Supplemental Instruction Week 彈性補充教學類別Flexible Supplemental Instruction Type

    週次

    課程主題

    課程內容與指定閱讀

    教學活動與作業

    1

    Syllabus

    Self-made teaching materials

    • Lecture

    2

    Computer architecture, development environments & ChatGPT

    Self-made teaching materials

    • Lecture

    3

    Variable and Numbers

    Self-made teaching materials

    • Lecture
    • Practice
    • Homework

    4

    Collection (1)

    Self-made teaching materials

    • Lecture: Lists & Tuples
    • Practice: sort, append, delete, update

    5

    Collection (2)

    Self-made teaching materials

    • Lecture: Dicts & Sets
    • Practice: sort, append, delete, update
    • Homework: Collection challenge

    6

    Control flow (1)

    Self-made teaching materials

    • Lecture: if-else condition
    • Practice: if, else, elif

    7

    Control flow (2)

    Self-made teaching materials

    • Lecture: for-loop
    • Practice: for-loop structure, interrupt, range
    • Homework: sequence generation challenge

    8

    Control flow (3)

    Self-made teaching materials

    • Lecture: while-loop
    • Practice: while-loop structure, interrupt, range, break, continue
    • Homework: sequence generation challenge

    9

    Functions

    Self-made teaching materials

    • Lecture: functions
    • Practice: create a function, input & output arguments

    10

    Midterm Exam

     

     

    11

    Modules – Pandas (1)

    Self-made teaching materials

    • Lecture: Pandas
    • Practice: import packages, create, load csv, selection

    12

    Modules – Pandas (2)

    Self-made teaching materials

    • Lecture: Pandas
    • Practice: delete, update, append, sort
    • Homework: IMDB query (1)

    13

    Modules – Pandas (3)

    Self-made teaching materials

    • Lecture: Pandas
    • Practice: output, plot
    • Homework: IMDB query (2)

    14

    Modules - Matplotlib (1)

    Self-made teaching materials

    • Lecture: Matplotlib
    • Practice: scatt plot, bar plot
    • Homework: IMDB visualization (1)

    15

    Modules - Matplotlib (2)

    Self-made teaching materials

    • Lecture: Matplotlib
    • Practice: box plot, line plot
    • Homework: IMDB visualization (2)

    16

    Final Exam

     

     

    17

    Github online course (1)

    Online materials

     

    18

    Github online course (2)

    Online materials

    Homework: create your first Github Repo.

    授課方式Teaching Approach

    50%

    講述 Lecture

    15%

    討論 Discussion

    20%

    小組活動 Group activity

    15%

    數位學習 E-learning

    0%

    其他: Others:

    評量工具與策略、評分標準成效Evaluation Criteria

    1. Attendance (10%): This course will be an in-person class, you have to come to the classroom every week. Based on school epidemic prevention policies, we would switch to online classes (Google Meets) if the COVID-19 pandemic outbreak occurs again.
    2. Homework (30%): Homework will be assigned almost every week, and you (or your team) should submit it to the learning management system (Google Classroom) on time. This course won’t accept any delayed submissions.
    3. Midterm Exam (30%): 30-40 multiple choice questions, each one has limited response time (1-3 minutes). You can bring your own device, run the code specified in questions.
    4. Final Exam (30%): Including (1) 30-40 multiple choice questions, each one has limited response time (1-3 minutes); (2) Coding assessment, 5-10 questions to be replied in 90 minutes. You can bring your own device, run the code specified in questions.

    指定/參考書目Textbook & References

    Self-made teaching materials

    已申請之圖書館指定參考書目 圖書館指定參考書查詢 |相關處理要點

    維護智慧財產權,務必使用正版書籍。 Respect Copyright.

    課程相關連結Course Related Links

    
                

    課程附件Course Attachments

    課程進行中,使用智慧型手機、平板等隨身設備 To Use Smart Devices During the Class

    Yes

    列印