Day 26
For Next time
- prepare your materials for the Final Demo session
- Tuesday, May 8, 12:00 PM
Final Demo session schedule
- 12:00
- all students arrive in AC326 and AC328.
- we will watch a playlist of <2 minute videos created by each SoftDes team while we set up demo stations.
- each team will be given a place on a whiteboard to hang the project poster and a table to set up a demo.
- the teaching team will thank the students and have closing remarks.
- we jam into one studio and take a class photo.
- 12:30
- guests arrive.
- at least one team member will remain at demo stations while other team members enjoy the open house.
- light snacks are available.
- 2:30
- teams begin to clean up when guests leave.
- time is available to complete course evaluations.
Before the Final session
- finalize your poster, website, and video/animated gif
- sign up with NINJAs to get help if your team wants assistance recording audio and video for your <2-minute project video.
- This week’s SLAC will have several NINJAs in the Library’s doc lab
- other times are available, up until the morning of the Final Demo session
- This week’s SLAC will have several NINJAs in the Library’s doc lab
2-minute Video Presentations
We are eliminating the live project presentation and website demo video requirements and replacing them with a single deliverable: a ~2 minute video presentation telling your story to an external audience.
The video will explain your goal (what the project is all about) and demo your work in action. It might also introduce the problem domain in service of saying why your project is interesting or explain some crucial implementation details, but remember that 2 minutes is pretty short.
There are two main routes you can take to create this presentation:
- video with audio narration
- “silent film” with title cards and/or text overlay explanations
Below are some recipes to help you accomplish this technically, but for either path today’s deliverable is the same: Create a script and storyboard for your presentation and show it to your studio faculty member either in-class or by email. Once this outline is finished, you should start generating content for the video/animation.
Silent film option
From your storyboard, combine a series of still images and/or short GIF clips into a longer animated GIF. There are several tools you can use to do the stitching:
- GIFMaker.me - recommended
- Clip Champ
Video option
We recommend the instructions for creating an Ubuntu screen cast using Pitivi for stitching together a video. Note that you can also use this flow to create a “silent film” with a bit more control.
Recording audio
Since it’s difficult to get a demo and your narration right at the same time, we recommend that you first create your video and then record an audio voiceover using Audacity, then compose the two using Pitivi.
Find a quiet place to record your audio like the library doc lab. We also have quality studio microphones you can check out rather than using your laptop’s microphone.
If you’d like to include a “talking head” video clip of your team members, you can record it using the built-in Ubuntu webcam app called Cheese.
If you choose to use background music (by no means necessary), make sure you select options which are licensed appropriately.
Capturing your program in action
For still images, there is a Ubuntu built-in tool called Screenshot that will allow you to capture the entire screen, one window, or a region you select.
There are many options to record video of your screen, but for Ubuntu we recommend you start by trying Peek. To install:
sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek
If you want to use the video clips with Pitivi you should record as MP4. To embed short interactions directly on your project webpage, you can also save as a GIF.
If you saved as a GIF and you need an MP4 to work with Pitivi, you can convert it using ffmpeg
:
ffmpeg -i foo.gif foo.mp4
Generating title slides and text overlays
Regardless of what implementation technology you use, you will likely want title cards, transitions, and credits (don’t forget to add your names and give credit to resources you use). There are many options to generate these still images, including:
- Use a photo editor to add text overlays to screenshots. The NINJAs have created a nice guide
- Use presentation software (e.g. Google Slides) and download the slide as an image
- Screenshot from a presentation
- Use magic markers and scan it in
Some Software Design Topics We’ve Explored
Professional skills
- Where to find information
- Stack Overflow
- Tools
- git
- GitHub
- command line
- Python 3.6
- text editors / IDEs
- Jupyter notebooks
Programming with People
- Collaboration techniques
- Divide and conquer
- Pair programming
- How to talk about code
- Architecture reviews
Visualizing a program
- “state diagrams” (Python Tutor “frames”)
- call graphs
- class diagrams
- UML diagrams
Engineering and design practices
- specification and implementation
- noticing recurrent failure patterns
- encapsulation and modularity
- comparing alternatives
- tradeoffs in general
- between specificity and abstraction
- how much to test
- how long to make a variable name
- efficiency vs readability
- between specificity and abstraction
- identifying appropriate Packages
- healthy approaches to APIs and keeping keys safe
Techniques
- caching
- unit testing
- MVC
- optimizing, debugging
- tiny increments – one change at a time
- 5 whys
Dynamic view of project
- commit history
Python concepts
- variables
- functions
- data structures
- loops
- classes
- inheritance
- exceptions
- modules
Sampled topics
- bioinformatics
- graphics / data visualization
- text processing
- web scraping
- artificial intelligence / machine learning
- recursion
- complexity
- interactive gaming