[go: up one dir, main page]

0% found this document useful (0 votes)
27 views8 pages

CDS1001

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views8 pages

CDS1001

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Course Title : Introduction to Programming for Data Science

Course Code : CDS1001


Recommended Study Year : 1
No. of Credits/Term : 3
Mode of Tuition : Sectional Approach
Class Contact Hours : 3 hours per week
Category in Major Prog. : Required
Prerequisite(s) : Nil
Co-requisite : Nil
Exclusion : Nil
Exemption Requirement : Nil

Brief Course Description:

This course is designed for students to provide an introduction of data science in the digital
age. Data science concerns using data to understand and analyse actual phenomena. The
course covers basic IT skills, such as computer programming to assist data manipulation,
data analysis and data communication. Turing award winner Jim Gray predicts that data
science will be a “fourth paradigm” of science, which is data-driven and can be
differentiated from empirical, theoretical and computational paradigms. Students will learn
the fundamentals and appreciate the importance of data science.

The first half of the course is about learning the programming language, the following
topics will be included: the basic Python language syntax, variable declaration, basic
operators, program flow and control, defining and using functions, file and operating
system interface. In the second half of the course, basic Python packages designed for data
science will be introduced, such as NumPy, SciPy, Pandas, and Matplotlib.

Aims:

The ability to analyse data using computer programs is essential in data science. This
course aims at introducing the basic connects of data science and providing students with
fundamental knowledge of programming in the Python programming language, which is
one of the most popular programming languages for data science. This course assumes no
prior experience with programming.

Learning Outcomes (LOs):

Upon the successful completion of this course, the student will be able to:
1. Identify the fundamental concepts of data science and the applications; (PLO1)
2. Describe the whole data science process; (PLO2)
3. Design, code, and test small Python programs;
4. Accurately use procedural statements — assignments, conditional statements, loops,
function call, and arrays;
5. Manipulate and process data for solving problems using the logic of a programming
language; (PLO6)
6. Retrieve and store data from/to different sources; (PLO6)
7. Plot data using appropriate Python visualization libraries. (PLO6)

Indicative Contents:

Data Science
Basic concepts of data science and the applications
Brief description of the data science process

Computer Programming
Language syntax, variable declaration, basic operators, program flow, program control
Definition of functions, function calls
File and operating system interface, web retrieval

Data Science Computing


NumPy, SciPy, Pandas, n-dimensional array
Optimization, interpolation, sparse matrix

Data Visualization
Matplotlib, scatter plot, box plot, contour map, multidimensional chart

Teaching Method:

There are different teaching and learning activities including lectures and laboratories. The
concepts, process, and applications of data science will be discussed in lectures. Students
will also learn computer programming knowledge and the skills of manipulating,
processing, retrieving, storing, and plotting data. Students will develop small programs and
learn different software packages such as SciPy, NumPy, Pandas, and Matplotlib in
laboratories.

Assessment:

Class Attendance and Participation 10%


Assignments 40%
Mid-term Examination 20%
Examination 30%
Total 100%
Measurement of Learning Outcomes:

Class Assignments Mid-term Examination


Attendance Examination
and
Participation
1. Identify the x x
fundamental concepts of
data science and the
applications
2. Describe the whole data x x
science process
3. Design, code, and test x x x
small Python programs
4. Accurately use x x x
procedural statements —
assignments, conditional
statements, loops, method
call, and arrays
5. Manipulate and process x x
data for solving problems
using the logic of a
programming language
6. Retrieve and store data x x
from/to different sources
7. Plot data using x
appropriate Python
visualization libraries

1. There are a number of classroom activities to evaluate if the students can identify the
basic concepts and the process of data science. Students are expected to identify
applications in data science, especially to the domains of social science, arts, and
business domains. In-class programming exercises will be assigned to ensure that
students learn the skills in computer programming (LO1-2 and PLO1-2).
2. The assignments require students to apply programming skills to solve data science
problems using Python (LO3-7 and PLO6).
3. The mid-term examination requires students to demonstrate their understanding of the
basic concepts and the process of data science. Basic computer programming skills are
also assessed (LO1-4 and PLO1-2).
4. The ability of computer programming as well as the skills of manipulating, processing,
retrieving, and storing data are evaluated in the final examination (LO3-6 and PLO6).

