Introduction to Software Engineering

Major Courses

Programming

Programming 1 – Simple Overview What it is: A beginner course that teaches you how to write basic computer programs. What You Learn: What programming is How to use numbers, text, and other data Making decisions with if statements Repeating tasks with loops Creating and using functions Getting input and showing output Finding and fixing simple errors Using basic lists or arrays Skills You Get: Clear thinking and problem-solving Writing simple code Understanding how programs work

Algorithms & complexity

Algorithms and Complexity – Simple Overview What it is: A course that teaches you how to solve problems using step-by-step instructions (algorithms) and how to measure how fast or efficient your code is (complexity). What You Learn: What algorithms are and how to write them Searching (like finding a number in a list) Sorting (like putting numbers in order) Recursion – when a function calls itself Greedy algorithms – choosing the best option at each step Divide and conquer – breaking problems into smaller parts Dynamic programming – solving complex problems by reusing solutions Big O notation – measuring how fast or slow an algorithm is Skills You Get: Solving problems step by step Writing faster, smarter programs Understanding how your code performs with big inputs

Data Structure

Data Structures – Simple Overview What it is: A course that teaches you how to organize and manage data in programs. What You Learn: What data structures are and why they matter Arrays and Lists – storing items in order Stacks and Queues – adding and removing items in special ways Linked Lists – connecting items like a chain Trees – branching data like a family tree Graphs – showing connections like a map or network Hash Tables – quick data lookup with keys Basic sorting and searching methods Skills You Get: Choosing the right way to store and use data Writing code that’s faster and more efficient Understanding how real-world apps handle data

Computer Organization

Computer Organization – Simple Overview What it is: A course that explains how computers work on the inside — from hardware to how they run programs. What You Learn: Basic computer parts – CPU, memory, storage, input/output Binary numbers – how computers use 0s and 1s How data is stored – bits, bytes, and memory Instruction cycle – how the CPU runs programs step by step Assembly language – low-level code close to machine language Memory types – RAM, cache, and how data moves How the computer executes instructions Simple circuits and logic gates – how computers make decisions Skills You Get: Understanding how hardware and software work together Knowing what happens “under the hood” when code runs Writing and reading simple assembly code

Software Architecture

Software Architecture – Simple Overview What it is: A course that teaches how to design and organize big software systems so they are easy to build, change, and maintain. What You Learn: What software architecture is and why it's important Layers – breaking systems into parts (like UI, logic, and data) Design patterns – common solutions to common problems Client-server model – how apps and servers talk Microservices – building small, independent services Monolithic vs. distributed systems Scalability and performance – making systems fast and reliable Security and reliability basics How to document and communicate architecture Skills You Get: Designing systems that are clear and flexible Making software easier to grow and maintain Understanding how large apps are built and run