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 2017/18 - Class Log.

Wed 13 Sep 2017: Welcome!

Fri 15 Sep 2017: Started to install Anaconda... Took a very quick look at Spyder, the Python shell prompt, then Jupyter Notebook. Useful commands in Python (which work at the Python >>> prompt as well as within notebooks) include: dir() and help(). We learned that everything in Python is an object.

Tues 19 Sep 2017: Created the code (with the help of Jupyter Notebook) to explore some of the programming language features of Python. Touched on lots of things that we'll revisit in detail over the next few weeks: lists, ranges, conditions, booleans, built-in functions, the standard library, and so on. See today's transcript for more.

Wed 20 Sep 2017: Revisited the program for the last time (learning about modulus along the way), then we all started singing... about beer.

Fri 22 Sep 2017: We talked a lot about beer. See today's transcript for some versions of the beersong code, as well as the single-page PDF of my beersong code.

Tues 26 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. More in the transcipt... and more on lists (and other stuff) tomorrow.

Wed 27 Sep 2017: We played with some of the group's plist code... then Paul managed to confuse everyone (including himself) re: list comprehensions. More on these later (but do take some time to work through today's notebook).

Fri 29 Sep 2017: Having discussed what lists are bad at, we introduced (and started learning about) dictionaries.

Tues 3 Oct 2017: Concluded our discussion of dictionaries, then moved into tuples and sets. Discussed hashable and unhashable types, too.

Wed 4 Oct 2017: As lots of people were at Grad Ireland (or protesting), Paul chatted about lots of stuff.

Fri 6 Oct 2017: Learned most of what there is to know about functions in Python.

Tues 10 Oct 2017: Concluded our discussion of functions by discussing * and **, then we built the "ease" module (developing the code we needed in a series of notebooks). BTW: it's movie-day tomorrow.

Wed 11 Oct 2017: Today we learned where not to eat in Chicago (thanks to some Python superpowers)..

13, 17, 18, 20, 24, 25, and 27 Oct 2017: Assignment 1 is now active. Erik is addicted already.

Tues 31 Oct 2017: Worked through Paul's wordgame code, then started to learn about Flask. Built our first (simple) webapp.

Wed 1 Nov 2017: More webapp, Postman, and Infinite Monkey Cages (aka Requests/Beautiful Soup).

Tues 7 Nov 2017: Added Jinja2 templates to our webapp, which allows us to more easily share HTML code.

Wed 8 Nov 2017: Built our webapp's first form processing function.

Fri 10 Nov 2017: We added support for sessions to our webapp. We are now ready for Assignment 2.

14, 15, 16, 17, and 21 Nov 2017: Assignment 2 is now active. Deadline extended until 5:00pm, Tuesday 21 November 2017.

Wed 22 Nov 2017: Reviewed Paul's WordGame for the Web code. An extra 5 marks for deploying to PythonAnywhere are now up-for-grabs. Deadline: Friday 24 November 2017.

Fri 24 Nov 2017: Assignment 3 (extra 5 marks for deployment) is ongoing. Deadline is today at 5pm.

Tues 28 Nov 2017: Started looking at hooking Python up with MySQL using DBcm. See today's notebooks for all the gory details.

Wed 29 Nov 2017: Added DBcm into WordGame for the Webapp. An extra 5 marks for deploying the database-enabled code to PythonAnywhere are now up for grabs. Deadline: Tues 5 December 2017.

Fri 1 Dec 2017: Assignment 4 (extra 5 marks for deployment DB code) is ongoing. Deadline is Tuesday December 5th at 5:00pm.

Tues 5 Dec 2017: A short class, but one full of stories... due to snow.

Wed 6 Dec 2017: Did someone say MongoDB?

Fri 8 Dec 2017: More MongoDB.

Tues 12 Dec 2017: We updated our webapp to use MongoDB as opposed to MySQL for its datastore.

Wed 13 Dec 2017: We discussed The Little MongoDB Book.

Tues 9 Jan 2018: Ran through last year's final and repeat papers to gently glide into the new term...

Wed 10 Jan 2018: Our webapp was running fine until Paul decided to fix it... now it's running really slowly. We'll fix this issue on Friday.

Fri 12 Jan 2018: Looked at solving the issue with Wednesday's code using threads... which introduces other subtle issues for us to consider.

Tues 16 Jan 2018: The final assignment - based on Django - has started. Due date for both parts is February 16th, 2018.

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

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

Return to the Courses page.