This repository contains structured materials, code implementations, and practice exercises covering fundamental programming and data structures concepts. It is organized according to the course timeline and topics covered throughout the semester.
📅 Weeks 1–2
- Functions: definition, parameters, return values
- Arrays: 1D & 2D arrays, operations, traversal
- Structures (Structs): grouping data, real-world modeling
📅 Weeks 2–3
- Basic terminal commands
- File system navigation
- Permissions and file handling
- Shell basics
📅 Weeks 4–5
- Searching Algorithms: Linear Search, Binary Search
- Sorting Algorithms: Bubble Sort, Selection Sort, Insertion Sort
- Time Complexity & Big-O Analysis
📅 Weeks 6–7
- Pointer basics and operations
- Memory addresses and dereferencing
- Dynamic memory allocation (
malloc,calloc,free) - Common pitfalls and debugging
📅 Week 8
- Comprehensive review of Units 1–3
- Exam assessment
📅 Weeks 10–11 (Week 9: Spring Break)
- Classes and Objects
- Constructors & Destructors
- Encapsulation basics
📅 Weeks 12–13
- Singly Linked Lists
- Insertion, Deletion, Traversal
- Memory handling in linked structures
📅 Weeks 14–15
- Stack (LIFO): implementation using arrays & linked lists
- Queue (FIFO): implementation and applications
- Real-world use cases
📅 Week 15
- Full course revision
- Practice problems and key concepts
📅 Week 16 — May 7th (2:00 PM – 4:30 PM)
- Cumulative assessment covering all units
/unit-1-functions-arrays-structs
/unit-linux
/unit-2-searching-sorting
/unit-3-pointers
/unit-4-classes
/unit-5-linked-lists
/unit-6-stacks-queues
/review-material
- Follow the units sequentially based on the course timeline
- Practice problems after each topic
- Review implementations and understand logic deeply
- Use review materials before exams
Build a strong foundation in programming and data structures, preparing for advanced computer science concepts and real-world problem solving.
- Consistency > cramming
- Focus on understanding, not memorization
- Practice coding daily
Feel free to fork, improve, and contribute additional examples or optimizations.
This project is for educational purposes.