COMPUTER PROGRAMMING 2

Course Description


The course covers advanced topics in computer programming using general-purpose programming language to solve computing problems. The emphasis of this course is to train students to design, implement, test, and debug programs intended to solve computing problems by implementing advanced programming constructs.


Specification, this course will use the Python programming language to introduce students to advanced topics in computer programming. It will include topics in object-oriented programming (OOP), advanced string manipulation using a regular expression (regex), accessing files and databases, data analysis and data visualization, and graphical user interface (GUI).

COURSE REFLECTION

Throughout the course, I embarked on a learning journey that covered essential programming concepts and skills, including object-oriented programming (OOP), regular expressions (RegEx), CRUD operations, databases, and graphical user interfaces (GUI). Each phase of the course presented its unique challenges and opportunities for growth, ultimately shaping my understanding and proficiency in these areas.
In the Prelim term, I acquired a strong foundation in OOP principles and applied them in developing EventGenie, an event planner assistant. By creating 'Event' objects and utilizing RegEx to extract information from invitations, I demonstrated my ability to apply OOP and manipulate data effectively. Implementing CRUD operations allowed for the creation, reading, and updating of summary files, enhancing the program's functionality.
While working on EventGenie, I faced challenges such as determining the optimal representation of events as objects and integrating with the Outlook Calendar app. Overcoming these obstacles required careful visualization and leveraging external resources, including seeking guidance from the chatGPT and consulting with instructors and peers. These experiences taught me the importance of perseverance and resourcefulness in problem-solving.
In the Midterm phase, I expanded my knowledge by delving deeper into databases and their integration into programming projects. I recognized the significance of database creation and management, focusing on structuring the store database and implementing SQL commands using Python SQL libraries. Although the project posed challenges in visualizing the database structure and incorporating functionalities like a cart system, I dedicated time to research, planning, and seeking advice to overcome these obstacles successfully.
The SemiFinals period brought a heightened focus on databases, solidifying my understanding of their creation and utilization. I honed my skills in executing SQL commands, performing CRUD operations, and ensuring careful planning and visualization when designing databases. My project showcased my growth in this area and highlighted the value of consultation and meticulous planning in managing complex tasks.
Finally, in the Finals, I embraced the integration of OOP, databases, and GUI by developing the Golden Mane ATM program. This comprehensive project demonstrated my ability to create an object-oriented GUI application that effectively stored and managed Account and Transaction information in a database. Overcoming challenges in code organization, I adopted strategies such as class separation and modularization to enhance maintainability and readability.
Reflecting on the course as a whole, it has provided me with valuable skills and knowledge that are highly relevant to my career prospects as an IT professional. I have learned to leverage OOP principles, interact with databases using SQL, and create user-friendly GUIs. These skills empower me to develop robust and efficient software solutions tailored to diverse needs and ensure a seamless user experience.
Moving forward, I see opportunities for further improvement and expansion of my projects. For instance, in EventGenie, I envision incorporating a graphical user interface and integrating the Google Email API to enhance functionality and streamline data access and organization. Additionally, I plan to explore advanced features such as automatically generating emails to express event attendance limitations.
In conclusion, this course has been a transformative experience, equipping me with the necessary skills and knowledge to integrate OOP, databases, and GUI in Python programming effectively. Each phase of the course presented its unique challenges, but through perseverance, resourcefulness, and collaboration, I was able to overcome them and achieve significant growth. I am excited to continue refining and applying these skills in my future endeavors as I navigate the ever-evolving field of programming.

We extend our sincere gratitude to Mr. Rodrigo C. Belleza Jr., our Dean and Professor, for his enthusiastic and patient teaching throughout the course. His dedication, passion, and support have greatly contributed to our learning experience.