Mix.install([
{:kino, github: "livebook-dev/kino"},
{:postgrex, "~> 0.16.1"}
])
Week Goals
- Day 1 and Day 2 of Week 4
- [Stretch Goal] All of Week 4
- [Maintenance] Week 1 Content Updates
- [Maintenance] Automated Testing System
- [Maintenance] Add Licence
General Feedback
- Seems like a lot of content, what can we remove?
- Remove the custom deployment of self-made server, add deployment later in the course. What deployment should we use? (Recommendations made to partner with Fly)
- Potential order changes: Some Week 9 topics could be sooenr
- adding stretch goals or extra credit sections
- add a survey of students
weeks = 12
start = Date.new!(2022, 1, 15)
current = Date.utc_today()
finish = Date.new!(2022, 7, 1)
past_days = Date.diff(current, start)
days_until_finish = Date.diff(finish, current)
content_completed_in_days = 15
remaining_content_in_days = 35
necessary_pace = remaining_content_in_days / days_until_finish
current_pace = content_completed_in_days / past_days
size = 600
widget =
VegaLite.new(width: size, height: size)
|> VegaLite.mark(:line)
|> VegaLite.encode_field(:x, "x", type: :quantitative)
|> VegaLite.encode_field(:y, "y", type: :quantitative)
|> VegaLite.transform(groupby: ["color"], extent: [2500, 6500])
|> VegaLite.encode_field(:color, "type", title: "V Graph", type: :nominal)
|> Kino.VegaLite.new()
IO.inspect(Float.round(necessary_pace * 5), label: "days of content I must finish per week")
current_pace =
Enum.map(0..days_until_finish, &%{x: &1, y: &1 * current_pace + 15, type: "current pace"})
baseline =
Enum.map(0..days_until_finish, &%{x: &1, y: content_completed_in_days, type: "baseline"})
goal_pace =
Enum.map(0..days_until_finish, &%{x: &1, y: &1 * necessary_pace + 15, type: "goal pace"})
Kino.VegaLite.push_many(widget, goal_pace)
Kino.VegaLite.push_many(widget, current_pace)
Kino.VegaLite.push_many(widget, baseline)
widget
What can we effectively remove?
Will add restrictions to README when licence found.
- [Maintenance] Week 1 Content Updates & Tests
- [Maintenance] Automated Testing System
- Day 1 and Day 2 of Week 4 (exercises complete, missing reading material)
- (holding off) [Maintenance] Add Licence
Additionally
- Added new Setup Section
- [Maintenance] Week 2 Content Updates & Tests
- Day 3 and Day 4 of Week 4
- Week 4 Day 1 & 2 Reading material
- [ ]
weeks = 12
start = Date.new!(2022, 4, 4)
current = Date.utc_today()
finish = Date.new!(2022, 7, 1)
# past_days = Date.diff(current, start)
days_until_finish = Date.diff(finish, start)
# days_until_finish = Date.diff(finish, current)
weeks_until_finish = div(days_until_finish, 7)
content_days = 11 * 5
week1 = 15
week2 = 17
weekly_pace = week2 - week1
necessary_pace = (content_days - week1) / weeks_until_finish
size = 600
# 2022-04-04
week1 = %{x: 0, y: 15, type: "actual_pace"}
# 2022-04-11
week2 = %{x: 1, y: 17, type: "actual_pace"}
velocity =
for week <- 1..weeks_until_finish, do: %{x: week, y: week * weekly_pace + 15, type: "velocity"}
widget =
VegaLite.new(width: size, height: size)
|> VegaLite.mark(:line)
|> VegaLite.encode_field(:x, "x", type: :quantitative)
|> VegaLite.encode_field(:y, "y", type: :quantitative)
|> VegaLite.transform(groupby: ["color"], extent: [2500, 6500])
|> VegaLite.encode_field(:color, "type", title: "V Graph", type: :nominal)
|> Kino.VegaLite.new()
goal_pace =
Enum.map(0..weeks_until_finish, &%{x: &1, y: &1 * necessary_pace + 15, type: "goal pace"})
Kino.VegaLite.push_many(widget, goal_pace)
Kino.VegaLite.push_many(widget, velocity)
Kino.VegaLite.push_many(widget, [week1, week2])
widget
- Week 1 done (needs very small update)
- Week 2 estimated done this week.
- Week 3 needs exercises and test feedback
- Week 4 needs reading material
- I estimate I am 25%-30% complete with the course.
- We are past 50% of the deadline.
- We're not on linear pace for July 4.
- Are there ways we can save time on the course? (reading material compromises or alternative approach?)
- Assuming linear pace, my estimate for completion is
- Week 2 Maintenance (Content Updates and Tests)
- Week 3 Maintenance (Content Updates and Tests)
- List of beta testing feedback and small revisions
- Week 4 RND using Smart Cells to teach SQL.
Unfortunately Last week I was ill. Minimal progress was made and my goals are the same as last week.
- Week 2 Content updates almost done
- Added pattern matching to early content
- Added Date Time lessons
- Greatly expanded Built in module section with exercises in reading.
- Expanded added pattern matching and Date lessons
- Added piper operator to functions lesson
- Week 2 String Section
- Week 3 Filling in Content & Exercises