Intermediate
USACO Track

USACO fundamental: Introduction to C++ programming and Data Structure I

Overview
Curriculum
  • 4 Sections
  • 85 Lessons
  • 13 Quizzes
Collapse All
Data Structure and Standard Template Library (STL) in C++
37 Lessons3 Quizzes
  1. introduction of std::string
  2. std::string_view
  3. Homework: string
  4. Arrays, Strings, and Pointers
  5. Templates and STL
  6. Advanced topic: C++ Templates
  7. Advanced Topic: Advanced c++ template II
  8. Introduction of std::vector in C++
  9. Introduction of std::array in C++
  10. Introduction of std::list in C++
  11. HOMEWORK: vector/list/string
  12. std::span in C++
  13. Introduction to Tree and Hash
  14. C++ STL Containers: map, set, unordered_map, unordered_set
  15. Advanced Topic: when to use insert({key, value}) and emplace(key, value)
  16. Advanced topic: benchmark and custom comparator for unordered or regular map/set
  17. Advanced Topic: multimap and multiset ( order/unordered)
  18. Advanced Topic: multiset / multimap real-world use cases
  19. Advanced Topic: real-world using multi-set/map II
  20. Advanced Topic: Understanding Collisions in Hash Tables
  21. Homework: unordered and regular map/set
  22. introduction to std::stack in C++
  23. Advanced Topic: Polish Notation, Reverse Polish Notation, and Conversions
  24. Advanced Topic: Function Call Using Stack
  25. introduction of std::queue in C++
  26. Introduction to std::deque in C++
  27. Introduction to std::priority_queue (or Heap) in C++
  28. Advanced Topic: compare set/heap, why use heap
  29. Homework: stack/queue/heap
  30. Introduction to Binary Tree in C++
  31. Introduction to STL Algorithm ( commonly used )
  32. Advanced Topic: difference between std::find vs find from stl container e.g: std::string.find vs std::unordered_map.find?
  33. Advanced topic: std::move
  34. C++ STL algorithm II
  35. Advanced Topic: difference between std::binary_search and std::find
  36. STL algorithm III ( std::lower_bound, std::upper_bound, and std::unique )
  37. List of STL algorithms: summary and examples
  38. STL next/prev iterator
  39. STL For USACO
  40. Homework: STL Algorithms

Course Overview:
Welcome to the world of C++ programming and Data Structure! This course is designed for beginners who are new to USACO (  USA Computing Olympiad ) coding and want to gain a solid foundation in one of the most powerful and widely-used programming languages and most used data structure. Through hands-on practice and interactive examples, you will develop the skills necessary to write efficient, reliable, and maintainable C++ code using right data structure.


What You Will Learn:

  • Basics of C++ syntax and structure
  • Data types, variables, and operators
  • Control structures (if-else, loops)
  • Functions and recursion
  • Arrays and strings
  • Object-Oriented Programming (OOP) concepts
  • Introduction to pointers and references
  • File handling in C++
  • Data  Structure and STL (vector, set, tree, hash table, queue etc)
  • Multiple-thread
  • Error handling and debugging techniques
  • Building simple applications and solving problems

Course Features:

  • Hands-on Exercises: Practical coding exercises to reinforce your learning.
  • Real usaco Examples: Learn by solving real usaco problems.
  • Live Support: Access to Q&A sessions, and instructor feedback.
  • Flexible Learning: Online resources and recorded sessions available 24/7.

Ideal For:

  • Beginners with some prior programming experience
  • Students looking to build a strong foundation in C++.
  • Students want to know basic data structure: vector, map, hash, tree, queue etc.
  • Aspiring developers planning to enter software development
  • Those who want to sharpen their skills in problem-solving and algorithm design

Duration:

  • Split into two semesters.
  • About 12-14 weeks/semester, with 1 sessions per week (1 hours per session)
  • First semester will focus on C++ language ( this course )
  • Second semester will focus on Data structure ( see here )

Prerequisites:
A basic understanding of math is and previous programming experience is required.


Materials Included:

  • Access to comprehensive video lectures
  • code examples and exercises
  • Additional reading and reference materials

Outcome:
By the end of this course, you will be confident in your ability to write basic C++ programs, solve coding challenges using correct data structure/algorithm, and understand the principles that form the core of modern software development.


 

Join Us Today and Start Your C++ and Data Structure Journey!

Deleting Course Review

Are you sure? You can't restore this back

Course Access

This course is password protected. To access it please enter your password below:

Related Courses