On this page:
Software Development
Home
8.7.0.3

Software Development

Software Development

From the first day of the semester forward we expect students (you) to visit this page once per 24 hours.

“To be any kind of professional means being willing to tell the client a truth he doesn’t want to hear.” – Holman W. Jenkins, Jr.

“I’m still friends with folks I worked with decades ago, many who would beat me up in meetings, ripping apart my arguments with what seemed like an ice pick. Still, they made me better.” – Andy Kessler

“It is on the syllabus.”

image


Friday, December 16th, 2022 8:55:11am

The End

image

Wednesday, December 7th, 2022 10:04:43pm

You may wish to run your xserver-xclients script (10 — Revised!) on these sample tests.

image

Wednesday, December 7th, 2022 8:10:00pm

Check the Final Code Walks page to make sure you are signed up for code-walk slot. Each partner must bring a laptop with the code-based pulled to the appropriate commit. The College’s tech is brittle, and we never know which one works properly. because of this brittleness, the code walks will take place in WVH 164 and 166.

During the code-walk, one partner will present and tell the other partner where to navigate. The partner at the laptop must not scroll or switch to places in the code base unless the presenter asks.

image

Wednesday, December 7th, 2022 3:52:53pm

Here is what I recommended to some students in my section for debugging server/client interactions.

Two different pairs may meet and run a server/client connection over a local network. Do not exchange code to run on one laptop; it too easily leads to plagiarism.

On campus, local networks are unlikely to permit such setups. At home, it should be feasible but you may have to check your router’s settings. What works for sure us to turn an iPhone into a hotspot and connect via that local network.

Once your laptops are on such networks, determine your laptop’s IP address and use ping from a shell to make sure the two laptop can see each other. After that, you may have to launch the server on the dynamically assigned IP address (not localhost) to make it visible.

At least one pairing of pairs, found bugs in their systems immediately.

image

Monday, December 5th, 2022 11:39:13pm

A question about my 1-round led to the discovery of a (n unrelated) bug. Here is the debugging story.

My debugging started with a unit test that exposes the bug in a repeatable fashion. The unit test consists of three individual "check expects":
;; one player passes once, the other player always;
;; both are at the same distance and must win
(define p1-palways (list pass-ω pass-1))
(define p1-state   (xstate padded-oli p1-palways))
 
(for ([p (map cnr p1-palways)])
  (check-equal? (send p take-turn p1-state) PASS (~a (cnr-name p) " passes")))
(check-equal? (score-game p1-state) `[,(map car p1-palways) []] "both pass, score!")
(check-equal? (referee/state p1-state) `[,(map cnr p1-palways) []] "pass-pass")
The first one makes sure that in the current state, both players would pass. The second one tells the reader that in this state both are indeed winners. The third test runs the referee on the current state—and it fails with the old code.

The fix is to move the “field” assignment (for all-passed) from the second result clause of xsend+ to is-done?, the function that inspects the transition from the old state to the new one according to the player’s choice:
#; {type OneTurn = (values State [Listof RIP])}
#; "(value s out)"
;; s : the state after one turn
;; out : the lis of misbehaving players at the end of the turn
 
#; {RIP State [Listof RIP] -> OneTurn}
(define ((one-turn return all-passed) ap s out)
  (xsend+ ap take-turn (rstate->pstate s)
          [[failed        (values (kick-out s) (cons ap out))]
           [(clegal s s+) (is-done? return s out s+ all-passed)]
           [_             (values (kick-out s) (cons ap out))]]))
 
