Skip to content

Commit 5c93859

Browse files
authored
Fall 2022: Mini-Project Instructions Update (#1)
* Remove Scala files * Update instructions * Add template README * Update slide instructions to include pdf
1 parent e41ea6e commit 5c93859

File tree

4 files changed

+62
-65
lines changed

4 files changed

+62
-65
lines changed

.gitignore

-4
This file was deleted.

README.md

+15-35
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,26 @@
11
# Principles and Practice in Programming Languages
2+
# Mini-Project: Fall 2022
23

3-
# Mini-Project: Spring 2017
4+
See [instructions.md](instructions.md) for submission instructions.
45

5-
- Draft script due Monday, May 1, 2017
6-
- Final script and video due Saturday, May 6, 2017
6+
# TODO: Replace this with Your Project Title
77

8-
## Overview
8+
## Description
99

10-
For the mini-project, you will develop a video/screencast tutorial with a team of three. The final deliverables for the mini-project will be
11-
12-
1. A short, approximately 5 minute presentation on your topic to be given in class.
13-
2. A final script and materials for your video/screencast, submitted on Moodle.
14-
3. An approximately 10-15 minute video/screencast on your topic. The in-class presentation should be treated as a practice run to get feedback before creating the video/screencast.
15-
16-
There will be two choices of topic for your mini-project:
17-
18-
- Pick a software framework about which you would like to learn. Download, explore, and learn about the software framework before producing your video. Given the short timeframe, you may follow an existing tutorial about the framework as the content for your video. For example, you might say that you want to learn about [Apache Spark](http://spark.apache.org/), so you find a web-based tutorial as the basis for your video content (be sure to cite your sources!). However, in your video, you **must connect something about the software framework to the course content**. This requirement is typically easy to satisfy because just about any software framework will make repeated use of the core concepts of this course (e.g., functions are values, code as data, callbacks and higher-order functions, abstract data types). Your task is to identify instances of these concepts occurring in the software framework.
19-
- **Or**, pick a topic from the course about which you would like to review. Develop some new examples and/or exam-like questions on which to base your video tutorial on the subject. If you choose this route, you **must create new content** (e.g., examples, illustrations) for the basis of your video. For example, you might say that you want to review "encapsulating computation" and `DoWith`, so you develop some new examples to illustrate `Option`, `List`, and `DoWith` in a different light. Challenge yourself to think about explaining the concept in a different way than me.
20-
21-
Be creative!
22-
23-
## Submission Instructions
24-
25-
Submit your script in this repository in the this root directory *and* on [moodle](https://moodle.cs.colorado.edu) the following files:
26-
27-
- Script: [script.md](script.md) or [script.pdf](script.pdf) with your recording script (using either Markdown or a pdf). Please push a draft script by 7:00am on your presentation day.
28-
- Recording: [recording.mp4](recording.mp4) with your video recording. We ask that you use H.264 for video and AAC for audio (see https://vimeo.com/help/compression to make it easier to share later). Please use this standard format.
29-
- Slides (if you use them in your recording): [slides.pptx](slides.pptx) or [slides.key](slides.key) or [slides.pdf](slides.pdf) with slides if you use slides for your screencast. Please push a set of draft slides by 7:00am on your presentation day if you plan to use slides for your practice talk. We will be using one laptop for practice presentations.
30-
31-
**You will not get credit for submissions in other file formats.**
32-
33-
For the other materials that you develop (e.g., example code, script sources, recording sources), please commit them to this repository. All of these materials will be considered as part of your evaluation. Edit this README below to explain your repository organization.
10+
TOD: Replace this with at least a few paragraphs describing your project.
11+
## Repository Organization
3412

35-
For convenience, you might consider uploading a video to Vimeo to YouTube and noting a link here, but you still need to submit a .mp4 recording here and on moodle.
13+
TODO: Replace this with a description of the organization of your repository.
3614

37-
## Examples
15+
## Building and Testing Instructions
3816

39-
Some example tutorial video/screencasts to consider as you put together your project.
17+
TODO: Replace with building and testing instructions. Please minimize the number of dependencies and as simple and platform-independent as possible. Consider, for example, using [Docker](https://www.docker.com/).
4018

41-
- Baseline: [reduce and fold (in Scala)](https://www.youtube.com/watch?v=bnOTEfNEQzw). This video tutorial is baseline example you can consider as a good target.
42-
- Reach: [Insertion Sort](https://www.youtube.com/watch?v=DFG-XuyPYUQ). This video tutorial can be considered an example to inspire some additional creativity.
19+
## Presentation
4320

44-
## Repository Organization
21+
TODO: Update the following links and remove this line.
4522

46-
TODO: to be completed by the student authors.
23+
- YouTube: https://youtu.be/TODO.
24+
- Script: [script.md](script.md) or [script.pdf](script.pdf).
25+
- Recording: [recording.mp4](recording.mp4).
26+
- Slides (if you use them in your recording): [slides.pdf](slides.pdf) and slide sources (e.g., [slides.pptx](slides.pptx) or [slides.key](slides.key)).

build.sbt

-26
This file was deleted.

instructions.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Principles and Practice in Programming Languages
2+
# Mini-Project: Fall 2022
3+
4+
- Draft script due Friday, December 2, 2022
5+
- Final script and video due Thursday, December 8, 2022 (last day of classes)
6+
7+
## Overview
8+
9+
[README.md]: README.md
10+
11+
For the mini-project, you will develop a video/screencast tutorial with a team of three. The final deliverables for the mini-project will be
12+
13+
1. A project repo with a [README.md] project page.
14+
2. Code and other materials for someone to follow your video/screencast linked and described in your [README.md].
15+
3. A final script for your 10-15 minute video/screencast in your [README.md].
16+
4. A 10-15 minute video/screencast on your topic.
17+
5. If time permits, you may be asked to give a short 5 minute presentation on your topic in class. The in-class presentation should be treated as a practice run to get feedback before creating the video/screencast.
18+
19+
There will be two choices of topic for your mini-project:
20+
21+
- Pick a software framework about which you would like to learn. Download, explore, and learn about the software framework before producing your video. Given the short timeframe, you may follow an existing tutorial about the framework as the content for your video. For example, you might say that you want to learn about [Apache Spark](http://spark.apache.org/) or [React](https://reactjs.org/}), so you find a web-based tutorial as the basis for your video content (be sure to cite your sources!). However, in your video, you **must connect something about the software framework to the course content**. This requirement is typically easy to satisfy because just about any software framework will make repeated use of the core concepts of this course (e.g., functions are values, code as data, callbacks and higher-order functions, abstract data types). Your task is to identify instances of these concepts occurring in the software framework.
22+
- **Or**, pick a topic from the course about which you would like to review. Develop some new examples and/or exam-like questions on which to base your video tutorial on the subject. If you choose this route, you **must create new content** (e.g., examples, illustrations) for the basis of your video. For example, you might say that you want to review "encapsulating computation" and `DoWith`, so you develop some new examples to illustrate `Option`, `List`, and `DoWith` in a different light. Challenge yourself to think about explaining the concept in a different way than me. You can also redo, for example, Lab 3 using a different implementation language (e.g., C++ instead of Scala).
23+
24+
Be creative!
25+
26+
## Submission Instructions
27+
28+
Upload your recording to YouTube, link it from your [README.md], and add it to the YouTube playlist given on Canvas.
29+
30+
And push the following files in this repository in the this root directory *and* a `.zip` of this repository on Canvas:
31+
32+
- Script: [script.md](script.md) or [script.pdf](script.pdf) with your recording script (using either Markdown or a pdf)
33+
- Recording: [recording.mp4](recording.mp4) with your video recording. We ask that you use H.264 for video and AAC for audio (see https://vimeo.com/help/compression to make it easier to share later). Please use this standard format.
34+
- Slides (if you use them in your recording): [slides.pdf](slides.pdf) and slide sources (e.g., [slides.pptx](slides.pptx) or [slides.key](slides.key)).
35+
36+
**You will not get credit for submissions in other file formats.**
37+
38+
For the other materials that you develop (e.g., example code, script sources, recording sources), please commit them to this repository. All of these materials will be considered as part of your evaluation. Edit the [README.md] to explain your repository organization.
39+
40+
## Examples
41+
42+
Some example tutorial video/screencasts to consider as you put together your project.
43+
44+
- Baseline: [reduce and fold (in Scala)](https://www.youtube.com/watch?v=bnOTEfNEQzw). This video tutorial is baseline example you can consider as a good target.
45+
- Reach: [Insertion Sort](https://www.youtube.com/watch?v=DFG-XuyPYUQ). This video tutorial can be considered an example to inspire some additional creativity.
46+
47+

0 commit comments

Comments
 (0)