Skip to content

Instantly share code, notes, and snippets.

@ltw
Last active September 10, 2017 22:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ltw/f46488e6baa84054afc88fe8f27bd184 to your computer and use it in GitHub Desktop.
Save ltw/f46488e6baa84054afc88fe8f27bd184 to your computer and use it in GitHub Desktop.
DBootcampC

Week 8: Review and Reflect

This is a week to handle final grading and remediation, and also to catch up on prior week's exercises. Please revisit and complete:

  • Week 7: React - complete the tutorials
  • Week 5: Data Structures - please complete any structures you didn't get to
  • Week 3: Algorithms - choose another sorting algorithm and implement it
  • Self-study with JavaScript - either front-end frameworks, node development, or functional JavaScript

Week 7: JavaScript Frameworks and Their Relevance in Modern Web Development

(aka React, I guess)

Book Club

Do the following by Friday and then come ready to discuss what we've learned:

Week 6: Leveraging Unix

Readings

Before the lecture, please read the Basics of Unix Philosophy (the one linked page is enough, but feel free to read the book if you like!)

Lecture

Lightning Talks

Put together a 10-minute lightning talk with a demonstration on one of the following concepts:

  • ln and the concept of both hard and soft symbolic linking in Unix-like filesystems (Glenna)
  • file and user permissions with chmod, chown, chgrp and chroot (Tyler)
  • user environments and persistent state with env (Emmanuel)
  • process handling with kill, nice, bg and time (Andrew)
  • searching for and inside files with find and grep (Tracy)

Week 5: Data Structures

Implementations

We're going to be working through the first part of the Data Structures & Algorithms unit designed by Matt Baker for our pilot Onboard program. By the end of the week, please complete the following challenges:

  • Fixed Arrays
  • Array Lists
  • Linked Lists
  • Stacks
  • Queues

We'll be showcasing these on Friday - no lightning talks, but we'll be discussing the ideal implementation which gives you the chance to talk about how you implemented each and learn from each other.

Week 3: Searching and Sorting Algorithms

Sorting Implementations

Please implement your sorting algorithm inside the pre-made test harness.

Put together a 10-minute lightning talk walking us through your implementation and covering the following about your algorithm:

  • How does your algorithm work?
  • What is the worst-case array ordering for your algorithm?
  • What is the best-case array ordering for your algorithm?
  • What is the average Big-O case for your algorithm?

Optional Readings

Week 2: The Structure of the Web

Readings

Before the lecture:

Lecture: HTTP and Down We Go

Video

We'll start by breaking down some HTTP requests and responses and understanding how two computers can exchange information via HTTP – then we'll start pulling back the covers on the technology that HTTP sits on. We'll look at DNS, BGP, TCP/IP, UDP, and the core structure of networks and packets in general.

Lightning Talk Topics

  • What is SSL, how does it work, and how does it fit into HTTPS? (Andrew)
  • What is a DNS TTL, and why is it important to understand and control your TTLs? (Tyler)
  • What was Heartbleed, how did it work, and why was it so devastating? (Tracy)
  • What are ports, and what are they for? (Emmanuel)
  • What does running rails server do, and how does it allow you to make HTTP requests to your own computer? (Glenna)

Additional Readings

Week 1: TDD

Lightning Talk Topics

  • What makes a great feature test, and why is it different from a great integration test? (Emmanuel)
  • Why is Red-Green-Refactor such an important concept in testing? (Andrew)
  • What makes a great model unit test? (Tracy)
  • Explain what the FIRST principle is, and why each step is important (Glenna)
  • I'm a large company with lots of applications and no tests. Why should I start investing in TDD? (Tyler)
  • How does a good suite of tests lead to great software? (Cover multiple strategies that extend beyond verifying code quality.)

Readings

Most of the readings for this week will be pulled out of GOOS (Growing Object-Oriented Software: Guided by Tests by Nat Pryce and Steve Freeman.)

GOOS:

  • Chapters 1, 2, 4, 5, 21, and 22

Other Links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment