Course outline:
- Computational Thinking.
- Introduction to Computers and Programming
- What is a computer? , Programming Languages: High-level vs. low-level languages Introduction to popular programming languages (e.g., Python, C, Java)
- How Computers Understand Programs:
- Compilation vs. interpretation, Introduction to an Integrated Development Environment (IDE), Basic Algorithms: Introduction to algorithms and their role in solving problems.
- Basic Programming Concepts (Language of preferred choice)
- Syntax and Semantics: Basic structure of a program, Understanding comments and documentation, Variables and Data Types: Primitive data types (int, float, char, boolean, string), Declaring and initializing variables, Operators: Arithmetic, relational, logical, and assignment operators Input/output: Reading input from the user, Displaying production to the screen
- Control Flow Statements
- Conditional Statements, Loops,
- Functions and Modular Programming
- Defining Functions, Scope and Lifetime of Variables, Recursion: Introduction to recursive functions
- Arrays and Data Types
- Introduction to Data Science
- Overview of data science and its applications, Role of programming in data analysis
- Data Types and Structures:
- Data Science Workflow: Data collection, cleaning, analysis, visualization, and interpretation
- Working with Data using Python/preferred language
- Basic Libraries for Data Science: NumPy for numerical computations, Pandas for data manipulation,
- Exploratory Data Analysis (EDA):
- Data Visualization: Introduction to Matplotlib and Seaborn, Plotting basic graphs (line, bar, histogram, scatter)
- Object-Oriented Programming (OOP) Basics (if applicable to the language)
- Introduction to OOP: Concepts of classes and objects, attributes, and methods: Defining and accessing attributes and methods
- Error Handling and Debugging
- Types of Errors, Debugging Techniques, Exception Handling
- Introduction to Algorithms and Problem Solving
- Basic Algorithmic Techniques, Time and Space Complexity (Basic introduction), Problem Solving Techniques
Programming Language: Python (preferred for data science beginners)
Libraries:
NumPy: For array operations and numerical computations
Pandas: For data manipulation and analysis
Matplotlib/Seaborn: For data visualization
Datasets:
Open datasets from Kaggle, UCI Machine Learning Repository, or other public sources.
IDEs:
Jupyter Notebook: Ideal for combining code and visualizations.
Google Colab: Cloud-based Jupyter Notebook.