Paul Barry's Website - Web and Cloud Development - Year 3

3rd Year Module on the B.Sc. Degree in Software Development

Software Development: Web and Cloud Development - Year 3

Academic Year 2018/19 - Class Log.

Wed 12 Sep 2018: Welcome! See the welcome PDF for more.

Thurs 13 Sep 2018: Installed PIP, set up GIT, created a learning folder and a Python virtual environment into which we installed Jupyter Notebook. We are up-and-running.

Tues 18 Sep 2018: More git. Installed the black code formatter into our Python virtual environment. Starting learning about Python - see today's notebooks as well as the program. Learned how to run Python programs from within a Jupyter notebook, as well as within a Jupyter terminal. Learned that 'for' is preferred over 'while' by most Python programmers (especially when used with the range() function).

Thurs 20 Sep 2018: Talked more about range() and lists, learning about the two and three argument version of range() and the slice notation for lists. Then we talked about (sang?) beer...

Tues 25 Sep 2018: We reviewed the beer submissions, then introduces Python's built-in data structures: lists, tuples, dictionaries, and sets.

Wed 26 Sep 2018: We started our review of lists (see today's notebook), which lead into the next coding exercise... designed to explore the built-in list methods.

Thurs 27 Sep 2018: We ran through the submitted 'on tap' exercises - well done to our volunteers today. No class next Tues, October 2, as the lab is not available to us. See you Wed 3rd.

Wed 03 Oct 2018: The day did happen... but it's unclear what we did in class. Did anyone turn up?

Thurs 04 Oct 2018: Learned when not to use lists, then started to learn about dictionaries.

Thurs 11 Oct 2018: Using setdefault with dictionaries, then using Counter (from collections), then exploring sets and tuples.

Tues 16 Oct 2018: All about superheroes - using the Python built-in data technologies to do useful stuff.

Wed 17 Oct 2018: Learned how to abstract code into a function (and a module) so that it can be shared more easily. Learned about optional parameters (with defaults) as well as named parameters (where the order is less significiant).

Thurs 18 Oct 2018: Build our first webapp (called which introduced Flask and the request/response process.

Tues 23 Oct 2018: Extended our webapp to include static files, Jinja2 templates, and POSTed data. Created the webapp folder, a new virtualenv with pipenv, a new repository with git, etc., etc. This is all in preparation for the first assignment (details tomorrow).

Wed 24, Thurs 25, Tues 30, Wed 31 Oct 2018 and Tues 6, Wed 7, Thurs 8 Nov 2018: Distributed details of Assignment #1 (on Wed 24th), which is now active. Due date/time is 5:00pm on Friday, November 9th, 2018.

Tues 13 Nov 2018: Worked through Paul's WordGame webapp code (which was then distributed after class).

Wed 14 Nov 2018: Assignment 2 - PythonAnywhere - distributed.

Tues 20 Nov 2018: Started to learn about using RDBMSes with Python (via the DBcm module). Installed and configured MariaDB to host our WordGame leaderboard technology.

Wed 21 Nov 2018: Updated the module to use a SQL database as opposed to a pickle file. This works, but exposed a bug in (which needs fixing).

Thurs 22 Nov 2018: Discussed (and resolved) the bug, then distributed CA#3.

Tues 20 Nov 2018: Learned all about Impedance Mismatch...

Wed 28 Nov 2018: After a power outage, we got back to playing with MongoDB.

Thurs 29 Nov 2018: Explored programmatic access to MongoDB data with the pymongo driver.

Tues 04 Dec 2018: We're building a online database reporting system from scratch, using Python, Flask, and DBcm (so far). It's a little basic, but it's getting there.

Wed 05 Dec 2018: Continued to build-out our webapp, which is now ready to be beautified.

Thurs 06 Dec 2018: Added the db.css file to allow for some simple styling, then added loop.indexing to the table-viewing template to improve the look of our HTML tables.

Tues 11 Dec 2018: We extended the templates to have an additional layer of generic template to allow us to easily extend the system with more queries and tabular results.

Wed 12 Dec 2018: With approx. 20 lines of code, we extended our dbreports system to display the raw data as well as some useful visuals (graphs).

Thurs 13 Dec 2018: Will me make it to double-figures today?Yes! We did! Ten students turned up.

Fri 14 Dec 2018: Last day of term. Happy Holidays!

Tues 8, Wed 9, Thurs 10, Tues 15, Wed 16, and Thurs 17 Jan 2019: New Year, New Assignment. The details of the Django assignment were discussed and distributed. As of 16 Jan 2019, attendance is low.

Tues 22, Wed 23, and Thurs 24 Jan 2019: About 50% of the class making it to the assessment class. I can't wait to see the Django submissions for those students who are "missing".

Tues 29 Jan through Thurs 14 Feb 2019: About 50% of the class have presented their Django project, and they can move onto deploying on PythonAnywhere. Note: Tues 19th is the deadline so - if you want to gets some marks for this work - you must present during Tuesday's class (which is the last class).

Return to the Courses page.