教學大綱 Syllabus

科目名稱:Python入門與商業分析應用

Course Name: Introduction to Python for Business Analytics

修別:選

Type of Credit: Elective

3.0

學分數

Credit(s)

20

預收人數

Number of Students

課程資料Course Details

課程簡介Course Description

This course introduces students to Python programming. The first part will cover foundational topics on data types, data structures, control flow,  function, and method. The second part will discuss Python applications in business analytics. Students will learn to use popular Python packages, including NumPy, Pandas, Matplotlib, Statmodels, Requests, and SciPy. We will also discuss the use of API in acquiring macroeconomic data, stock prices, corporate filings, and internet search volume from internet sources such as FRED, DBnomics, BLS, SEC Edgar, Yahoo!, and Google.

This is a distance-learning (遠距課程) course. We will only meet in the classroom for Week 1 (Course Overview), Week 11 (Brainstorming Session), Week 15, and Week 16 (Project Presentations).

核心能力分析圖 Core Competence Analysis Chart

能力項目說明


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

    1. Learn the basics of Python programming

    2. Applications of Python packages

    3. Business Analytics with Python

    4. Develop tools in Python

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

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

    週次

    授課內容

    學生指定閱讀資料

    授課方式

    1

    Course overview

    Learning objectives: Introduce students to the interactive JupyterLab environment. Overview of Python applications in business analytics. Installation of the Anaconda distribution.

    Course design: Presentation slides, news articles, and computer demonstrations.

    Classroom session to introduce the topics, assessments, and class delivery options.

     

    面授 □遠距

    2

    Basic data types

    Learning objectives: Introduce built-in data types including str, int, float, bool, NoneType and etc. Illustrate basic math operations and text manipulations.

    Course design: Computer demonstrations.

    Assessment: Homework 1

    ABSP Ch1, JupyterLab

    □面授 遠距

    3

    Flow control I

    Learning objectives: Explain the concepts of comparison operators and True-False tables.

    Course design: Flow charts and computer demonstrations.

    Assessment: Homework 2

    ABSP Ch2, JupyterLab

    □面授 遠距

    4

    Flow control II

    Learning objectives: Automate processes with while- and for-loop.

    Course design: Flow charts and computer demonstrations.

    ABSP Ch2, JupyterLab

    □面授 遠距

    5

    Functions and methods

    Learning objectives: Write functions to reuse code. Discuss concepts in recursive functions.

    Course design: Computer demonstrations and applications of recursion.

    Assessment: Homework 3

    ABSP Ch3, JupyterLab

    □面授 遠距

    6

    Basic data structures I

    Learning objectives: Introduce the list, indexing, and list methods.

    Course design: Computer demonstrations and apply flow controls to list.

    ABSP Ch4, JupyterLab

     

    □面授 遠距

    7

    Basic data structures II

    Learning objectives: Introduce dict and tuple; keys and values; mutable and immutable data structures.

    Course design: Computer demonstrations and applications of data structures.

    Assessment: Homework 4

    ABSP Ch5, JupyterLab

    □面授 遠距

    8

    NumPy and Pandas I

    Learning objectives: Numerical computations in Python, arrays, and matrix operations.

    Course design: Computer demonstrations and applications of NumPy.

    PDA Ch4,5, JupyterLab

    □面授 遠距

    9

    NumPy and Pandas II

    Learning objectives: Pandas dataframe; attributes and methods of dataframe. Data import and cleaning.

    Course design: Computer demonstrations and data analysis with NumPy and Pandas.

    Assessment: Homework 5

    PDA Ch6,7,8, JupyterLab

    □面授 遠距

    10

    Web-scraping

    Learning objectives: Automate data gathering from websites;  Application Programming Interface (API).

    Course design: Computer demonstrations and applications of API with economics and finance data.

    ABSP Ch12, JupyterLab

    □面授 遠距

    11

    Brainstorming session for project

    Learning objectives: Encourage innovation through a capstone project. Develop a roadmap for doing data analytics with business applications. Discuss the feasibility of students’ ideas. Q&A on technical issues.

    Course design: Group discussions and in-class presentations.

    Classroom session to discuss with students on potential topics for the semester project.

    面授 □遠距

    12

    Data visualization

    Learning objectives: Visualize data with matplotlib and seaborn. Compare and constrast data visualization tools.

    Course design: Computer demonstrations and interactive plotting with real-world data.

    Assessment: Homework 6

    PDA Ch9, JupyterLab

    □面授 遠距

    13

    Manipulating strings

    Learning objectives: Methods and functions for manipulating strings. Import and export string data.

    Course design: Computer demonstrations.

    ABSP Ch6, JupyterLab

    □面授 遠距

    14

    Textual analysis

    Learning objectives: Dictionary approach for counting words; word clouds; document-term matrix; text-mining.

    Course design: Computer demonstrations with applications of English and Chinese corpora.

    Lecture notes and JupyterLab

    □面授 遠距

    15

    Project presentations

    Learning objectives: Students present their projects on business analytics with Python

    Course design: Group discussions and in-class presentations.

    Classroom session

    面授 □遠距

    16

    Project presentations

    Learning objectives: Students present their projects on business analytics with Python

    Course design: Group discussions and in-class presentations.

    Classroom session

    面授 □遠距

    17 (17+1)

    NumPy, SciPy, and Statsmodels

    Learning objectives: Scientifical computing and statistical modeling with Python.

    Course design: Computer demonstrations with applications of econometrics and optimizations.

    Assessment: Homework 7

    Lecture notes and JupyterLab

    □面授 遠距

    18

    Final online examination

    Exam design: Examinations with different question types including multiple choices, short computations, data gathering, data analysis, debugging, and code writing problems.

     

    □面授 遠距

    授課方式Teaching Approach

    50%

    講述 Lecture

    10%

    討論 Discussion

    20%

    小組活動 Group activity

    20%

    數位學習 E-learning

    0%

    其他: Others:

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

    6 individual assignments (30%)

    Group projects (30%)

    Final examination (40%)

    指定/參考書目Textbook & References

    Textbook & References

    "Automate the Boring Stuff with Python" (ABSP) by Al Sweigart, https://automatetheboringstuff.com/

    "Python for Data Analysis, 3E" (PDA) by Wes McKinney, https://wesmckinney.com/book/

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

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

    課程相關連結Course Related Links

    
                

    課程附件Course Attachments

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

    Yes

    列印