IST-5551 Computing Foundations for Data Science

Course Information

Class:
Classroom:
Credit Hours:
Prerequisites:

Instructor

Tsangyao Chen, Ph.D.
Office:
Office Hours:
Email: ty@tychen.org
This course introduces students to foundational computing tools and practices essential for managing information systems and IT operations within organizations. The first half of the course focuses on command-line computing using Linux and Bash scripting, along with practical database management using MySQL. Students will gain hands-on experience in system navigation, automation, and relational database querying. The second half of the course provides a structured introduction to programming using Python. Students will learn fundamental programming concepts including variables, expressions, functions, conditionals, loops, recursion, data structures (lists, dictionaries, tuples), file handling, and object-oriented programming. Emphasis is placed on problem-solving, algorithmic thinking, and writing clear, well-structured code. Programming assignments and exercises help students build the skills needed to write maintainable software applicable to a variety of computing tasks in organizational settings.
Jupiter Notebook, Python, Data Science, Data Wrangling, Data Visualization, Simulation, Computational Thinking

Learning Objectives

Upon successful completion of this course, students should be able to:

  1. Describe basic principles, practices, and components of information systems.
  2. Identify fundamental concepts and components of networked information systems.
  3. Identify common information system operation and testing procedures.
  4. Explain the relationship between different information system processes, including testing, development, maintenance, service continuity, and disaster recovery.
  5. Develop solutions for improving integration between technologies in order to streamline operations or automate processes.
  6. Apply critical thinking and problem-solving skills in identifying and trouble-shooting IT system problems.

  Course Activities

Lectures

The lectures introduce students the concepts in information systems and services management. The information services topics are about how information systems are created, implemented, and used in the organizational and management context, with an emphasis on the perspectives of IT professionals. The information systems concepts are introductions to computer science, information systems, and information technology, with chosen topics focus on the context specified in this course and how to apply and integrate the elements to construct information systems as a way to provide information services.
Examples of the information systems topics covered in the lectures include:
  1. Unix-like file system
  2. Unix-like systems commands
  3. Shell scripting vs programming
  4. Variables
  5. Environment variables & aliases
  6. Functions
  7. Conditional statements
  8. User input
  9. Iterations: for loops and while loops
  10. Databases and SQL
  11. Bash arrays and shell variables
  12. String processing
  13. Regular expression

Lab Activities

The laboratory activities ( labs ) are used to systematically practice the basic concepts and skills used in this course. The instructor will provide explanation and demonstration when necessary, and the students would work collaboratively to solve the problems.
Examples of the topics covered in the labs include:
  1. Operating Systems 1: Students will practice a variety of operating system command line functions and learn to navigate the file systems.
  2. Operating Systems 2: Students will practice operating systems commands and shell scripts to use and manipulate files.
  3. Operating Systems 3: Students you will practice operating systems commands and shell scripts to use and manipulate your computer environment.
  4. Databases in Information Systems 1: Students will begin using database commands from the command line to create a database that they will use for the remainder of the course. User management and data manipulation commands will also be used.
  5. Databases in Information Systems 2: Students will insert a large dataset into the database they created and use database commands from the command line and in shell scripts to access database information. For quality assurance, information from both the database and the original text data files will be compared to check for information consistency.
  6. Data Management and Quality Assurance 1: Students will use shell scripts, operating system commands, and a variety of applications to manage databases and to ensure data quality.
  7. Data Management and Quality Assurance 2: Students will learn how to replicate, backup, recover, and verify databases. Students will also learn now to use scripts to guard against failures while updating running information systems.
  8. Data Management and Quality Assurance 3: Students will practice how to set up the environment, create a wrapped design script for pulling required information from the database iteratively. Students will also learn how to turn the query script output into well-built reports using scripts.

Course Materials

Linux Resources

Bash Programming

MySQL Resources

Course Assignments

Grading Scheme

Tis course intends to enable students to complete all of these activities following the “learning by doing” principle. The grading scale is based on the assumption that the students will work independently and collaboratively to complete all the activities with very few errors. Generally, a student attending all the class meetings and complete all the assignments by schedule will do very well in this course, even with minimal prior technical experience.
Grade Categories
Course Requirement Number of Items Points per Item Total Points
Homework 10 10 100
Lab 10 10 100
Project 1 50 50
Exam 2 75 150
Attendance/Participation   100
      500

The final grade will be calculated based on the total points earned by the student. The final grade will be determined by the following scale:
Grade Scale
Letter Grade Range
A 100% to ≥ 90%
B < 90% to ≥ 80%
C < 80% to ≥ 70%
D < 70% to ≥ 60%
F < 60% to ≥ 0%

Course Schedule

Week Module Topic Technology Reading Assignment
1
  • Information Systems
  • Information Services
  • IT Job Market
  • User management
2
  • The IS framework
  • File system (directory structure)
  • File management
3
  • Quality mgmt: PDCA
  • Built-in functions
  • Variables
  • Scripting
4
  • IT best practices
  • Environmental configuration
  • Search for patterns: grep & wc
  • User input
Midterm1
5
  • The ITSM/ITIL framework
  • Conditional statement
  • tests in conditional
6
  • ITIL Operations: incident
  • Iterations: for loops
  • IO redirection
7
  • ITIL Service Strategy
  • Iterations: while loops
  • DB management: DB, table, & user
8
  • The PMI PM framework
  • DB management: CRUD
  • SQL queries and scripts
Midterm2
9
  • Data management lifecycle
  • Arithmetic operations
  • Arrays
10
  • Risk mgmt
  • Command substitution
  • Special shell parameters
11
  • Change mgmt
  • Text files vs relational databases: grep
12
  • IT PM: Waterfall
  • DB management: backup & update
13
  • IT PM: Agile
  • Output formatting & reporting: printf
14
  • SCRUM concepts
  • Nested script design
15
  • DevOps
  • String operations for data quality: diff & sed
16 Final exam

Assignment Schedule

All course assignments with due dates are listed below. To be successful in this course, be sure to complete and submit all required assignments by the due date.
Date Assignment Due
  Assignment h01 11:59pm