Program Description:
This course introduces core programming basics—including data types, control structures, algorithm development, and program design with functions—via the Python programming language. The course discusses the fundamental principles of Object-Oriented Programming, as well as in-depth data and information processing techniques. Students will problem solve, explore real-world software development challenges, and create practical and contemporary applications using graphical user interfaces, graphics, and network communications..
Personal Reflection
The Object-Oriented Programming course covered basic concepts such as data types, variables, conditions, and loops to more advanced topics like object-oriented programming, which uses the concept of objects rather than procedures and functions. For example, we represent a person using a class in object-oriented programming which contains attributes such as the person's name, age, and weight. The course used the Python programming language to teach the concepts of object-oriented programming, which is one of the most popular programming languages to date. Object-Oriented Programming uses the concepts of Encapsulation, Abstraction, Inheritance, and Polymorphism. As the word encapsulation implies, it acts like a wrapper that encloses the code within, protecting private data within a class. For example, the Person class may contain attributes such as credit card numbers, and so by encapsulating the data (making them private), other objects will not have access. Abstraction deals with separating the interface from the class. Someone interacting with the interface should not need to know what is going on within the class. We can treat Inheritance similar to classifying cars. Whenever you create a car class, all cars will inherit some or all attributes of that class. For example, an attribute for the car class may be color; therefore, if we create a Porsche child car, it will inherit the attribute color from its parent. Finally, polymorphism means many forms, allowing us to use inherited methods to perform different tasks. For example, a car can move; however, they move differently. Polymorphism allows us to define the various movements.
When I started the Object-Oriented Programming course, I had already mastered the concepts of object-oriented programming in Python during my summer break. I presented a project I did during the summer to Professor Ennore, and he told me that my logic was sound.
The final project exam allowed me to create a program using the object-oriented concepts that I learned. Since I had already mastered the concepts in this course through online tutorials over my summer break, which allowed me to complete the project over a couple days. Please view my project report here and my Python program here.