Seed Programming

School of Seed Programming Logo

Fundamentals of Coding With C++ - Summer 2024

Design & Implementation with OOP

Rs 20,000/- 

About Course

“Fundamentals of Coding With C++: Design & Implementation with OOP” is a comprehensive course that spans five weeks, delving into the core principles of C++ and object-oriented programming. In Week 1, you will start with the basics, learning about variables, data types, and user input. You will explore loops, conditionals, and arrays through practical examples like a grading system and rock-paper-scissors game. Week 2 introduces functions, pointers, and advanced array manipulation techniques, setting the stage for sorting algorithms and more complex problem-solving. Week 3 dives into dynamic memory, 2D arrays, and the fundamentals of classes, with engaging projects like the Snake Game and Gomoku. By Week 4, you’ll master classes, constructors, destructors, operator overloading, and templates. The final week focuses on object-level relations, class inheritance, polymorphism, and culminates in an exciting Chess game project, consolidating all learned concepts in a practical, challenging environment.

"Python for Data Science" is a comprehensive course designed to equip learners with the essential tools and techniques needed in the field. The first session introduces Python, covering basic syntax, data types, control flow, functions, and error handling. It also guides through the setup and usage of Jupyter Notebooks and VS Code, emphasizing their importance in data science workflows. Additionally, the session delves into NumPy, teaching array manipulation, basic operations, and its applications in linear algebra and statistics. Subsequent sessions build on this foundation, covering advanced topics like feature engineering, data visualization with Matplotlib and Plotly, dimensionality reduction techniques like PCA and t-SNE, and the fundamentals of neural networks using PyTorch. The course progresses to specialized topics, including computer vision, deep learning for image and video processing, and working with large language models such as OpenAI's GPT and Meta's LLaMA. By the end of the course, participants will have a solid grounding in Python for data science, equipped to handle various data-centric tasks and challenges.

Week 1:

  • Basics of C++: Basic Print, Intro to Variables and Datatypes, Taking Input From User, Table Printing without Loop (Naive Method)
  • Intro to While Loop: Table Printing
  • Conditionals: Intro to If and else if Statements, Finding Maximum/Minimum Number of 5 numbers, Rock Paper Scissors Discussion, Switch Statement, Calculator, Grading System
  • For Loop: Intro to for Loop, Sequence Printing, Prime Number Identification (Naive and sqrt methods), How much sqrt method is faster for a 64bit integer
  • Do While Loop: Stream of Prime Numbers Identification (ending with 1), Stream of characters ending with ‘.’, Example: Character Identification (Capital, Small, Numbers or special)
  • 1d Arrays: Syntax and Initialization, Capacity and Size, Loading from file, Indexes and Iteration
  • Case Study: Example of intersection, union, and complement
  • Cstring (null terminating character arrays) and getline: MiniText Editor: A test document reading and character identification
  • Shapes Printing: Right Triangle Printing, Inverted Right Triangle, Hollow Pyramid Printing, Pyjama Printing, Crown Printing
  • Winding Up: Logic Building: Introduction to Programming and Logic Building, Binary Search, Total Number of Atoms in Universe
  • Project 1: Hangman

 

Week 2:

  • Introduction to Functions: Function as a black box, Prototype, Syntax, Definition, Arguments, Parameters, Return Types, Convert Prime number and Fibonacci stream problems
  • Introduction to References: Swap Example, Swap Function
  • Menu Based
  • Pointers: Addresses as a variable and its dereferencing
  • Arrays and Pointers: Passing arrays to functions, as base addresses, Finding index
  • Case Study: Revisit with functions, Example of intersection based isPresent
  • Problem Solving with Arrays: Segregation (ONLY DISCUSSION), Extra memory, Two pointers (slow and fast), Two extreme pointers
  • Binary Search based searching: In a sorted array, K shifted array, One ascending and one descending array
  • Sorting Algorithms and Ideas: Bubble Sort (Do while and for loop), Two nested loops, Do while (change Happen), while(Bubbling()), Bubble sort single function (Calling function within a function), Merging
  • Frequency based Problem Sets: Mean, Mode, Median, Frequency based Sorting, Unique, Distinct elements
  • Generalized Sorting: Range Sorting, Even Indices in ascending order and Odd Indices in descending order
  • Revisited: PrintASymbolKTimes based printing shapes: Only one shape (right triangle)
  • Struct, Pointers Size: Static Array of struct
  • Snake Game Discussion
  • Project 2: Nokia Snake Game: Single Snake, Multi Snake

 

Week 3:

  • 2d Array: Traversals from 2d to 1d world, Matrix Rotation, Voting system discussion
  • Dynamic Single Dimensional Array: Pointers and dynamic arrays, Common Mistakes in Pointer (dangling Pointer etc), Memory Diagrams
  • Array Struct: Allocate, deallocate, insert at end, remove from ith location, deep copy
  • 2d Dynamic Arrays: Prison Break Discussion (Regular and Irregular Shapes)
  • Multidimensional Arrays: Memory Diagram, Allocation, Initialization
  • Gomoku Discussion: Game rules, Game loop, Multiplayer and hints of human vs computer
  • Introduction to Classes (Encapsulation): Time class, Struct based, Class based
  • Project 3: Gomoku Introduction to AI: Human vs Human, Human vs Computer, Game of Life

 

Week 4:

  • Classes: Syntax and definition, Public and Private attributes, this pointer, member function, Example of Set class, Constructors (member initialization), Default, Copy, Destructors
  • Operator Overloading: Change the function of the print, union, intersection, complement etc of Set Class, Friend function, Overload i/ostream operators, Ifstream operator
  • Static Variable and Its Usage: Object count, Singleton and multiton design pattern
  • Templates: Simple Template Function (Swapping Function), Generic Array Class, Specified Template Function, Intro to STL, Vector Data Structure
  • Project 4: Huge Integer Class

 

Week 5:

  • Object Level Relations: Composition, Aggregation, Association, Dependencies
  • Class Relation: Inheritance, Polymorphism, Function pointer, V tables, Diamond problem
  • Chess with the Concept of OOP
  • Project 5: Chess Game
Show All Collapse

What Will You Learn?

  • Basic Syntax and Structure of C++

  • Variables, Data Types, and User Input

  • Conditional Statements and Loops

  • Functions and Their Usage

  • Arrays and Pointers

  • Sorting and Searching Algorithms

  • Dynamic Memory Allocation

  • Object-Oriented Programming (OOP) Concepts

  • Classes and Objects
  • Constructors and Destructors
  • Operator Overloading
  • Templates and the Standard Template Library (STL)
  • Error Handling and Debugging
  • File I/O Operations
  • Implementing Classic Algorithms and Data Structures
  • Developing Simple Games and Applications

Registration Queries

FOR ANY REGISTRATION QUERIES FEEL FREE TO REACH OUT TO OUR TEAM​
Open chat
Hello 👋
Can we help you?
Need more information about Fundamentals of Coding With C++