SDS 2102 COMPUTER PROGRAMMING FOR DATA
SCIENCE I (45 CONTACT HOURS)
Prerequisite: SDS 2101 Fundamentals of Computers and
Data Science.
Course Purpose
To equip the learner with fundamental programming skills
appropriate for solving Business Intelligence problems. To
acquire a solid understanding of the concepts and methods
relevant to the subject matter of the course.
Learning Outcomes
At the end of the course learner should be able to:
1) Describe Python program structure and basic syntax
2) Apply decision and repetition structures in program
design.
3) Implement methods and functions to improve readability
of programs
4) Apply the use of Python lists and dictionaries
5) Describe and apply object-oriented programming
methodology.
6) Apply top-down concepts in algorithm design.
7) Write Python programs to illustrate concise and efficient
algorithms
Course Description
An Introduction to Python: Environment set up, Dynamic
Types, reserved words, features and applications. Basics of
Python: basic syntax, Comments, String values and methods,
formatting, input and output, Data types. Language
Constructs: operators, Decision structures, loops. Collections:
Lists, Tuples, Sets, Dictionaries. Functions: User-defined
functions, Passing Collections to a Function, Passing Functions
to a Function, Mapping Functions in a Dictionary, Lambda,
Inner Functions, Closures. Modules: Modules, Standard
Modules – sys, Standard Modules – math, Standard Modules –
time, The dir Function.
Teaching Methodologies
Lectures, lab practicals, student presentations, class exercises.
Instructional Material/Equipment:
Blackboard or whiteboard, chalk, whiteboard marker, duster,
computer and projector, Python language software.
Course Assessment
Continuous Assessments Tests 20%
Assignments 10%
Final Examination 70%
Total 100%
Course Text Books
1. Laura Igual and Santi Segui. (2016). Introduction to Data
Science. A Python approach to Concepts, Techniques and
Applications. Springer ISBN-13-238-2334261766
2. Hans PetterLangtangen. (2016). A Primer on Scientific
Programming with Python. 5th edition. Springer. ISBN-13-
978-3662498866.
Reference Textbooks
1. Wes McKinney. (2017). Python for Data Analysis; Data
Wrangling with PANDAS, NumPy and IPython. 2nd edition.
Amazon. ISBN-13-978-1491957660
2. Tim Hall, J-P Stacey. (2009). Python 3 for absolute
beginners (2009). Apres. ISBN-13-978-1-4302-1632-2
Course Journals
1. International Journal of Data Science, ISSN online: 2053-
082X, ISSN print: 2053-0811.
2. International Journal of Data Science and Analytics
ISSN: 2364-415X (print version), ISSN: 2364-4168 (electronic
version)
Reference Journals
1. Journal of Data Science , ISSN 1680-743X, ISSN 1683-8602
2. Data Science Journal, ISSN 16831470.
COURSE OUTLINE
Lesson 1: Introduction Data Science
Definitions: Data, Data Science
Structured and Unstructured data
Application of Data science
Requirements to be a data scientist
Lesson 2: Introduction to computer Programming
Introduction to programming concepts
Program
Programming
Programmer
Programming languages
Types of Programming Languages
Machine Languages
Low level (Assembly) Languages
High level Languages
Procedural languages: FORTRAN, COBOL,
Pascal, C.
Non procedural languages: Object Oriented
Programming Languages – C++, Java, Python,
PHP, JavaScript, C#
Language translators
Assemblers
Compilers
Interpreters
Program execution Process
Integrated development environment (IDE)
Lesson 3 - Introduction to Keywords, Data types and
variables
Keywords/Reserved words
Data types
Integers - int
Floating numbers – float, double
Boolean – true or false
string
Dynamic types vs. static types
Variables
What is a variable
Identifier naming/rules of naming identifiers
Declaring Variable and Assigning Values
Variable Names Camel, Case Pascal
Case ,Snake Case
Local and Global variables
Lesson 4 - Introduction to Programming with Python
Python IDE - first steps with Python & Jupyter notebooks
Basics of Python:
Data types in python
Declaring variables in python
Basic syntax
Inputting and Outputting in Python
Comments
String values and methods
Formatting outputs in python
Python casting
Operators in python: Arithmetic, conditional & logical
operators in Python
Lesson 5 - Language Constructs: Branching using
Conditional Statements and Loops in Python
Branching with if, elif, and else
Iteration with while, do - while and for loops
Breaks, continue
Lesson 6 – Python Arrays and Collections
Python arrays: Creating and accessing arrays in Python
Collections: Lists, Tuples, Sets, Dictionaries
Lesson 7 – Python Functions
Inbuilt functions
User-defined functions
Passing Collections to a Function
Passing Functions to a Function
Lambda Function
Lesson 8 – Python Modules
Standard Modules – sys
Standard Modules – math
Standard Modules – time
The dir Function.
Dynamic typing means that the type of the variable is
determined only during runtime. Due to strong typing, types
need to be compatible with respect to the operand when
performing operations. For example Python allows one to add
an integer and a floating point number, but adding an integer
to a string produces error.