Polish Your Web Programming Skills with this edX Course

Polish Your Web Programming Skills with this edX Course

AK

Aniket Kundu

08 June 2023

Add To Wishlist

Polish Your Web Programming Skills with this edX Course

Course Overview

CS50's Web Programming with Python and JavaScript is an online, self-paced certification course, developed by edx, provides advanced knowledge of web programming with Python and JavaScript. Topics covered are database design, scalability, security, and user experience. You will learn to write APIs, create interactive UIs, and leverage cloud services like GitHub and Heroku through hands-on projects. By the end of the course, you gain knowledge and experience in principles, languages, and tools that will allow you to design and deploy internet-based applications.

Sir Brian Yu was my principal lecturer for CS50W. He has the simplest approach to every topic: specific skills for certain solutions. He clarified the topics simply by stating which problems a specific skill from that topic would solve, and he worked out through the entire lecture to find better and more efficient solutions. He would recommend programmer-friendly approaches and practices that come in handy when dealing with huge data or code. He also gave excellent analogies while explaining theoretical topics and took up excellent examples for understanding SQL and Python. Sir David J. Malan was another instructor who managed the coursework.

"This edX program will help you gain knowledge and experience in principles, languages, and tools. This in turn, will enable you to design and deploy internet-based applications."

- Aniket Kundu

Course Structure

The Harvard CS50W course is for those seeking well-rounded practical knowledge about designing complete web applications or websites using the latest tools. The course is focused on teaching HTML (Hyper Text Markup Language), CSS (Cascade Style Sheets), SASS (Syntactically Awesome Style Sheets), and Django framework in Python and JavaScript. It also teaches practices and approaches like code security, scalability, and storing code using Github. This web programming course has about 6 projects starting with project 0 and ending with an outstanding Capstone project. The course allows for self-paced learning.  Having a programming background is not a prerequisite but is helpful to undertake this program.

There were 9 lectures on separate topics: HTML CSS, Git, Python, Django, SQL Models  Migrations, JavaScript, User Interfaces, Testing CI/CD,  and Scalability and Security. HTML and CSS were mainly focused on. The lecture on using Github was very important as it introduced the important practice of backing up code to industry servers, and apart from that, it was much more important for project submissions as they were to be done through GitHub. Django was treated as the backbone of our course, as all interactions were dealt with using it at the backend. JavaScript was a complicated topic, but it was well explained and illustrated for use in the front end. Other lectures can be heard in any sequence, but the projects are to be solved in the sequence of the lectures (heavily recommended). A coding background in basic core Python is recommended.

Insider Tips

To get the best out of this course, I have included some important tips that you might find useful.

Listen to the Lectures

Listen to the lectures first and then refer to the notes included religiously. There is a good reason to do this as the lectures were recorded a few years ago while Python and Django were new and developing. Major changes have been made to the Python Language and Django framework ever since which the videos do not capture. Hence making notes will save you plenty of time from getting stuck in bugs resulting from using redundant features used in lectures but corrected in notes.

Divide your Time Properly

Invest 1/5th of your time in listening and reading lectures or notes and 4/5th in completing the project assignments. The projects teach 80% of what was needed for the certificate. You will complete the entire course if you complete all the projects in the right way. 

Capstone Project

The final Capstone Project is crucial for completing the course and earning the certificate. We were instructed to create such a project based on the application of all the skills acquired through the course while ensuring that: it doesn't resemble any of the previous projects, and it doesn't exactly 'imitate' the idea of any other Capstone project submitter from another learner. The Capstone project was to be built from scratch on a topic of our choice. The final work was lengthy and time-consuming at first, but when it was ultimately completed - it turned out to be my favorite work till now. 

Assessment 

The main form of assessment was graded assignments in projects. As stated earlier, there were 6 projects deemed to be completed in a way that matched the sequence of the lectures. Those projects had to be mandatorily completed to progress toward course completion. All were coding projects, and the codes had to be uploaded into a personal GitHub repository allocated to each learner. A video was to be uploaded on Youtube demonstrating all the main features (stated on the project page) through a screen recording. Both the code and video were mandatory, and preciseness and completeness were only granted marks. The frequency of assessments depended on how long the learner took to complete the course. The final assessment of the course is the Capstone project. Plagiarism was not tolerated, and students caught are permanently barred from accessing the course.

Final Take

This course certificate has helped me demonstrate the validity of my skills to employers. The number of job offers has significantly increased after I updated my LinkedIn profile with this certification.

My chemistry tutor was searching for a web developer to develop a website for his institute and I personally wanted to help make a website for a pet store near me and so began my search about the best way to learn web programming. On the edX site, I discovered that Harvard University's CS50 course series were trending, so I opted for the CS50W program.

Since the course was self-paced, individual learning curves were focused upon, and peer interaction was allowed. Cohorts were allowed by the course moderators on Discord, Reddit, Instagram, Facebook, and other major platforms. Notably, the most responsive and vibrant cohort was the CS50 server on Discord. The server was the best place I visited in 2022. There I met many peers, made friends, collaborated in hackathons and solved many problems. The star attractions of this server were the experienced seniors who could solve any problem asked within the blink of an eye, which resulted in uninterrupted learning. I wholeheartedly recommend joining the Official CS50 Server on Discord to get the best learning experience.

A coding background and knowledge of the semantics of C family languages like C, C++, Java, and, if possible, Python is helpful for this course. Any course that develops your basic Python skills shall help you immensely. Python is the backbone of almost every project because the Django framework (A Python library) rigorously uses all the available Python Core concepts.

Web programmers are always in demand in most IT tech firms. They also have the wonderful option to do freelancing. There is a growing demand for people with this skill set. Continuous advancements in software libraries fuel this demand. Hence web programming is a trustworthy and steady source of income and growth.

Key Takeaways

blur

Learn HTML (Hyper Text Markup Language), CSS (Cascade Style Sheets), SASS (Syntactically Awesome Style Sheets), Django framework in Python, and JavaScript

blur

Gain all rounded practical knowledge about designing complete web applications or websites using the latest tools

blur

Study practices and approaches like code security, code scalability, and storing code using Github

blur

Gain hands-on experience from 6 projects including a Capstone project

Course Instructors

Aniket Kundu

Student

Student with interest in programming and web-backend-development