Pre-reqs: You should have completed Module 6
In Module 6 you got a bit of experience building the front end of a website. You learned how to build an HTML page with a form that sends HTTP requests out to an external server somewhere (like Google or an API exposed by Slack or CS50).
But what if we ourselves want to dictate what response should come back from that request? For example, if a user on Susan's blog page clicks the button called "archived articles", he wants to see an archive of all the articles Susan has written. So instead of sending a request to Google or somewhere, the button should cause a request to get sent to Susan's very own back end, which she has written herself, so she can handle that request and say "Oh, you want those articles? Well, here you go!"
In order to implement your own back end like Susan, you will learn, in this module, a new language called PHP. PHP is a very popular back end web prgramming language, which has some similarities to C, but some new features as well. You will be happy to discover that PHP simplifies a lot of tasks that were very tedious to accomplish in C (though the same could be said for most modern, higher-level languages. Now that you've done C, everything else should look a little friendlier by comparison!)
In addition to a back end, most websites have a database. Going back to the example of Susan's articles, the database is the location where all of her archived articles actually live. In order to respond to the user with the contents of one such article, her back end would have to "query" the database to find it. In this module you will learn how to create and interact with a database using a language called SQL (Structured Query Language).
In Problem Set 7, you will put all these new skills to good use, building your own website called C$50 Finance, which allows users to buy and sell shares of make-believe stock on the stock market, and manage their portfolio.
| Class # | Date | Before Class | During Class | Topics / Skills |
|---|---|---|---|---|
| Class 1 | TBD | Prep Work | In Class | PHP syntax, PHP on the Web, sessions & cookies |
| Class 2 | TBD | Prep Work | In Class | The MVC Paradigm, SQL |
| Class 3 | TBD | Continue Problem Set 7 | In Class | (office hours!) |