Mastering CS with Python L2
Course Description
In this course, students dive deep into computer science principles using the Python language. They explore advanced topics like Object-Oriented Programming, recursion, and complex data structures including NumPy arrays. The curriculum covers essential software engineering practices such as the Software Development Life Cycle (SDLC), Agile development, and version control with GitHub. Students also gain practical skills in database management using SQL and cryptography. Through hands-on projects like game development and banking systems, learners develop robust problem-solving abilities and prepare for professional-level coding challenges.
Course Learning Goals
Master Object-Oriented Programming concepts including classes, objects, inheritance, and polymorphism.
Implement advanced data structures such as dictionaries, sets, and NumPy arrays for efficient data manipulation.
Apply collaborative software development practices using GitHub, Agile methodologies, and the SDLC.
Design and analyze algorithms for sorting, searching, and graph traversal like Dijkstra's algorithm.
Develop secure applications by understanding cryptography principles, including RSA encryption and decryption.
Construct and manage relational databases using SQL queries, normalization, and joins.
Utilize recursion to solve complex mathematical and logic problems efficiently.
Build interactive applications and games using GUI libraries like PySimpleGUI and Turtle.
Course Information