Required/Essential Readings:
1. Guttag, John V., Introduction to Computation and Programming Using Python: With
Application to Understanding Data, MIT Press, 2016.
2. VanderPlas, Jake, Python Data Science Handbook: Essential Tools for Working with
Data, O’Reilly Media, 2016.

Recommended/Supplementary Readings:
1. Grus, Joel, Data Science from Scratch: First Principles with Python, O’Reilly Media,
2015.
2. Hill, Christian, Learning Scientific Programming with Python, Cambridge University
Press, 2016.
3. McKinney, Wes, Python for Data Analysis: Data Wrangling with Pandas, NumPy and
IPython. 2nd Edition, O’Reilly Media, 2017.
4. NumPy User Guide (https://docs.scipy.org/doc/numpy/user/index.html)
5. Ramalho, Luciano, Fluent Python: Clear, Concise, and Effective Programming,
O’Reilly Media, 2015.
6. Severance, Charles, Python for Informatics: Exploring Information, CreateSpace
Independent Publishing Platform, 2013.
7. SciPy Lecture Notes (http://www.scipy-lectures.org/)

Important Notes:
(1) Students are expected to spend a total of 9 hours (i.e. 3 hours of class contact and 6
hours of personal study) per week to achieve the course learning outcomes.
(2) Students shall be aware of the University regulations about dishonest practice in
course work, tests and examinations, and the possible consequences as stipulated in
the Regulations Governing University Examinations. In particular, plagiarism, being
a kind of dishonest practice, is “the presentation of another person’s work without
proper acknowledgement of the source, including exact phrases, or summarised
ideas, or even footnotes/citations, whether protected by copyright or not, as the
student’s own work”. Students are required to strictly follow university regulations
governing academic integrity and honesty.
(3) Students are required to submit writing assignment(s) using Turnitin.
(4) To enhance students’ understanding of plagiarism, a mini-course “Online Tutorial on
Plagiarism Awareness” is available on https://pla.ln.edu.hk/.
Rubric for Examination of CDS1XXX – Introduction to Programming for Data Science

Criteria Very good (4-6) Satisfactory (2-4) Unsatisfactory (0-2)

Design small The designs are relevant, The designs are not elegant or The designs are basically
Python programs elegant, and effective. Moreover ineffective. But the logics of ineffective. The logics of
(LO3) the program logics are correct. programs are correct. programs are incorrect.

Code small Python The program codes are nearly The program codes have some The program codes have
programs completely correct. minor errors. some significant errors.
(LO3)
Accurately use More than 80% of procedural 50% to 80% of procedural Less than 50% of
procedural statements are used correctly. statements are used correctly. procedural statements are
statements used correctly.
(LO4)
Manipulate and The right packages and methods The right packages and methods The student cannot select
process data for are selected to handle the are selected to handle the the right packages and
solving problems problems. They are used problems. There are some minor methods to handle the
using the logic of a correctly to manipulate and issues in applying these problems, or , or uses
programming process data. packages and methods. them incorrectly.
language
(LO5)
Retrieve data from The right packages and methods The right packages and methods The student cannot select
different sources are used. They are used are used. But there are some the right packages and
(LO6) correctly to retrieve data. minor issues in applying these methods, or , or uses them
packages and methods. incorrectly.
Store data to The right packages and methods The right packages and methods The student cannot select
different sources are used. They are used are used. But there are some the right packages and
(LO6) correctly to store data. minor issues in applying these methods, or , or uses them
packages and methods. incorrectly.
Rubric for Mid-Term Examination of CDS1XXX – Introduction to Programming for Data
Science
Criteria Very good (4-6) Satisfactory (2-4) Unsatisfactory (0-2)

Identify the The student demonstrates a clear The student demonstrates a The student demonstrates a
fundamental understanding of the reasonable understanding of the limited understanding of
concepts of data fundamental concepts of data fundamental concepts of data the fundamental concepts
science science. The student can science. The student can of data science. The
(LO1) correctly identify most of these correctly identify some or most student can correctly
concepts. of these concepts. identify few of these
concepts.
Identify the The student demonstrates a clear The student demonstrates a The student demonstrates a
applications of data understanding of the reasonable understanding of the limited understanding of
science applications of data science. The applications of data science. The the applications of data
(LO1) student can correctly list most of student can correctly list some science. The student can
these applications. or most of these applications. correctly list few of these
applications.
Describe the whole The student can describe all The student can describe most The student can only
data science procedures in the whole process procedures in the whole process describe 0-3 procedures in
process correctly. correctly. the whole process
(LO2) correctly.
Design small The designs are relevant, The designs are not elegant or The designs are basically
Python programs elegant, and effective. Moreover ineffective. But the logics of ineffective The logics of
(LO3) the program logics are correct. programs are correct. programs are incorrect.

Code small Python The program codes are nearly The program codes have some The program codes have
programs completely correct. minor errors. many errors.
(LO3)
Accurately use More than 80% of procedural 50% to 80% of procedural Less than 50% of
procedural statements are used correctly. statements are used correctly. procedural statements are
statements used correctly.
(LO4)
Rubric for Assignments of CDS1XXX – Introduction to Programming for Data Science
Criteria Very good (4-6) Satisfactory (2-4) Unsatisfactory (0-2)

Design small The designs are relevant, The designs are not elegant or The designs are basically
Python programs elegant, and effective. Moreover ineffective. But the logics of ineffective. The logics of
(LO3) the program logics are correct. programs are correct. programs are incorrect.

Code small Python The program codes are nearly The program codes have some The program codes have
programs completely correct. minor errors. many errors.
(LO3)
Test small Python The programs are tested The programs are not The programs are not
programs thoroughly. The testing thoroughly tested. There are being tested, No results
(LO3) procedure is correct minor errors in the testing have been generated. There
procedure are major errors in the
testing procedure.
Use procedural More than 90% of procedural 70% to 90% of procedural Less than 70% of
statements statements are used correctly. statements are used correctly. procedural statements are
(LO4) used correctly.
Manipulate and The right packages and methods The right packages and methods The student cannot select
process data for are selected to handle the are selected to handle the the right packages and
solving problems problems. They are used problems. There are some minor methods to handle the
using the logic of a correctly to manipulate and errors in applying these problems, or , or uses
programming process data. packages and methods. them incorrectly.
language
(LO5)
Retrieve data from The right packages and methods The right packages and methods The student cannot select
different sources are used. They are used are used. But there are some the right packages and
(LO6) correctly to retrieve data. minor issues in applying these methods, or , or uses them
packages and methods. incorrectly.
Store data to The right packages and methods The right packages and methods The student cannot select
different sources are used. They are used are used. But there are some the right packages and
(LO6) correctly to store data. minor errors in applying these methods, or , or uses them
packages and methods. incorrectly.
Plot data using The right packages and methods The right packages and methods The student cannot select
Python are used. They are used are used. But there are some the right packages and
visualization correctly to visualize data. minor errors in applying these methods, or , or uses them
libraries packages and methods. incorrectly.
(LO7)
Rubric for Class Attendance and Participation of CDS1XXX – Introduction to Programming for
Data Science
Criteria Very good (4-6) Satisfactory (2-4) Unsatisfactory (0-2)

Attendance Full, punctual attendance in class Occasional absences or lateness Frequent or recurring
and mandatory seminars. from class or mandatory absence or lateness from
seminars. class or mandatory
seminars.
Behaviour Displays mature behavior; Rarely displays improper or Displays improper or
often goes beyond disruptive behavior; respects disruptive behaviour;
expectations; exemplary rules and boundaries. ignores rules and
adherence to rules. boundaries.
The students is always being The student is sometimes being The student keep silent
Participate in active during class discussions. active during class discussions. during class discussions.
class
discussion
Enthusiasm The student always respond to The student sometimes respond The student seldom or
in the subject teacher’s questions, or raise to teacher’s questions, or raise never respond to teacher’s
questions or questions, or questions, nor raise
provide further examples related provide further examples questions, nor provide
to the topic of interest. related to the topic of interest. further examples related to
the topic of interest.
Quality of Comments are always insightful Comments are sometimes Comments are
comments & constructive. Comments constructive, with occasional uninformative. Heavy
balanced between general signs of insight. Comments not reliance on personal
programming knowledge, always relevant to the opinion & personal feeling
opinions & specific, thoughtful discussion.
criticisms or contributions.

You might also like