Previous to the project: The course

In January 2022 I decided to do a programming course since I knew how important is for designers to understand the job of engineers.

For this purpose, I selected the best and most prestigious course I could find online: Harvard’s CS50.

This course consisted on 11 weeks, each one with a lecture by the professor and a problem (usually two problems per set).

It helped me understand the basics of Computer Science and build my abilities on C, Python, SQL, JavaScript, HTML, CSS and Flask.

This program in C simulated an election, having into account the number of votes and giving the name of the winner as a return value.
This program, written in Python, lets you enter names and birthdays in a SQL database and then displays it on the screen.
In this assignment, I created a personal website with 4 pages talking about myself, my hobbies, etc. It was mainly written in HTML, CSS and JavaScript.

The project

The final project of the CS50 course consisted on creating a video game, a website, an app, or anything that would be useful for your community after the course itself was over.

For this purpose, I decided to create a tentative platform for my newest product: Detox Mental (mentioned in the alejandroluis case study)

The homepage of the course.

The role

My role was to be a full-stack developer for the complete project, using HTML, CSS and JavaScript for the front-end code and Python, SQL and Flask for the back-end.

More code over here. It took me around two weeks to get the project done.

The product

Detox Mental is an audio course with 15 audio sessions and 15 text assignments for students.

The website is intended to be a platform where users can create an account, access the audios, and read the assignments.

A funny error message that pops when users forget to introduce their password.

The data of users is archived on SQL databases.

A few of fictional users only to demonstrate where their information is being stored.

The web applications are written with Python.

The "routes" that create action inside the website are written in Python.

The on-page information and the appearance of the site is made with HTML and CSS (using bootstrap complements).

Both code and the actual text that appears on the page.

JavaScript was also used to give the site some nice functionalities without having to re-load the page each time.

This JavaScript piece of code felt complicated for me to write at first, but it was worth it since it gave the "lessons" page great functionality.

Completed project

Here you can see the final video for CS50 where I present the project explaining all of its functionalities.

Challenges

The CS50 course was very, very challenging. Not only I had to re-watch some lectures to understand the details of the assignments, but it was also completely necessary to learn how to surf the web in order to find the answer to specific bugs my code presented (special shout-out to stackoverflow.com).

Moreover, being a complete stranger to the computer science world, there were many times where I just couldn’t find the answers online, but thankfully the course has a Discord channel which I visited frequently to ask questions and get answers from mentors.

I wasn’t at all used to do this, so I think that was the biggest challenge of all: to learn how to ask for help and collaborate with people whom I don’t even know.

What I learned

A learned tons from CS50. More importantly:

  • C.
  • Python.
  • SQL.
  • HTML.
  • CSS.
  • JavaScript.
  • Flask.
  • Upgrade of my problem-solving skills.
  • Asking for help online.

That was the Detox Mental project

Learning how to code was extremely fun yet challenging for me. This combination makes the finishing of CS50 one of my favorite achievements of 2022.

Also, I indirectly improved my design skills by being able to understand more deeply what engineers will do when they receive my designs, a skill that will surely help me on future projects.

I don’t discard the possibility of learning more about coding in upcoming years. I think it to be a highly useful ability not only for work, but for the thinking and creative processes in general.

Thank you for reading this case study. If you’d like to contact me, here you have some ways to do it: