Skip to content

Details

All experience levels welcome!

Tonight we'll be collaborating on a fairly simple coding exercise where we program a virtual Elevator: Given a set of people at different floors in a building, and the destination floors they'd like to go to, how can we optimize for the shortest trip?

We'll also be applying a few different Software Crafting techniques:
• Mapping out our approach, and what functionality we need
• Taking turns as the "Navigator" and "Driver" as we write code
• Practicing Test Driven Development (testing before coding!)
• Separating our code into a "Functional Core" and an "Imperative Shell" (with both "Unit" and "Integration" tests)

(That may sound like a lot... but we'll explain these as we go - And these are all techniques to help us write cleaner, more organized, more readable code, that is less likely to break when we change it.)

Attendees are welcome to engage at the level they're most comfortable with as part of an Ensemble Programming Group(*): Writing code in a shared environment, providing ideas and suggestions, following along and asking questions, or any combination of the above.

We'll provide programming environments in Python and TypeScript (and will pick one when we organize into one or more groups).

( * Ensemble Programming is a newer, friendlier name for "Mob Programming", a social programming technique for planning, writing, and learning about code in a group setting.)

Schedule (Eastern Time):

6:45 PM: Setup (for Attendees who'd like to actively code)
7:00 PM: Begin tonight's exercise
8:00 PM: (Break)
8:15 PM : Continue exercise
9:00 PM: Wrap up and further discussion

This remote event will happen over Zoom - If you'd like to actively write code with us, you should sign up for a free GitPod account:

https://gitpod.io/workspaces/

Which will allow for collaborative code editing in a browser-based VSCode editor. (You will need a GitLab, GitHub, or Bitbucket account - also available for free - to sign in to GitPod - Using a GitHub account is recommended. You do not need to share any of your own repositories with GitPod, as one will be provided for tonight's exercise.)

Functional Programming
Computer Programming
Pair Programming
Software Engineering
Test Driven Development

Members are also interested in