2025-11-05 19:01:08 +03:30
2025-11-30 23:33:47 +03:30
2025-11-14 20:08:49 +03:30

C++ Basic Programming TA Team Initiative

Welcome to the C++ Basic Programming Course Repository — a comprehensive, community-driven learning resource.

This project is more than a collection of materials — its a living documentation of how our teaching team collaborates, mentors, and builds a hands-on learning experience for students.


🎯 Purpose and Vision

Our mission is to ensure that every student not only understands C++ concepts but can also apply them confidently through coding, problem-solving, and projects.

We believe that learning to code should be an active, guided process — not a passive one.
To achieve that, we combine theory from lectures with practice, mentorship, and structured documentation.


🧩 What This Repository Contains

Section Description
/overview/ Conceptual overviews for each lecture week — theory summaries, examples, and key takeaways.
/workshops/ Hands-on guided activities for each topic, designed to help students learn by doing.
/assignments/ Weekly assignments that reinforce lecture material and build problem-solving skills.

All sections are written in Markdown, making them easy to read, modify, and publish (e.g., on GitHub Pages or Quartz).


👩‍🏫 Our Teaching Model

Our approach combines theoretical coverage, active practice, and close mentorship:

  1. Weekly Lectures

    • Delivered by the professor.
    • Introduce core programming concepts in C++.
  2. Workshops

    • Designed and run by TAs.
    • Translate concepts into hands-on coding experiences.
    • Encourage collaboration and experimentation.
  3. Assignments

    • Weekly exercises that challenge students to apply what theyve learned.
    • Reviewed and discussed with mentors.
  4. Mentorship

    • Each TA mentors a small group of students.
    • Provides personalized support, code reviews, and guidance.
    • Builds a feedback loop between students, TAs, and the professor.

🧭 Why We Document This

Were documenting everything we do for three major reasons:

  1. Comprehensiveness for Learners
    Provide a high-quality, public resource for current students and self-learners outside the university.

  2. Pedagogical Transparency
    Allow educators and future TA teams to see and improve upon our structure, methods, and materials.

  3. Continuity and Growth
    Leave behind a foundation that future teaching teams or other institutions can build upon, adapt, and evolve.


🧠 Course Topics Overview

Week Topic Description Overview Workshop Assignment
1 Algorithmic Thinking & Problem-Solving Develop foundational skills in algorithm design: representing problems with flowcharts and pseudocode, and reasoning about step-by-step solutions. Overview - Assignment
2 Introduction to C++ & Basic Programming Constructs & Data Types Get started with C++: setting up the IDE, basic syntax, compiling and linking, and simple programs. Understand fundamental data types, expressions and operations Overview Workshop Assignment
3 Control Structures Move into control flow with logical operators, if/else, switch, loops, iteration and avoiding infinite loops.
4 Functions & Modular Design Learn how to design and call functions in C++, including void vs return-type, parameter passing, overloading, and thinking in modular pieces.
5 Arrays, Strings & Multidimensional Data Explore static arrays, C++ strings and multidimensional data structures. Incorporate memory-thinking in simple data manipulations.
6 Advanced Functions & Recursion Deepen function usage with recursion, higher-level thinking about how functions call themselves, and problem-solving patterns that leverage recursion.
7 Pointers & Dynamic Memory Dive into pointers, dynamic memory allocation/deallocation (e.g., new, delete), pointer arithmetic, and how memory model impacts correct usage of arrays/strings.
8 File I/O, Structs & A Very Brief Introduction to Object-Oriented Concepts Work with file input/output streams, define and use structs, and get a first glance at OOP mindset
9 Mini Project Integrate the learned topics into a hands-on project: design, implement, test a moderately sized application showcasing applied algorithms, data structures and modular code.
10 Final Project & Wrap-up Launch the final project with full guidelines: design documentation, coding standards, testing, and presentation. Wrap up with reflections and next steps in C++ or software development.

🌍 Long-Term Goals

  • Create a sustainable, evolving educational model that balances theory and practice.
  • Encourage open-source education — anyone can learn from or contribute to our materials.
  • Serve as a baseline for future educators in teaching programming effectively.

🧑‍🤝‍🧑 The Team

🤝 Contributing

We welcome contributions — whether youre a TA, a student, or an educator from another institution.

If youd like to:

  • Improve explanations or examples
  • Add new workshop exercises
  • Suggest assignment ideas
  • Translate materials

Please open a pull request or contact us.


🏗️ Tech Stack

If this repository includes interactive code or materials, consider mentioning:

  • Markdown for documentation
  • C++ for code examples
  • GitHub Pages / Quartz for deploying the website
  • VS Code for coding environment

📜 License

All materials are shared under the Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) license.
Youre free to learn, adapt, and build upon our content — just credit the authors and share alike.


C++ SBU CS TA Team, 2025

S
Description
No description provided
Readme
11 MiB
Languages
TypeScript 84.2%
SCSS 9.1%
JavaScript 4.9%
CSS 1.8%