Introductory Programming II – Building Software Systems
Course Topics
- Review and Recap
- Recap of programming fundamentals from Introductory Programming I.
- Review of basic data structures and algorithms.
- Object-Oriented Programming
- Introduction to object-oriented programming (OOP) concepts.
- Classes, objects, and inheritance.
- Polymorphism and encapsulation.
- Designing and implementing OOP solutions.
- Data Structures
- Arrays, linked lists, stacks, queues, and trees.
- Hash tables and dictionaries.
- Performance analysis and Big-O notation.
- Choosing appropriate data structures for specific problems.
- Algorithms
- Sorting and searching algorithms.
- Recursion and backtracking.
- Graph algorithms.
- Analyzing algorithm complexity.
- Software Design Principles
- Modularity and abstraction.
- Design patterns.
- Testing and debugging techniques.
- Code refactoring and optimization.
- Building Software Systems
- Managing larger codebases.
- Version control with Git.
- Documentation and code comments.
- Collaborative software development using GitHub.
- Project Development
- Working on a significant programming project from concept to completion.
- Applying learned concepts and techniques in real-world scenarios.
- Collaboration, code organization, and project management.
Disclaimer
The course syllabus is subject to change at the discretion of the instructor. Any modifications or updates will be communicated in advance.