Paul Barry's Website - Web Development and Databases

3rd Year Module on the B.Sc. Hons. Degree in Computer Games Development

Games: Web Development and Databases

Academic Year 2017/18 - Class Log.

Thurs 14 Sep 2017: Welcome!

Fri 15 Sep 2017: Installed Anaconda, then ran Python from the Anaconda Prompt. Took a very quick look at Spyder, then explored Jupyter Notebook. Useful commands in Python (which work at the Python >>> prompt as well as within notebooks) include: dir() and help().

Thurs 21 Sep 2017: Worked on producing the program code, with some help from Jupyter Notebook. The final version of this code morphed into, with uses the datetime, time, and random modules from the Standard Library. We also use dir(), type(), and help() to learn about the Python things we were using. See today's transcript for more.

Fri 22 Sep 2017: Took a closer look at the range() function, then used the modulus operator to rewrite the odds code once more. Then we concentrated on the serious stuff: beer. See today's transcripts for more.

Thurs 28 Sep 2017: Talked a lot about how variables work in Python with immutable numbers and strings (and what this means). Started to discuss lists (which are mutable) and ended the class with the plist-challenge. See the transcripts from today for more.

Fri 29 Sep 2017: Concluded looking at lists by discussing what they aren't good for, which lead to a long discussion centred around dictionaries, then tuples, and sets.

Thurs 5 Oct 2017: Learned all about functions, then worked through a 'real' example of a fairly complex function which we'll make available as an importable module in the AM.

Fri 6 Oct 2017: Created a module to hold our developed functions from yesterday (and today), which we can now import. Built our first webapp with Flask (which used our new module).

12, 13, 19, 20, 26, and 27 Oct 2017: Assignment 1 - text-based WordGame is active.

Thurs 9 Nov 2017: We all thought it would never end, but Paul spent 90 minutes talking about this webapp code. 90 long minutes.

Fri 10 Nov 2017: We learned a bit of HTML, then wrote a simple webapp to process our webpage's form and the data it POSTs to the server.

Fri 17 Nov 2017: Templates, Sessions (and those scary global variables). Assignment #2 is now set and is active.

23, and 24 Nov 2017: Assignment #2 is ongoing. Deadline extended until 5:00pm next Monday, Nov 27.

Thurs 30 Nov 2017: Talked about race conditions, then started to look at a technology which can help avoid them in our code: database management systems. Installed MariaDB, created a new database and user, then started to learn about CRUD and SQL.

Fri 1 Dec 2017: Learned about DBcm, installed it, did some more SQL, then connected up our Python code to our backend database.

Thurs 7 Dec 2017: More on databases, including learning about the First Normal Form (1-N-F). New tables included recipes, ingredients, classes, students, and lecturers.

Fri 8 Dec 2017: We worked with the Sakila sample database from - lots of data to play with.

Thurs 11 Jan 2018: Reviewed the solutions to the MySQL class exam.

Fri 12 Jan 2018: Started to learn a bit about MongoDB. The first 5 chapters of The Little MongoDB Book are required reading.

Thurs 18 Jan 2018: Learned about PyMongo, then created a version of our webapp which works with Mongo as opposed to MariaDB.

Fri 19 Jan 2018: Added logging to our webapp, slowed it down, then "fixed" the slowness with some help from Python's treading library.

Rest of term (2017/2018): All remaining classes are given over to the final assignment: Django.

Fri 16 Feb 2018: Last scheduled class of term. Final assignment due. Exam pending.

Return to the Courses page.