💻 MemoLearning Introduction to Programming

Learn Python/Java, functions, loops, and problem solving

← Back to Computer Science

Curriculum Overview

16
Total Units
~200
Skills to Master
10
Core Units
6
Advanced Units
1

Programming Fundamentals

Understand what programming is and learn basic concepts that apply to all languages.

  • What is programming?
  • Algorithms and computational thinking
  • Programming languages overview
  • Compilers vs interpreters
2

Variables and Data Types

Learn how to store and manipulate different types of data in your programs.

  • Variables and variable naming
  • Primitive data types (int, float, bool)
  • Strings and string manipulation
  • Type conversion and casting
3

Input and Output

Master getting input from users and displaying output in various formats.

  • Basic input and output operations
  • Reading user input from console
  • Formatting output and print statements
  • String formatting and interpolation
4

Operators and Expressions

Learn to perform calculations and logical operations using various operators.

  • Arithmetic operators (+, -, *, /, %)
  • Assignment operators (=, +=, -=)
  • Comparison operators (==, !=, <, >)
  • Logical operators (and, or, not)
5

Control Flow - Conditionals

Control program execution with if statements and decision-making structures.

  • Boolean expressions and conditions
  • If statements and syntax
  • If-else statements
  • Elif (else-if) chains
6

Control Flow - Loops

Repeat code execution efficiently using different types of loops.

  • Introduction to loops and iteration
  • While loops and loop conditions
  • For loops and counting
  • Range function and iteration
7

Functions and Modules

Organize code into reusable functions and learn about modular programming.

  • Function definition and syntax
  • Parameters and arguments
  • Return values and return statements
  • Local vs global scope
8

Data Structures - Lists

Work with collections of data using lists, arrays, and basic operations.

  • Introduction to data structures
  • Lists/arrays and indexing
  • Adding and removing elements
  • List slicing and manipulation
9

Dictionaries and Sets

Learn key-value pair storage and unique element collections.

  • Dictionary basics and key-value pairs
  • Dictionary operations and methods
  • Sets and set operations
  • When to use different data structures
10

String Manipulation

Master text processing and string operations for data handling.

  • String indexing and slicing
  • String methods and operations
  • String formatting and templates
  • Text parsing and processing
11

Error Handling

Learn to handle errors gracefully and debug programs effectively.

  • Types of errors (syntax, runtime, logical)
  • Exception handling with try-catch
  • Debugging strategies and techniques
  • Testing and validation
12

File Operations

Read from and write to files for data persistence and processing.

  • File opening and closing
  • Reading text files line by line
  • Writing and appending to files
  • Working with CSV files
13

Object-Oriented Programming

Introduction to classes, objects, and object-oriented design principles.

  • Classes and objects
  • Attributes and methods
  • Constructor methods
  • Inheritance basics
14

Algorithms and Problem Solving

Develop algorithmic thinking and learn common programming patterns.

  • Problem-solving methodology
  • Algorithm design and analysis
  • Searching algorithms (linear, binary)
  • Sorting algorithms basics
15

Libraries and APIs

Learn to use external libraries and work with APIs for extended functionality.

  • Standard library exploration
  • Installing and managing packages
  • API concepts and REST basics
  • JSON data handling
16

Final Projects

Apply your skills to complete projects and learn professional development practices.

  • Project planning and design
  • Code organization and structure
  • Version control with Git
  • Final capstone projects

Unit 1: Programming Fundamentals

Build a foundation in computational thinking and understand what programming is all about.

What is Programming?

Understand programming as problem-solving through instructions, learn about the relationship between humans and computers.

Computational Thinking

Develop problem-solving skills: decomposition, pattern recognition, abstraction, and algorithmic thinking.

Programming Languages

Overview of different programming languages, their purposes, and choosing the right tool for the job.

Development Environment

Set up your programming environment, learn about IDEs, text editors, and development tools.

Unit 2: Variables and Data Types

Learn to store and manipulate different types of data in your programs.

Variable Basics

Understand variables as containers for data, naming conventions, and variable assignment.

Integer Data Type

Work with whole numbers, understand integer operations, and learn about integer limitations.

String Basics

Introduction to text data, string creation, and basic string operations.

Type Conversion

Convert between different data types, handle type errors, and understand implicit vs explicit conversion.

Unit 3: Input and Output

Master getting input from users and displaying output in various formats.

Basic Output

Learn print functions, display text and variables, and understand output streams.

User Input

Get input from users, handle different data types, and validate user input.

Output Formatting

Format numbers, strings, and create professional-looking output with alignment and spacing.

Interactive Programs

Design user-friendly interfaces, create menus, and build interactive applications.

Unit 4: Operators and Expressions

Learn to perform calculations and logical operations using various operators.

Arithmetic Operators

Master +, -, *, /, %, and ** operators for mathematical calculations and operations.

Comparison Operators

Compare values using ==, !=, <, >, <=, >= for decision-making in programs.

Logical Operators

Combine conditions with and, or, not operators for complex logical expressions.

Operator Precedence

Understand order of operations, use parentheses effectively, and avoid precedence errors.

Unit 5: Control Flow - Conditionals

Control program execution with if statements and decision-making structures.

Boolean Logic

Understand True/False values, boolean expressions, and logical evaluation in programming.

If Statements

Write basic if statements, understand indentation, and execute code conditionally.

If-Else Structure

Handle alternative execution paths with else clauses and binary decision making.

Elif Chains

Create multiple condition checks with elif statements for complex decision trees.

Unit 6: Control Flow - Loops

Repeat code execution efficiently using different types of loops.

Loop Fundamentals

Understand iteration, repetition, and when to use loops for efficient programming.

While Loops

Create condition-based loops, understand loop termination, and avoid infinite loops.

For Loops

Use counting loops, iterate through sequences, and understand loop variables.

Loop Control

Use break and continue statements to control loop execution and flow.

Unit 7: Functions and Modules

Organize code into reusable functions and learn about modular programming.

Function Definition

Define functions with def keyword, understand function structure and naming conventions.

Parameters and Arguments

Pass data to functions, understand positional vs keyword arguments, and parameter types.

Return Values

Return data from functions, handle multiple return values, and understand function output.

Variable Scope

Understand local vs global variables, scope rules, and variable lifetime in functions.

Unit 8: Data Structures - Lists