SWEN 325 (2019) - Lecture Schedule

NB! There are two lectures per week on Mondays and Thursdays at 10am in FT77/306. Friday slot is unused as we were mistakenly timetabled for 3 hours per week instead of the requested 2 hours per week.

NB! Almost all the lectures are in person discussions with "best effort" video recordings. We expect you to read the relevant material below before the lecture so that we can go through it and discuss it. Most lectures will not have slides as a result to follow this "flipped lecture" approach.

NB! Note the special (half day: 1pm - 5pm) event in mid-trimester break on Friday 30th of August on Kotlin and Android Development that has free access to all SWEN 325 students.

Week Lecture Date Who What Reading Slides
1 Lecture 1 Monday, 8th of July 2019 Alex Potanin Introduction and Plan for the Course Course Web Page slides (Using Course Web Page)
Lecture 2 Thursday, 11th of July 2019 Alex Potanin Introduction to JavaScript Learning React: Chapter 2 slides (Using Kindle Book)
2 Lecture 3 Monday, 15th of July 2019 Alex Potanin Functional Programming in JS Learning React: Chapter 3 slides (Using Kindle Book)
Lecture 4 Thursday, 18th of July 2019 Alex Potanin Introduction to Frameworks Frameworks = (components + patterns slides (Using PDF Paper)
3 Lecture 5 Monday, 22nd of July 2019 Alex Potanin An Example [Web] Framework (React) Learning React: Chapters 4, 5, 6, 7 slides (Using Kindle Book)
Lecture 6 Thursday, 25th of July 2019 Alex Potanin Introduction to Ionic Ionic Framework Documentation slides (Using Tutorial)
4 Lecture 7 Monday, 29th of July 2019 Alex Potanin Mobile App Architecture Mobile Architecture Guide slides (Using PDF Book)
Lecture 8 Thursday, 1st of August 2019 Alex Potanin Polar Book on Mobile UX Mobile and Multi Device Design slides (Using iBooks Book)
5 Lecture 9 Monday, 5th of August 2019 Alex Potanin Mobile Usability Mobile Usability: Chapters 3, 4 slides (Using Kindle Book)
Lecture 10 Thursday, 8th of August 2019 Alex Potanin Introduction to React Native Learning React Native: Chapters 1, 2, 3, 4 slides (Using Tutorial)
6 Lecture 11 Monday, 12th of August 2019 Kirk Jackson, RedShield Guest Lecture on Mobile Security 1    
Lecture 12 Thursday, 15th of August 2019 Ferdinand Hagethorn, Planit Guest Lecture on Mobile Security 2    
Special (free) Event for SWEN 325 Students and Wellington Android Devs: Friday 30th of August - Kotlin/Everywhere 2019. Save the date!
7 Lecture 13 Monday, 2nd of September 2019 Alex Potanin Invited In Class Demos of A1    
Lecture 14 Thursday, 5th of September 2019 Alex Potanin NO LECTURE    
8 Lecture 15 Monday, 9th of September 2019 Alex Potanin "UI Kit and Gnome UI Guidelines" by Jane Fraser
"Dream Framework for the Web" by Carl Bennett
Lecture 16 Thursday, 12th of September 2019 Donna Wiltshire, Planit Testing for Mobile    
9 Lecture 17 Monday, 16th of September 2019 Alex Potanin NO LECTURE    
Lecture 18 Thursday, 19th of September 2019 Alex Potanin NO LECTURE    
10 Lecture 19 Monday, 23rd of September 2019 Alvin Valera Introduction to IoT and Assignment 3 Briefing   Slides
Lecture 20 Thursday, 26th of September 2019 Alvin Valera Network Connectivity & Messaging   Slides
11 Lecture 21 Monday, 30th of September 2019 Alvin Valera Tutorial on MQTT in Ionic   Slides
Source Files (src directory)
Lecture 22 Thursday, 3rd of October 2019 Alvin Valera Sensors and Actuators   Slides
12 Lecture 23 Monday, 7th of October 2019 Alvin Valera Beacons and System Design for IoT   Slides
Lecture 24 Thursday, 10th of October 2019 Alvin Valera UX for IoT   Slides
NB! And in conclusion: https://search-proquest-com.helicon.vuw.ac.nz/docview/2166307615/C16C1CF76150474BPQ/50?accountid=14782. wink

Online Resources

I read the following books in preparation for this course and I highly recommend them:

  1. Learning React (see VUW Library as online book on our Reading List)
  2. Mobile and Multi Device Design (Free Online and Comes with Videos Free on Apple iBooks Store)
  3. Mobile Usability ($20 on Amazon Kindle or available free as Safari Books Online via VUW Library)
  4. Mobile Architecture Guide (Free from Microsoft)
  5. Learning React Native (see VUW Library as online book on our Reading List)

If you are interested in Software Architecture, I would also recommend the following two books for your future reference:

  1. The Architecture of Open Source Applications
  2. Microsoft Application Architecture Guide

On JS:

  1. https://stackoverflow.com/questions/49626714/what-does-algebraic-effects-mean-in-fp
  2. https://dev.to/yelouafi/algebraic-effects-in-javascript-part-1---continuations-and-control-transfer-3g88
  3. https://medium.com/yld-engineering-blog/continuations-coroutines-fibers-effects-e163dda9dedc
  4. https://docs.npmjs.com/files/package-locks

On JS Frameworks:

  1. https://medium.com/@QueenOliviaStR/react-native-react-native-web-one-code-base-for-ios-android-and-web-b696d14f6107
  2. https://javebratt.com/ionic-firebase-tutorial-intro/
  3. https://www.raywenderlich.com/247-react-native-tutorial-building-android-apps-with-javascript
  4. https://www.lambdatest.com/blog/top-javascript-frameworks-for-2019/
  5. https://www.mindinventory.com/blog/mobile-app-development-framework-2019/
  6. https://dzone.com/articles/does-react-native-surpass-ionic
  7. https://babeljs.io/learn-es2015/
  8. https://www.typescriptlang.org/docs/handbook/react-&-webpack.html
  9. https://medium.com/javascript-scene/top-javascript-libraries-tech-to-learn-in-2018-c38028e028e6
  10. https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/
  11. https://www.jonbell.net/swe-432-fall-2018-web-programming/
  12. https://getbootstrap.com/docs/4.1/getting-started/introduction/ and also Google's Flutter

On Firebase:

  1. https://ionicthemes.com/tutorials/about/building-a-ionic-firebase-app-step-by-step
  2. https://blog.jscrambler.com/integrating-firebase-with-react-native/

On Architecture:

  1. https://www.appfutura.com/blog/understanding-mobile-app-architecture/
  2. https://www.sdgc.com/sites/default/files/pdfs/mobile_applicaton_security_wp.pdf
  3. https://www.ics.uci.edu/~seal/publications/2016ECSA.pdf
  4. https://medium.com/of-all-things-tech-progress/understanding-mvc-architecture-with-react-6cd38e91fefd
  5. https://raygun.com/blog/soap-vs-rest-vs-json/

On UX:
  1. https://1stwebdesigner.com/mobile-app-wireframe-sketching/
  2. The GenderMag Project
  3. Android Usability Guidelines
  4. Apple iOS Human Interface Guidelines
  5. Apple Accessibility on iPhone

On IoT and MQTT:
  1. Internet of Things (IoT): A Vision, Architectural Elements, and Future Directions
  2. 50 Sensor Applications for a Smarter World
  3. Official MQTT Website
  4. 5 Things to Know About MQTT – The Protocol for Internet of Things
  5. Eclipse Paho JavaScript Client

On Sensors, Actuators and Beacons:
  1. Extensive Guide to Bluetooth Low Energy (BLE) Beacons
  2. 6 things marketers need to know about beacons
  3. The Ionic Eddystone Endeavor
  4. The Ionic IBeacon Framework
  5. How to play with iBeacons in a React Native application

On Platforms, Applications and UX:
  1. What is an IoT Platform?
  2. Top 20 IoT Platforms in 2018
  3. User Experience Design for the Internet of Things
  4. Interusability: Designing a Coherent System UX