#; {[OneRound -> Empty] State [Listof RIP] State [Box Boolean] -> OneTurn}
;; `s+` is the result of applying a legal action to `s`
;; check the state that the active player has created & terminate the turn
;; EFFECT assign a new goal if needed and
(define (is-done? return-to-run-game s out s+ all-passed)
  (with-obs s+)
  (cond
    [(player-passed? s s+)           (values (turn-over s+) out)]
    [(player-not-passed! all-passed)]  ;; is always #false but updates `all-passed`
    [(finished? s+)                  (return-to-run-game s+ #true #false out)]
    [(assign-next-goal s+) =>        (inform-of-new-goal! out)]
    [else                            (values (turn-over s+) out)]))
The key to note here is that I removed the assignment to all-passed from run-one-round and added it to is-done?. The actual assignment is hidden in player-not-passed, which looks like a condition but merely changes the value of all-passed and always fails.

In the process the method grew to 10 lines, so I introduced some auxiliaries for readability:
#; {[Listof RIP] -> [List State RIP] -> OneTurn}
;; EFFECT inform player of newly assigned goal
(define ((inform-of-new-goal! out) state+ap)
  (match-define [list s++ ap] state+ap)
  (xsend+ ap setup #false (player-going-to ap)
          [[failed (values (kick-out s++)  (cons ap out))]
           [_      (values (turn-over s++) out)]]))
 
;; auxiliaries for readability only
(define (player-passed? s s+) (eq? s s+))
(define (player-not-passed! b) (set-box! b #false) #false)

image

Monday, December 5th, 2022 9:34:18pm

Here are the results of your vote on the presentation/paneling grades:

ok+

     

ok

     

ok-

     

zero

99

     

94

     

88

     

76

image

Friday, December 2nd, 2022 10:31:07pm

Instagram has forked Python to make its type system somewhat sound. The word “sound” is a technical term, and often comes with “soundness theorem,” “safety theorem,” or the technical “progress and preservation theorem.” In essence this means that types are meaningful and help developers beyond editing in an IDE. The language is called Cinder and currently available for Linux:

the Cinder web site

A group at Brown has published a first research paper investigating this new design; many of you might have an easier time scanning this paper than the Cinder web site (for now). You will also get a somewhat more nuanced impression than from the creators.

image

Wednesday, November 30th, 2022 9:18:08pm

Code Walks for Thu, 1 December 2022

Section MF-915

    Presenters: Thomas Mactaggart, Dylan Burati

    Head Reader: Jamie Lin

    Assistant Reader: Chris Tozlowski

    Secretary: Luke Po

    

    Presenters: Michael Guo

    Head Reader: Garrett Michiels

    Assistant Reader: Nuocheng Wang

    Secretary: Nick Frank

Section MF-1030

    Presenters: Justin Kwon

    Head Reader: Vedant Rautela

    Assistant Reader: Abby Wisnewski

    Secretary: Qishen Pang

    

    Presenters: Sahana Tankala, Luis Soto

    Head Reader: Michael Ford

    Assistant Reader: Justin Kwon

    Secretary: Bryce Devoe

Section BL-1030

    Presenters: Anna Maria Barbiellini Amidei Vasilios Gjezo, Sophia Thomas

    Head Reader: Shannon McInnis

    Assistant Reader: Can Ivit

    Secretary: Owen Thurm

    

    Presenters: Emily Minor

    Head Reader: Reilly Farrell

    Assistant Reader: Charles Williams

    Secretary: Duncan Vogel

Section BL-135

    Presenters: Logan Morneault, Shashwat Patel

    Head Reader: Jonathan Hsieh

    Assistant Reader: Alex Kerwick

    Secretary: Jack Craciun

    

    Presenters: Deion Smith

    Head Reader: Andre Danahy

    Assistant Reader: Yolanda Jarrin

    Secretary: Angel Gong

image

Wednesday, November 30th, 2022 3:57:53pm

You may wish to run your xserver-xclients script (9 — The Revision) on these sample tests.

image

Tuesday, November 29th, 2022 7:43:32pm

Code Walks for Wed, 30 November 2022

Section MF-915

    Presenters: Benjamin Alonzo, Jessica Su

    Head Reader: Dylan Sapienza

    Assistant Reader: Kyle Ednie

    Secretary: Joey Kim

    

    Presenters: Daniel Robbins, Aditya Selvam

    Head Reader: Eric Yip

    Assistant Reader: Akshay Dupuguntla

    Secretary: David Yan

Section MF-1030

    Presenters: Andrew Sayegh, Emily Smith

    Head Reader: Jason Cheung Xun Xu

    Assistant Reader: Caroline Zhu

    Secretary: Zach O'Brien

    

    Presenters: Ivan Rudyakov, Carlos Gimeno

    Head Reader: Nolan Pollack

    Assistant Reader: Jacob Monticello

    Secretary: Zachar Hankewycz

Section BL-1030

    Presenters: Grace Miller, Nate Moore

    Head Reader: Anna Maria Barbiellini Amidei

    Assistant Reader: Tao Setoguchi

    Secretary: Kyle Koo

    

    Presenters: Jack Whitten, Aaron Wachowiak

    Head Reader: Ty Pacchione

    Assistant Reader: Max Hayashi

    Secretary: Sophia Thomas

Section BL-135

    Presenters: Marcus Roldan, Patricio Bentin David Mitre, Joey Kim

    Head Reader: Jack Craciun

    Assistant Reader: Nick Coury

    Secretary: Leah Zeisner

    

    Presenters: Nelwin Gonzalez Barreto, Dylan Huang

    Head Reader: Brian Gay

    Assistant Reader: Tyler Furrier

    Secretary: Monroe Chung

image

Sunday, November 27th, 2022 7:04:56pm

Code Walks for Mon, 28 November 2022

Section MF-915

    Presenters: Caroline Zhu, Alec Norrie

    Head Reader: Joey Kim

    Assistant Reader: Eric Yip

    Secretary: Marcus Roldan Chris Tozlowski

    

    Presenters: Henry Geng, Jack Denson

    Head Reader: Luke Po

    Assistant Reader: Nick Frank

    Secretary: Garrett Michiels

Section MF-1030

    Presenters: Kincent Lan, Zachar Hankewycz

    Head Reader: Emmanuel Manolios

    Assistant Reader: Kyle Chung Michael Ford

    Secretary: Adam Smith

    

    Presenters: Andrew Sayegh, Emily Smith Jacob Monticello, Nithya Balaji

    Head Reader: Jason Cheung Max Leroux

    Assistant Reader: Colin Rozzi

    Secretary: Abby Wisnewski

Section BL-1030

    Presenters: Jojo Broussard, Micaela Trzcinski

    Head Reader: Sophia Thomas

    Assistant Reader: Reilly Farrell

    Secretary: Shannon McInnis

    

    Presenters: Nate Moore, Grace Miller Can Ivit, Luka Jovanovic

    Head Reader: Thomas Mactaggart

    Assistant Reader: Kyle Koo

    Secretary: Joseph Pierre-Louis

Section BL-135

    Presenters: Jonathan Hsieh, Jack Craciun

    Head Reader: Dario Ortiz

    Assistant Reader: Deion Smith

    Secretary: David Mitre

    

    Presenters: Kane Xu, Yuxuan Qiu

    Head Reader: Hussain Khalil

    Assistant Reader: Andre Danahy

    Secretary: Patricio Bentin

image

Monday, November 21st, 2022 9:22:47pm

Please see Final Code Walks for the preliminary final code walk schedule. Prof. Lerner’s will appear there soon. If you need a slot, contact your section’s instructor; cross-section pairs are code-walked in my section.

image

Sunday, November 20th, 2022 6:58:05pm

Code Walks for Mon, 21 November 2022

Section MF-915

    Presenters: Nuocheng Wang, Chris Tozlowski

    Head Reader: Nuocheng Wang Michael Guo

    Assistant Reader: Ross Curcio

    Secretary: Aleksander Aguilar

    

    Presenters: Nick Selvitelli, Derek Leung

    Head Reader: Akshay Dupuguntla

    Assistant Reader: Aditya Selvam

    Secretary: Thomas Crook

Section MF-1030

    Presenters: Diego Valdivia Cox, Qishen Pang

    Head Reader: Joseph Henson

    Assistant Reader: Xun Xu

    Secretary: Jacob Monticello

    

    Presenters: Vedant Rautela, Bryce Devoe

    Head Reader: Nithya Balaji

    Assistant Reader: Caroline Zhu Stephen Magliocchino

    Secretary: Carlos Gimeno

Section BL-1030

    Presenters: Jaron Cui, Joseph Pierre-Louis

    Head Reader: Owen Thurm

    Assistant Reader: Luka Jovanovic

    Secretary: Emily Minor

    

    Presenters: Kyle Koo, Tao Setoguchi

    Head Reader: Duncan Vogel

    Assistant Reader: Kiran Gregerson

    Secretary: Sahana Tankala

Section BL-135

    Presenters: Chengyi Kuang, Jose Sulaiman

    Head Reader: Dylan Huang

    Assistant Reader: Alex Kerwick

    Secretary: Nick Coury Alex Kerwick

    

    Presenters: Zekai Shen, David Yan

    Head Reader: Colton Williams

    Assistant Reader: Eoin Flynn

    Secretary: Shashwat Patel

image

Thursday, November 17th, 2022 1:14:12pm

Diego pointed out an unexpected result on Piazza. We went back and forth and I discovered that my counting of method calls can be considered inconsistent with the specification.

Rather than changing the spec to match the originally distributed sample tests, I adjusted my code and changed the distributed tests.

Please use the revised sample tests to probe your xbad2 script. The result for Diego test case is fixed.

image

Wednesday, November 16th, 2022 9:24:22pm

Code Walks for Thu, 17 November 2022

Section MF-915

    Presenters: Dylan Sapienza, Luke Po

    Head Reader: Aditya Selvam

    Assistant Reader: Benjamin Alonzo

    Secretary: Jose Sulaiman

    

    Presenters: Nick Frank, Garrett Michiels

    Head Reader: Chris Tozlowski

    Assistant Reader: David Yan

    Secretary: Alec Norrie

Section MF-1030

    Presenters: Abby Wisnewski, Shannon McInnis

    Head Reader: Max Leroux

    Assistant Reader: Kyle Chung

    Secretary: Michael Ford

    

    Presenters: Xun Xu, Nolan Pollack

    Head Reader: Jason Cheung

    Assistant Reader: Vedant Rautela

    Secretary: Adam Smith

Section BL-1030

    Presenters: Kenny Jung, Max Hayashi

    Head Reader: Anna Maria Barbiellini Amidei

    Assistant Reader: Sahana Tankala

    Secretary: Ty Pacchione

    

    Presenters: John Walsh, Reilly Farrell

    Head Reader: Dylan Burati

    Assistant Reader: Grace Miller

    Secretary: Jack Whitten

Section BL-135

    Presenters: Brian Gay, Leah Zeisner

    Head Reader: John McCarthy Monroe Chung

    Assistant Reader: Kane Xu

    Secretary: Deion Smith

    

    Presenters: Nelwin Gonzalez Barreto, Dylan Huang Tyler Furrier, Evan Ritzcovan

    Head Reader: Kincent Lan

    Assistant Reader: Logan Morneault

    Secretary: Nick Coury

image

Wednesday, November 16th, 2022 12:54:54pm

So far Google seems to have held up best of all sw cos. But look:

The article’s second paragraph is the key:

In other words, too many sw devs are too unproductive. (Productivity is the quotient of results over inputs, e.g., well-organized and working sw divided by dollars spent.)

As I have explained in my section time and again, sw cos hire too many sw devs because they don’t know how to interview well – and the good ones know this. But they know that when times get bad – and every decade or so they do get very bad- – they can fire the unproductive ones.

The goal of Soc. Resp. Sw Dev, the course, is to show you how to turn yourself into a highly productive sw dev.

image

Tuesday, November 15th, 2022 9:05:42pm

Code Walks for Wed, 16 November 2022

Section MF-915

    Presenters: Kiran Gregerson, Akshay Dupuguntla

    Head Reader: Michael Guo

    Assistant Reader: Nuocheng Wang

    Secretary: Joey Kim

    

    Presenters: Daniel Robbins, Aditya Selvam

    Head Reader: Kyle Ednie

    Assistant Reader: Marcus Roldan

    Secretary: Derek Leung

Section MF-1030

    Presenters: Jason Cheung, Hussain Khalil

    Head Reader: Vedant Rautela

    Assistant Reader: Qishen Pang

    Secretary: Stephen Magliocchino

    

    Presenters: Adam Smith, Michael Ford

    Head Reader: Joseph Henson

    Assistant Reader: Caroline Zhu

    Secretary: Carlos Gimeno

Section BL-1030

    Presenters: Charles Williams, Owen Thurm

    Head Reader: Jojo Broussard

    Assistant Reader: Micaela Trzcinski

    Secretary: Lillianna Gund

    

    Presenters: Sophia Thomas, Vasilios Gjezo

    Head Reader: Anna Maria Barbiellini Amidei

    Assistant Reader: Diana Rodriguez

    Secretary: Thomas Mactaggart

Section BL-135

    Presenters: Eoin Flynn, Colton Williams

    Head Reader: Shashwat Patel

    Assistant Reader: Evan Ritzcovan

    Secretary: David Mitre

    

    Presenters: Andre Danahy, Austin Ho

    Head Reader: Zekai Shen

    Assistant Reader: Tyler Furrier

    Secretary: Chengyi Kuang

image

Sunday, November 13th, 2022 7:10:31pm

Code Walks for Mon, 14 November 2022

Section MF-915

    Presenters: Derek Leung, Nick Selvitelli

    Head Reader: Jamie Lin

    Assistant Reader: Joey Kim

    Secretary: Kyle Ednie

    

    Presenters: Aditya Selvam, Daniel Robbins Alec Norrie, Caroline Zhu

    Head Reader: Benjamin Alonzo

    Assistant Reader: Chris Tozlowski

    Secretary: David Yan

Section MF-1030

    Presenters: Max Leroux, Josef LaFranchise

    Head Reader: Nolan Pollack

    Assistant Reader: Emily Smith

    Secretary: Justin Kwon

    

    Presenters: Zachar Hankewycz, Kincent Lan

    Head Reader: Max Leroux

    Assistant Reader: Kyle Chung

    Secretary: Adam Smith

Section BL-1030

    Presenters: Katherine Payne, Carter Brainerd

    Head Reader: Can Ivit

    Assistant Reader: Max Hayashi

    Secretary: Kiran Gregerson

    

    Presenters: Ty Pacchione, Lillianna Gund

    Head Reader: Shannon McInnis

    Assistant Reader: Joseph Pierre-Louis

    Secretary: Anna Maria Barbiellini Amidei

Section BL-135

    Presenters: Shashwat Patel, Logan Morneault

    Head Reader: Nick Coury

    Assistant Reader: Zekai Shen

    Secretary: Jason Jn Baptiste

    

    Presenters: Jack Craciun, Jonathan Hsieh Yuxuan Qiu, Kane Xu

    Head Reader: Leah Zeisner

    Assistant Reader: Nelwin Gonzalez Barreto

    Secretary: Austin Ho

image

Thursday, November 10th, 2022 1:16:24pm

You may wish to run your xbad script (7 — The Clean Up) on these sample tests.

image

Tuesday, November 8th, 2022 10:49:09pm

Code Walks for Wed, 9 November 2022

Section MF-915

    Presenters: Ross Curcio, Garrett Michiels

    Head Reader: Joey Kim

    Assistant Reader: Alec Norrie

    Secretary: Nick Frank

    

    Presenters: Luke Po, Chris Tozlowski

    Head Reader: Henry Geng

    Assistant Reader: Eric Yip

    Secretary: Michael Guo

Section MF-1030

    Presenters: Aleksander Aguilar, Shannon McInnis

    Head Reader: Kyle Chung

    Assistant Reader: Justin Kwon

    Secretary: Zach O'Brien

    

    Presenters: Xun Xu, Max Leroux

    Head Reader: Andrew Sayegh

    Assistant Reader: Josef LaFranchise

    Secretary: Emily Smith

Section BL-1030

    Presenters: Duncan Vogel, Kyle Koo

    Head Reader: Luis Soto

    Assistant Reader: Nate Moore

    Secretary: Katherine Payne

    

    Presenters: Lillianna Gund, Max Hayashi

    Head Reader: John Walsh

    Assistant Reader: Joseph Kwilman

    Secretary: Can Ivit

Section BL-135

    Presenters: Nelwin Gonzalez Barreto, Leah Zeisner

    Head Reader: Jason Jn Baptiste

    Assistant Reader: Dario Ortiz

    Secretary: Yuxuan Qiu

    

    Presenters: Nick Coury, Alex Kerwick

    Head Reader: Logan Morneault

    Assistant Reader: Andre Danahy

    Secretary: Brian Gay

image

Monday, November 7th, 2022 7:39:26am

Today it’s Meta/Facebook’s turn to announce massive layoffs, bigger than Twitter in raw numbers.

image

Sunday, November 6th, 2022 7:25:01pm

Code Walks for Mon, 7 November 2022

You will present your implementation for 6 — The Observer with your old partner. If you are the on-boarder and your new partner is in a different section, invite the on-boardee to attend—the code walk may reveal yet more problems than you are aware of.

Section MF-915

    Presenters: David Yan, Jose Sulaiman

    Head Reader: Luke Po

    Assistant Reader: Ross Curcio

    Secretary: Aditya Selvam

    

    Presenters: Derek Leung, Kiran Gregerson Nuocheng Wang, Shaun Gentilin

    Head Reader: Jessica Su

    Assistant Reader: Akshay Dupuguntla

    Secretary: Chris Tozlowski

Section MF-1030

    Presenters: Bryce Devoe, Ivan Rudyakov

    Head Reader: Michael Ford

    Assistant Reader: Abby Wisnewski

    Secretary: Joseph Henson

    

    Presenters: Emmanuel Manolios

    Head Reader: Tarif Khan

    Assistant Reader: Jason Cheung

    Secretary: Qishen Pang

Section BL-1030

    Presenters: Micaela Trzcinski, Jack Whitten

    Head Reader: Grace Miller

    Assistant Reader: Aaron Wachowiak

    Secretary: Diana Rodriguez

    

    Presenters: Diana Rodriguez, Thomas Mactaggart

    Head Reader: Kenny Jung

    Assistant Reader: Daniel Robbins

    Secretary: Anna Maria Barbiellini Amidei

Section BL-135

    Presenters: Jack Craciun, Logan Morneault Tyler Furrier, Angel Gong

    Head Reader: Chengyi Kuang

    Assistant Reader: Zekai Shen Nick Coury

    Secretary: John McCarthy

    

    Presenters: Monroe Chung, Yolanda Jarrin

    Head Reader: Brian Gay

    Assistant Reader: Hussain Khalil

    Secretary: Eoin Flynn

image

Friday, November 4th, 2022 7:42:54pm

You have received an email that introduces you to your new partner and the assigned code base.

The on-boarder should conduct an overview code inspection with the on-boardee as soon as feasible. If the latter then decides that using his/her former code base would be preferable, switch roles so that the two of you can make an informed decision.

If you jointly decide that you wish to switch the code base, the on-boarder should
  • collect five sample project-design decisions that illustrate why the alternative code base is preferred to the assigned one;

  • formulate a justification for each sample why the decision of the alternative code base is superior and a two-line executive summary of this justification;

  • turn these five problem descriptions into an HTML memo addressed to your section’s instructor;

    For the few cross-section pairs, address the memo to both instructors.

  • send the memo and a request for a meeting to your section’s instructor by Saturday 08:00pm, CCing the on-boardee and the tech TA.

    For the few cross-section pairs, send the email to both instructors.

To switch, you must meet with your instructor in person by Monday evening and receive the instructor’s blessing, who will then inform the technical TA to set up a new repo.

image

Friday, November 4th, 2022 8:54:49am

We will not run a self-evaluation for 6 — The Observer. Ignore the form that was pushed into your repository this morning.

Meanwhile, note today’s front-page WSJ headline.

image

Wednesday, November 2nd, 2022 9:04:48pm

Code Walks for Thu, 3 November 2022

Section MF-915

    Presenters: Joey Kim, Alec Norrie

    Head Reader: Nuocheng Wang

    Assistant Reader: Nick Selvitelli

    Secretary: Aleksander Aguilar

    

    Presenters: Henry Geng, Eric Yip

    Head Reader: Shaun Gentilin

    Assistant Reader: Jack Denson

    Secretary: Alec Norrie

Section MF-1030

    Presenters: Colin Rozzi, Zach O'Brien

    Head Reader: Diego Valdivia Cox

    Assistant Reader: Jacob Monticello

    Secretary: Max Leroux

    

    Presenters: Andrew Sayegh, Kyle Chung

    Head Reader: Xun Xu

    Assistant Reader: Stephen Magliocchino

    Secretary: Caroline Zhu

Section BL-1030

    Presenters: Reilly Farrell, Owen Thurm

    Head Reader: Lillianna Gund

    Assistant Reader: Katherine Payne

    Secretary: Jojo Broussard

    

    Presenters: Joseph Kwilman, Nate Moore

    Head Reader: Charles Williams

    Assistant Reader: John Walsh

    Secretary: Vasilios Gjezo

Section BL-135

    Presenters: Lowell Camp, Dario Ortiz

    Head Reader: Yuxuan Qiu

    Assistant Reader: Leah Zeisner

    Secretary: Andre Danahy

    

    Presenters: Marcus Roldan, Jason Jn Baptiste

    Head Reader: Evan Ritzcovan

    Assistant Reader: Qianyong Hu

    Secretary: Monroe Chung

image

Wednesday, November 2nd, 2022 12:40:28pm

You may wish to run your xgames script (6 — The Observer) on these sample tests.

image

Tuesday, November 1st, 2022 9:13:10pm

Please read up on on presenting in a top-down fashion in Presenting a Milestone.

Code Walks for Wed, 2 November 2022

Section MF-915

    Presenters: Jessica Su, Jamie Lin

    Head Reader: Thomas Crook

    Assistant Reader: Chris Tozlowski Dylan

    Secretary: Michael Guo Akshay

    

    Presenters: Dylan Sapienza, Thomas Crook

    Head Reader: Marcus Roldan

    Assistant Reader: Luke Po

    Secretary: Benjamin Alonzo

Section MF-1030

    Presenters: Emmanuel Manolios

    Head Reader: Colin Rozzi

    Assistant Reader: Adam Smith

    Secretary: Justin Kwon Zachar

    

    Presenters: Michael Ford, Joseph Henson

    Head Reader: Caroline Zhu

    Assistant Reader: Nithya Balaji

    Secretary: Ivan Rudyakov

Section BL-1030

    Presenters: Daniel Robbins

    Head Reader: Luka Jovanovic

    Assistant Reader: Ty Marshall Dylan Burati

    Secretary: Tao Setoguchi

    

    Presenters: Tarif Khan, Emily Minor

    Head Reader: Jaron Cui

    Assistant Reader: Jack Whitten

    Secretary: Kenny Jung

Section BL-135

    Presenters: Chengyi Kuang, Zekai Shen

    Head Reader: Jonathan Hsieh

    Assistant Reader: Patricio Bentin

    Secretary: Hussain Khalil

    

    Presenters: Austin Ho, Eoin Flynn

    Head Reader: Nelwin Gonzalez Barreto

    Assistant Reader: Yolanda Jarrin

    Secretary: Dylan Huang

image

Monday, October 31st, 2022 6:13:24pm

Revisit the constraints on the integration tests in 6 — The Observer. They have been relaxed.

image

Sunday, October 30th, 2022 7:20:23pm

Code Walks for Mon, 31 October 2022

Section MF-915

    Presenters: Nick Frank, Kyle Ednie

    Head Reader: Akshay Dupuguntla

    Assistant Reader: Garrett Michiels

    Secretary: Shaun Gentilin

    

    Presenters: Benjamin Alonzo, Jack Denson

    Head Reader: Eric Yip

    Assistant Reader: Aleksander Aguilar

    Secretary: Nuocheng Wang

Section MF-1030

    Presenters: Diego Valdivia Cox, Jacob Monticello

    Head Reader: Zachar Hankewycz

    Assistant Reader: Tarif Khan

    Secretary: Kyle Chung

    

    Presenters: Vedant Rautela, Carlos Gimeno

    Head Reader: Stephen Magliocchino

    Assistant Reader: Bryce Devoe

    Secretary: Emmanuel Manolios

Section BL-1030

    Presenters: Lillianna Gund, Max Hayashi

    Head Reader: Nate Moore

    Assistant Reader: Vasilios Gjezo

    Secretary: Micaela Trzcinski

    

    Presenters: Charles Williams, John Walsh

    Head Reader: Katherine Payne

    Assistant Reader: Emily Minor

    Secretary: Joseph Kwilman

Section BL-135

    Presenters: Qianyong Hu, Yuxuan Qiu

    Head Reader: Austin Ho

    Assistant Reader: Kincent Lan

    Secretary: Tyler Furrier

    

    Presenters: Andre Danahy, Colton Williams

    Head Reader: Evan Ritzcovan Nick Coury

    Assistant Reader: Angel Gong

    Secretary: Kane Xu

image

Thursday, October 27th, 2022 4:08:49pm

Someone asked on piazza about the following edge case for the strategy:

If a player’s current position is its current goal, should its strategy return “pass” when called in this situation?

The specification provides the answer. The goal is the first candidate that each strategy attempts to reach—with an action. The strategy returns “pass” only if no action can get the player to any of the goals, meaning both the current goal and the alternatives.

Also note that a type-setting mistake in 5 — Games! mangled the delivery instructions. Make sure to take a second look.

image

Wednesday, October 26th, 2022 8:44:39pm

Code Walks for Thu, 27 October 2022

Section MF-915

    Presenters: Luke Po, Chris Tozlowski

    Head Reader: Jack Denson

    Assistant Reader: Kyle Ednie

    Secretary: Thomas Crook

    

    Presenters: Jamie Lin, Jessica Su

    Head Reader: Nick Frank

    Assistant Reader: Dylan Sapienza

    Secretary: Marcus Roldan

Section MF-1030

    Presenters: Nithya Balaji, Qishen Pang

    Head Reader: Ivan Rudyakov

    Assistant Reader: Zach O'Brien

    Secretary: Josef LaFranchise

    

    Presenters: Justin Kwon, Emily Smith

    Head Reader: Adam Smith

    Assistant Reader: Joseph Henson

    Secretary: Colin Rozzi

Section BL-1030

    Presenters: Can Ivit, Luka Jovanovic

    Head Reader: Kenny Jung Daniel Robbins

    Assistant Reader: Jaron Cui

    Secretary: Ty Marshall

    

    Presenters: Kenny Jung, Ty Pacchione

    Head Reader: Tao Setoguchi

    Assistant Reader: Duncan Vogel

    Secretary: Luis Soto

Section BL-135

    Presenters: Jonathan Hsieh, Shashwat Patel

    Head Reader: Andre Danahy

    Assistant Reader: Dylan Huang

    Secretary: Nelwin Gonzalez Barreto

    

    Presenters: Michael Guo, Patricio Bentin

    Head Reader: Hussain Khalil

    Assistant Reader: Lowell Camp

    Secretary: Yolanda Jarrin

image

Wednesday, October 26th, 2022 8:43:38pm

Warning The definition of Gem in The Gems explicitly lists all the names (as strings) to be used for this purpose. Sadly, the tar bundle that contains these images with these specific names contains additional files whose names are not listed in this definition. If you automated the definition of treasure names by reading the file names—like I did—you need to filter out the all names that contain the string "gems". (The web page is created from the code base.)

image

Wednesday, October 26th, 2022 3:02:00pm

Congratulations go to Charles W. and John W. for exposing a bug in my reference implementation. And a great thanks for persistently bugging Sam about it.

Just after I had exhorted students in class and in office hours not to create tabular pieces of code by hand—such as tests—when the two of them pointed out a bug in my counter-clockwise tile rotation—and that but was due to a manual construction of the TileKeyRotation table.

I have now replaced the 11 x 4 table with the following lines of code:
; counterclockwise rotation by 90 degrees
(define TileKey90
  (hash
   NS  EW
   EW  NS
   SW  SE
   SE  EN
   EN  NW
   NW  SW
   EWS NSE
   NSE NEW
   NEW NSW
   NSW EWS
   NSEW NSEW))
 
#; {Hashof 1String [List 1String 1String 1String 1String]}
(define TileKeyRotation
  (local (#; {1String -> [List 1String 1String 1String 1String]}
          (define (all-rotations key0)
            (for/fold ([key key0] [r (list key0)] #:result r) ([d (rest Degrees)])
              (define next (hash-ref TileKey90 key))
              (values next (append r (list next))))))
    (make-hash (map (λ (ks) (cons (second ks) (all-rotations (second ks)))) TileKey))))
If you spot another problem, please let me know.

image

Wednesday, October 26th, 2022 12:14:45pm

You may wish to run your xstrategy script (5 — Games!) on these sample tests.

Important Jessica S. noticed a ambiguity in the strategy specification 4 — The Strategy. The specification of row-column enumerations used the word “tile” where “coordinate” was called for. See the revised version.

This mistake does not affect any past grades, but it will affect the upcoming test fest. If you tried to go to specific (unique) tiles instead of specific coordinates, please change your code to match the now clarified specification. (The fix should be minor in any of the chosen PLs.)

image

Tuesday, October 25th, 2022 9:40:56pm

Code Walks for Wed, 26 October 2022

Section MF-915

    Presenters: Kiran Gregerson, Derek Leung

    Head Reader: Dylan Sapienza

    Assistant Reader: Jamie Lin

    Secretary: Ross Curcio

    

    Presenters: Jose Sulaiman, David Yan

    Head Reader: Nick Selvitelli

    Assistant Reader: Michael Guo

    Secretary: Garrett Michiels

Section MF-1030

    Presenters: Aleksander Aguilar, Shannon McInnis

    Head Reader: Jacob Monticello

    Assistant Reader: Carter Brainerd

    Secretary: Bryce Devoe

    

    Presenters: Abby Wisnewski, Stephen Magliocchino

    Head Reader: Emily Smith

    Assistant Reader: Nolan Pollack

    Secretary: Andrew Sayegh

Section BL-1030

    Presenters: Joseph Kwilman, Nate Moore

    Head Reader: Reilly Farrell

    Assistant Reader: Anna Maria Barbiellini Amidei

    Secretary: Max Hayashi

    

    Presenters: Grace Miller, Sophia Thomas

    Head Reader: Micaela Trzcinski

    Assistant Reader: Ty Pacchione

    Secretary: Aaron Wachowiak

Section BL-135

    Presenters: Kincent Lan, Hussain Khalil

    Head Reader: Kane Xu

    Assistant Reader: Jack Craciun

    Secretary: Angel Gong

    

    Presenters: Evan Ritzcovan, Nicholas Moulle-Berteaux

    Head Reader: Tyler Furrier

    Assistant Reader: John McCarthy

    Secretary: Colton Williams

image

Sunday, October 23rd, 2022 9:02:44pm

Code Walks for Mon, 24 October 2022

Section MF-915

    Presenters: Thomas Crook, Dylan Sapienza

    Head Reader: Aleksander Aguilar

    Assistant Reader: Jessica Su

    Secretary: Henry Geng

    

    Presenters: Ross Curcio, Garrett Michiels

    Head Reader: Sky Wang

    Assistant Reader: David Yan

    Secretary: Nick Selvitelli

Section MF-1030

    Presenters: Ivan Rudyakov, Bryce Devoe

    Head Reader: Nithya Balaji

    Assistant Reader: Andrew Sayegh

    Secretary: Nolan Pollack

    

    Presenters: Justin Kwon, Emily Smith

    Michael Ford, Joseph Henson

    Head Reader: Josef LaFranchise

    Assistant Reader: Max Leroux

    Secretary: Xun Xu

Section BL-1030

    Presenters: Luis Soto, Sahana Tankala

    Head Reader: Jack Whitten

    Assistant Reader: Jojo Broussard

    Secretary: Dylan Burati

Section BL-135

    Presenters: Nelwin Gonzalez Barreto, Leah Zeisner

    Head Reader: Dario Ortiz

    Assistant Reader: David Mitre

    Secretary: Lowell Camp

image

Wednesday, October 19th, 2022 8:50:21pm

Code Walks for Thu, 20 October 2022

Section MF-915

    Presenters: Kiran Gregerson, Derek Leung

    Head Reader: Jose Sulaiman

    Assistant Reader: Ross Curcio

    Secretary: Kyle Ednie

    

    Presenters: Luke Po, Chris Tozlowski

    Head Reader: Michael Guo

    Assistant Reader: Aleksander Aguilar

    Secretary: Joey Kim

Section MF-1030

    Presenters: Emily Smith, Justin Kwon

    Head Reader: Joseph Henson

    Assistant Reader: Xun Xu

    Secretary: Jacob Monticello

    

    Presenters: Aleksander Aguilar, Shannon McInnis

    Head Reader: Caroline Zhu

    Assistant Reader: Vedant Rautela

    Secretary: Adam Smith

Section BL-1030

    Presenters: Carter Brainerd, Anna Maria Barbiellini Amidei

    Head Reader: Max Hayashi

    Assistant Reader: Luis Soto

    Secretary: Daniel Robbins

    

    Presenters: Jack Whitten, Micaela Trzcinski

    Head Reader: Ty Pacchione

    Assistant Reader: Sophia Thomas

    Secretary: Reilly Farrell

Section BL-135

    Presenters: Tyler Furrier, Angel Gong

    Head Reader: Qianyong Hu

    Assistant Reader: Colton Williams

    Secretary: Kincent Lan

    

    Presenters: Kane Xu, John McCarthy

    Head Reader: Eoin Flynn

    Assistant Reader: Chengyi Kuang

    Secretary: Evan Ritzcovan

image

Wednesday, October 19th, 2022 12:34:46pm

You may wish to run your xstate script (4 — The Strategy) on these sample tests.

image

Tuesday, October 18th, 2022 9:17:46pm

Code Walks for Wed, 19 October 2022

Section MF-915

    Presenters: Nick Selvitelli, Akshay Dupuguntla

    Head Reader: David Yan

    Assistant Reader: Henry Geng

    Secretary: Eric Yip

    

    Presenters: Nuocheng Wang, Shaun Gentilin

    Head Reader: Garrett Michiels

    Assistant Reader: Thomas Crook

    Secretary: Dylan Sapienza

Section MF-1030

    Presenters: Simar Chadha, Tarif Khan

    Head Reader: Carlos Gimeno

    Assistant Reader: Zachar Hankewycz

    Secretary: Jason Cheung

    

    Presenters: Andrew Sayegh, Kyle Chung

    Head Reader: Bryce Devoe

    Assistant Reader: Michael Ford

    Secretary: Nithya Balaji

Section BL-1030

    Presenters: Vasilios Gjezo, Joseph Pierre-Louis

    Head Reader: Diana Rodriguez

    Assistant Reader: Thomas Mactaggart

    Secretary: Charles Williams

    

    Presenters: Ty Marshall, Kelli Therrien

    Head Reader: Sahana Tankala

    Assistant Reader: Owen Thurm

    Secretary: John Walsh

Section BL-135

    Presenters: Brian Gay, Dylan Huang

    Head Reader: Lowell Camp

    Assistant Reader: Yuxuan Qiu

    Secretary: Dario Ortiz

    

    Presenters: Deion Smith, David Mitre

    Head Reader: Angel Gong

    Assistant Reader: Austin Ho

    Secretary: Leah Zeisner

image

Monday, October 17th, 2022 8:25:59am

image

Sunday, October 16th, 2022 9:06:32pm

Code Walks for 17 October 2022

Section MF-915

    Presenters: Joey Kim, Alec Norrie

    Head Reader: Chris Tozlowski

    Assistant Reader: Jose Sulaiman

    Secretary: Sky Wang

    

    Presenters: Nick Frank, Kyle Ednie

    Head Reader: Ross Curcio

    Assistant Reader: Derek Leung

    Secretary: Jack Denson

Section MF-1030

    Presenters: Colin Rozzi, Zach O'Brien

    Head Reader: Carter Brainerd

    Assistant Reader: Diego Valdivia Cox

    Secretary: Justin Kwon

    

    Presenters: Adam Smith, Caroline Zhu

    Head Reader: Qishen Pang

    Assistant Reader: Ivan Rudyakov

    Secretary: Vedant Rautela

Section BL-1030

    Presenters: Jaron Cui, Tao Setoguchi

    Head Reader: Aaron Wachowiak

    Assistant Reader: Shannon McInnis

    Secretary: Luka Jovanovic

    

    Presenters: Duncan Vogel, Kyle Koo

    Head Reader: Joseph Kwilman

    Assistant Reader: Can Ivit

    Secretary: Nate Moore

Section BL-135

    Presenters: Nick Coury, Alex Kerwick

    Head Reader: Patricio Bentin

    Assistant Reader: Monroe Chung

    Secretary: Jonathan Hsieh

    

    Presenters: Logan Morneault, Jack Craciun

    Head Reader: Yolanda Jarrin

    Assistant Reader: Jason Jn Baptiste

    Secretary: Shashwat Patel

image

Friday, October 14th, 2022 6:48:53pm

Why 0? Code that uses null (or none) as an option element or a value that leaks (in a PL without protection) is a negative contribution to the code base. Some time later, a responsible developer will have to remove this bad code from the code base. To warn you now about such bad choices, we have decided to ask the TAs to deduct all points for such uses of null in code for 2 — The Board.

Why no points for an accurate self-eval? We made a mistake with the rubric and forgot to allocate points for the self-evaluation step for 2 — The Board. We will correct this mistake and ask the TAs to assess the value of your self-evaluations and assign the appropriate number of points.

image

Wednesday, October 12th, 2022 11:54:50pm

Code Walks for 13 October 2022

Section MF-915

    Presenters: Henry Geng, Eric Yip

    Head Reader: Kiran Gregerson

    Assistant Reader: Shaun Gentilin

    Secretary: Akshay Dupuguntla

    

    Presenters: Michael Guo, Patricio Bentin

    Head Reader: Dylan Sapienza

    Assistant Reader: Nick Selvitelli

    Secretary: David Yan

Section MF-1030

    Presenters: Jason Cheung, Zachar Hankewycz

    Head Reader: Abby Wisnewski

    Assistant Reader: Carlos Gimeno

    Secretary: Tarif Khan

    

    Presenters: Adam Smith, Caroline Zhu

    Head Reader: Qishen Pang

    Assistant Reader: Ivan Rudyakov

    Secretary: Vedant Rautela

Section BL-1030

    Presenters: Thomas Mactaggart, Diana Rodriguez

    Head Reader: Vasilios Gjezo

    Assistant Reader: Charles Williams

    Secretary: Jaron Cui

    

    Presenters: Duncan Vogel, Kyle Koo

    Head Reader: Joseph Kwilman

    Assistant Reader: Can Ivit

    Secretary: Nate Moore

Section BL-135

    Presenters: Dario Ortiz, Lowell Camp

    Head Reader: David Mitre

    Assistant Reader: Brian Gay

    Secretary: Zekai Shen

    

    Presenters: Colton Williams, Andre Danahy

    Head Reader: Nick Coury

    Assistant Reader: Kincent Lan

    Secretary: Jack Craciun

image

Wednesday, October 12th, 2022 12:08:26pm

You may wish to run your xboard script (3 — The State) on these sample tests.

image

Tuesday, October 11th, 2022 11:28:26pm

Code Walks for 12 October 2022

Section MF-915

    Presenters: Benjamin Alonzo, Jack Denson

    Head Reader: Alec Norrie

    Assistant Reader: Nick Frank

    Secretary: Jessica Su

    

    Presenters: Aditya Selvam, Sky Wang

    Head Reader: Derek Leung

    Assistant Reader: Nuocheng Wang

    Secretary: Luke Po

Section MF-1030

    Presenters: Josef LaFranchise, Nolan Pollack

    Head Reader: Zach O'Brien

    Assistant Reader: Alex Choung Colin Rozzi

    Secretary: Diego Valdivia Cox

    

    Presenters: Xun Xu, Max Leroux

    Head Reader: Justin Kwon

    Assistant Reader: Emmanuel Manolios

    Secretary: Carter Brainerd

Section BL-1030

    Presenters: Katherine Payne, Dylan Burati

    Head Reader: Joseph Pierre-Louis

    Assistant Reader: Kenny Jung

    Secretary: Duncan Vogel

    

    Presenters: Jojo Broussard, Aaron Wachowiak

    Head Reader: Emily Minor

    Assistant Reader: Lillianna Gund

    Secretary: Grace Miller

Section BL-135

    Presenters: Yolanda Jarrin, Monroe Chung

    Head Reader: Alex Kerwick

    Assistant Reader: Shashwat Patel

    Secretary: Logan Morneault

    

    Presenters: Marcus Roldan, Jason Jn Baptiste

    Head Reader: Nicholas Moulle-Berteaux

    Assistant Reader: Jonathan Hsieh

    Secretary: Patricio Bentin

image

Saturday, October 8th, 2022 11:09:20am

After scanning the sampled questions and sprints, we decided not to grade the memos for 1 — The Analysis. We will subtract the 40 points for this step from the denominator for the approximately 2200 total points allocated to homework grading.

As some of you have noticed, I accidentally released 3 — The State a day too early. Those who did notice had the distinct advantage of seeing the solution for the design memo written down in plain English. While this form isn’t exactly what is expected, it injects a distinct unfairness (in the traditional sense of the word) into the process. The TAs will evaluate your design memo as if I hadn’t made a mistake. Your total grade for the design memo will display as a 0 though and we will subtract the 25 points allocated to this memo from the denominator, too.

image

Monday, October 3rd, 2022 8:54:09am

It’s October and you survived the “finger exercises” of Sw Dev. But did you actually do them in the expected manner? Did you find the libraries that turn these problems into “10 liners”? That make these solutions robust enough to scale? If not, you have fallen behind and you should use the relative calm of this week to go back and re-do these exercises in peace.

image

Sunday, October 2nd, 2022 9:14:31pm

Code Walks for 03 October 2022

Section MF-915

    Presenters: Shaun Gentilin, Nuocheng Wang

    Head Reader: Alec Norrie

    Assistant Reader: David Yan

    Secretary: Jose Manzur

    Presenters: Eric Yip, Henry Geng

    Head Reader: Luke Po

    Assistant Reader: Michael Guo

    Secretary: Jessica Su

Section MF-1030

    Presenters: Diego Valdivia Cox, Jacob Monticello

    Head Reader: Max Leroux

    Assistant Reader: Carlos Gimeno

    Secretary: Zach O'Brien

    Presenters: Emmanuel Manolios

    Head Reader: Qishen Pang

    Assistant Reader: Xun Xu

    Secretary: Caroline Zhu

Section BL-1030

    Presenters: Charles Williams, John Walsh

    Head Reader: Jack Whitten

    Assistant Reader: Kelli Therrien

    Secretary: Jaron Cui

    Presenters: Thomas Mactaggart, Diana Rodriguez

    Head Reader: Can Ivit

    Assistant Reader: Vasilios Gjezo

    Secretary: Dylan Burati

Section BL-135

    Presenters: Nelwin Gonzalez Barreto, Leah Zeisner

    Head Reader: Yuxuan Qiu

    Assistant Reader: Nicholas Moulle-Berteaux

    Secretary: Jonathan Hsieh

    Presenters: Hussain Khalil, Kincent Lan

    Head Reader: Dylan Huang

    Assistant Reader: Zekai Shen

    Secretary: Brian Gay

image

Thursday, September 29th, 2022 5:52:09pm

Due to a glitch in the daemon script, the self-eval forms did not get posted until just before 10:00am. We will therefore harvest the forms just before midnight this time.

image

Wednesday, September 28th, 2022 10:42:03pm

Note If you work by yourself (because your partner dropped or you never had a partner), please make sure to inform Sam, the head TA.

Code Walks for 29 September 2022

Section MF-915

    Presenters: Garrett Michiels, Ross Curcio

    Head Reader: Nuocheng Wang

    Assistant Reader: Kyle Ednie

    Secretary: Luke Po

    Presenters: Jamie Lin, Jessica Su

    Head Reader: Ross Curcio

    Assistant Reader: Nick Selvitelli

    Secretary: Shaun Gentilin

Section BL-135

    Presenters: Logan Morneault, Jack Craciun

    Head Reader: Nelwin Gonzalez Barreto

    Assistant Reader: Hussain Khalil

    Secretary: Yuxuan Qiu

    Presenters: Jonathan Hsieh, Shashwat Patel

    Head Reader: Chengyi Kuang

    Assistant Reader: Jason Jn Baptiste

    Secretary: David Mitre

Section MF-1030

    Presenters: Vedant Rautela, Carlos Gimeno

    Head Reader: Diego Valdivia Cox

    Assistant Reader: Zach O'Brien

    Secretary: Qishen Pang

    Presenters: Max Leroux, Xun Xu

    Head Reader: Caroline Zhu

    Assistant Reader: Jason Cheung

    Secretary: Jacob Monticello

Section BL-1030

    Presenters: Emily Minor, Daniel Robbins

    Head Reader: Micaela Trzcinski

    Assistant Reader: Joseph Kwilman

    Secretary: Grace Miller

    Presenters: Reilly Farrell, Owen Thurm

    Head Reader: Ty Marshall

    Assistant Reader: Katherine Payne

    Secretary: Vasilios Gjezo

image

Tuesday, September 27th, 2022 9:08:29pm

Code Walks for 28 September 2022

Section MF-915

    Presenters: Jose Manzur, David Yan

    Head Reader: Akshay Dupuguntla

    Assistant Reader: Jamie Lin

    Secretary: Alec Norrie

    

    Presenters: Garrett Michiels, Ross Curcio

    Head Reader: Nuocheng Wang

    Assistant Reader: Kyle Ednie

    Secretary: Luke Po

Section MF-1030

    Presenters: Max Leroux, Xun Xu

    Head Reader: Caroline Zhu

    Assistant Reader: Jason Cheung

    Secretary: Jacob Monticello

    

    Presenters: Vedant Rautela, Carlos Gimeno

    Head Reader: Diego Valdivia Cox

    Assistant Reader: Zach O'Brien

    Secretary: Qishen Pang

Section BL-1030

    Presenters: Kelli Therrien, Ty Marshall

    Head Reader: Dylan Burati

    Assistant Reader: Jaron Cui

    Secretary: Jack Whitten

    

    Presenters: Can Ivit, Luka Jovanovic

    Head Reader: Thomas Mactaggart

    Assistant Reader: Charles Williams

    Secretary: Lillianna Gund

Section BL-135

    Presenters: Dylan Huang, Brian Gay

    Head Reader: Hussain Khalil

    Assistant Reader: David Mitre

    Secretary: Simar Gursimar

    

    Presenters: Chengyi Kuang, Zekai Shen

    Head Reader: Jason Jn Baptiste

    Assistant Reader: Logan Morneault

    Secretary: Shashwat Patel

image

Tuesday, September 27th, 2022 10:03:47am

Someone asked me yesterday how I learned to write (in English, as an immigrant). My answer addressed the “negative feedback” part of an improvement cycle, not the “positive energy” part.

Reading literature and books on writing is the essence of the second half of my answer. Reading good literature helps you understand writing somewhat; see Hemingway’s description of his torturous procedures of writing individual paragraphs (in his Paris novels).

Reading books on writing is a good start, which is why I list Strunk and White on the Readings page. An alternative is

Bugs in Writing

which, as the title suggests, originates in computer science. Which books are helpful depends on your situation and goals.

image

Saturday, September 24th, 2022 6:55:31pm

The transformation of textual information into internal data is known as parsing, a technical problem that spawned an entire research area. Parsing is so complex, it should never be used in an introductory course but to this day, many such courses assign programs that read text, analyze it, and react to it—without proper support. Proper coverage is offered in Compilers and Theory, and these two course will help you design parsing programs systematically.

At first glance, JSON is a simple notation for writing down information in terms of Booleans, Strings, Numbers, arrays of JSON expressions, and objects of JSON expressions. But, as it turns out, turning JSON information into internal data is a minefield; indeed, no two JSON parsers seem to accept the same, non-simple JSON inputs.

You should keep this fact in mind for your upcoming co-op and future employment.

In case you need an example of the problems that such complexity – due to simple-looking notation – can cause, read up on how JSON reading can bring down Windows.

image

Friday, September 23rd, 2022 9:12:53am

A Diversion On Wednesday I briefly addressed the difference between arbitrarily large and infinite in my section—mentioning transfinite ordinals such as ω and ε0 (which is used to prove the theoretical totality of a Java-like type system).

In response Ben pointed me to a fun video that explains this idea at an intuitive level. Enjoy!

image

Monday, September 19th, 2022 8:00:00am

Please read Egoless Programming. It is the only required reading text this semester.

image

Thursday, September 15th, 2022 6:43:54am

A student came to my office hours last night with questions about the teaching philosophy behind the course and the core curriculum. For anyone who’s interested in this question on how to design a core programming curriculum, please visit

Developing Developers

image

Tuesday, September 13th, 2022 6:01:40pm

B — The Very Basics explicitly requests that you deliver solutions on the master branch of your git repository. Only 16 out of 70 of Sam’s “reports” followed these instructions. If this were a company and Sam a manager with 70 “reports,” this would simply be unacceptable.

Sam asked me not to deduct points. He worked around this problem.

image

Tuesday, August 9th, 2022 2:19:59pm

Welcome to Software Development Fall 2022.

See Abstract for a concise course description.

The quote at the top of the page characterizes how the instructors will lead this course as professionals. They firmly embrace the idea that if you pay a lot of money for education, the instructors have an obligation to deliver as much value as possible. The course is an intensive experience.

If you choose to take the course, familiarize yourself with the web site as quickly as possible. For the first couple of weeks, TAHBPL will grow every couple of days; after that, Project Milestones will evolve every week. Any out-of-the-ordinary changes will be announced on this front page.

Since most of you are too young to remember the massive crashes of the tech industry that your instructors have experienced, here is a collection of recent headlines.

image

Every year the course comes with a different theme song, usually from someone who recently died. (Yes your lead instructor is that old.) Well, Tom Petty died some years back but the song’s title is still a good theme.

I won't back down I Won’t Back Down.

Alternatively, watch a tribute version from Fenway Park.

image