CS50 Harvard University – Programming in Python


Welcome to my blog post! Here I will share my experience with Harvard University’s CS50P course, a comprehensive introduction to computer science and programming. This isn’t merely an introduction to a programming language but an introduction to the intellectual enterprise of computer science and the art of programming.

This course, taught by David J. Malan, provides a broad and robust understanding of computer science and programming. It teaches us to think algorithmically and solve programming problems efficiently. Concepts such as abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development are just some of the key areas we delve into. We become familiar with several programming languages, including C, Python, SQL, and JavaScript, along with CSS and HTML.

One of the most interesting aspects of CS50P is that it appeals to a broad range of students – both majors and non-majors, with or without previous programming experience. We are a vibrant community of like-minded learners at different levels, all engaged in learning and development.

The course requires students to solve a number of programming tasks and develop a final project. For me, this final project was not only a test of the skills I had built up over the course but also an opportunity to delve deeper into a particular area and apply my newfound skills to practical problems.

In this post, I will dive into the details of my final project, explain its purpose, and how I implemented it. I will also share what I have learned through this experience, and how it has impacted my view on programming and computer science. So, let’s get started!

Technical Details

Technically, iShop is a Python application that leverages various technologies and libraries. It uses a GUI (Graphical User Interface) to display the shopping list and give the user various control options. Here we have the possibility to add items to the shopping list, send the shopping list via email, delete the shopping list, and stop the program.

The program first checks if there is already a shopping list. If there is, the shopping list is loaded into the text field on the screen.

When the user speaks to the program, this speech is converted into text using speech recognition. This text is then added to the shopping list. When the shopping list is sent, the user is updated with a message that the shopping list has been sent. Likewise, when the shopping list is deleted, the user gets a message that the list has been deleted.

Upon program termination, the GUI window is closed, and a farewell message is voiced.

The program depends on some files, including “project.py”, “requirements.txt”, “password.py”, and “ishop.png”. These files are essential for the program’s function.

In the development of iShop, I found great help in the following sources, which helped me understand Tkinter and text functions as well as the email function in Python:

You can find more about my project on my GitHub profile, or watch a video demo of the program.

Leave a Reply

Your email address will not be published. Required fields are marked *

Please reload

Please Wait