Skip to content

Latest commit

 

History

History
187 lines (134 loc) · 4.86 KB

v_graph.livemd

File metadata and controls

187 lines (134 loc) · 4.86 KB

Velocity Graph

Mix.install([
  {:kino, github: "livebook-dev/kino"},
  {:postgrex, "~> 0.16.1"}
])

2022-04-04 graph

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

Questions

What can we effectively remove?

Takeaway

Will add restrictions to README when licence found.

2022-04-11

Review

  • [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

Goals

  • [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

Questions/Update

  • 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

2022-04-18

Goals

  • 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.

2022-04-25

Unfortunately Last week I was ill. Minimal progress was made and my goals are the same as last week.

2022-04-28

  • 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

2022-05-02

  • Week 2 String Section
  • Week 3 Filling in Content & Exercises