Skip to content

tepease/cb50

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 

Repository files navigation

code banner

WELCOME TO CODE CAMP!

Contents

Summary

Class meets Thursdays 12-1 in the CastleBranch Brewery and Sundays 1-4 at New Hanover Northeast Library in Watkins Room

Welcome to the our Git repository. A repository is a place where project files and data about those files are stored.

This repository - or repo - is the home of our curriculum. By the time you've worked through it all you will...

  • be familiar with the Linux bash command line

  • have experience writing collaborative code projects with Git

  • be comfortable reading and writing C, PHP, HTML, CSS, Javascript and SQL

  • have coded your own command line and full stack web applications

  • understand common architectures and programming design patterns

  • be ready to design and create your own new applications from scratch

No prior experience is necessary, just sticktoitiveness.

This course is built around and on Harvard's CS50. By the end of this class you will have completed that entire course, and much more. If you want, you can register for it on EdX (either for credit or not) to access their extra video content and forums. I'll make sure you have all the materials you need right here though, that's strictly optional.

We'll have a lot of important class discussion and notices in our Slack channel. Please do sign up there ASAP and be sure you're getting notifications when needed. They have a nice app, which is also optional, but nice.

Class Expectations

If you meet the below expectations, in this course you will go from zero programming experience to designing and coding your own desktop and web applications from the ground up. It is easy to defeat yourself by getting behind or working infrequently. Learning to program is learning a new language. Like any other language, frequent practice is the key to success. You can keep on top of it and you can succeed! You will need to set aside time at least twice a week to keep your knowledge fresh though. Coming to class regularly will help you keep on top of this a great deal - if you want to succeed you should come to as many classes as you can - at least once a week. Talk to Tristan if you have a scheduling conflict or any other questions. I'm doing this for the fun of seeing you succeed, and am always happy to help.

  • Work through the list of assignment below, in order.

  • Where a video lecture is listed, watch it outside of class.

  • Set aside 5 out of class hours per week for completing problem sets and lectures.

  • Come to class with a laptop and headphones.

  • Learning to program is hard! You will feel dumb. You will struggle. The single key to success is leaving your ego at the door. Be patient. Take a step back or ask for help when you need it. Don't beat yourself up when you struggle. Be nice to you and you will succeed.

Class Structure

Thursday 12-1

  • 25m : Concept review and discussion, quizzes

  • 15m : Setup for current week problem set if needed

  • 20m : Homework review, play with each other’s projects, q & a

Sunday 3:30-5

  • Lab : work through problem set, watch lecture shorts and get help - may go later as needed

Class Calendar

R 5/24 - Introduction, course registration, expectations

S 5/28 – NO CLASS- Memorial Day Weekend

Week 0

HW - CS50 Lecture 0

R 6/1 - Scratch setup, GitHub setup, the command line

HW - Puzzle Pieces, Cowsay

S 6/4 - Scratch

Week 1

HW - CS50 Lecture 1

R 6/8 - functions & syntax: main, printf, get_int

HW - Git Motivated

S 6/11 - Hello.c

Week 2

R 6/15 - variables, data types, assignments and evaluation

HW - Git Stylish

S 6/18 - Water.c

Week 3

HW - Echo.c, Scream.c

R 6/22 - loops and conditions, breaking problems into little parts: change/compile/run

S 6/25 - Grid.c, Numgrid.c

Week 4

HW - Takes2.c, Steps.c

R 6/29 - visualizing and formatting loop output

S 7/2 - Choose either Mario.c easier, or harder

Week 5

R - loop anatomy review, interpreting error messages, arrays, iteration and indices

S - S_p_l_i_t.c, esreveR.c

Week 6

R -

S - Pin tests

Week 7

HW - Git Artistic

R - data types review, return types

S - Choosy.c, Strint.c

Week 8

R - mod math, chaining boolean expressions, functions: round, floor

S - Greedy.c and/or Credit.c

Week 9

HW - CS50 Lecture 2

R - writing your own functions (implement strlen)

S - Initials.c, easier or harder

Week 10

R - command line arguments, debugging

S - Caesar.c

Week 11

R - solving tiny problems - vigenere set up

S - Vigenere.c

Week 12

HW - CS50 Lecture 3

R - GUI persistence in console - make a dungeon-less crawler

S - Fifteen.c - init & draw

Week 13

HW - finish init & draw

R -

S - Fifteen.c - won & move

Week 14

HW - finish won & move

R - fifteen discussion, bug hunt and victory lap

S - no class

Week 15

R - Complexity and sorting algorithms

S - Find.c easier or harder

Week 15

schedule in progress from here down, take with a grain of salt

Lecture 4

Problem Set 4

Set 4, part 1, Whodunit

Set 4, part 2, Resize: less comfy, more comfy

R 7/15 - P Set 3 Game of 15 Demo, P Set 4 File i/o, Image manipulation and Stegonography discussion

S 7/18 - P Set 4 Whodunit & Resize Lab

No Tristan this week - will arrange sub

No Lecture

Set 4, part 3, Recover

R 7/20 - P Set 4 Whodunit & Resize demo, P set 4 Recover discussion

S 7/23 - P Set 4 Recover Lab

Lecture 5

Problem Set 5

R 7/27 - P Set 4 Recover Demo, Data Structures and Complexity discussion

S 7/30 - P Set 5 Speller Lab

Lecture 6

Problem Set 6

R 8/3 - P Set 5 Speller Demo, P Set 6 Web Server discussion

HW - find and present on an RFC or a layer of the OSI Model

S 8/6 - P Set 6 Web Server Lab

Lecture 7

Problem Set 7

R 8/10 - Present HW research

S 8/13 - Stock Trading Web App, Databases & SQL Lab

No Lecture

R 8/17 - PHP-FIG & PSR standards

HW - read up on assigned PSR topic

S 8/20 - Discuss PSR, wrap up Stock Trading Apps - Tristan out, will try to find sub

Lecture 8

Problem Set 8

R 8/24 - Demo Stock Trading Apps, Intro Mashup Google Maps Integration

S 8/27 -

R 8/31 - JavaScript, DOM & AJAX

S 9/3

Problem Set 9 - public data project

R 9/7 - Machine Learning, Neural Nets, p/np, Data Visualization, Kaggle

S 9/10

R 9/14

S 9/17

Final Project

R 9/21 - Diagramming in BPMN, Use Cases, Acceptance Criteria, brainstorm, form teams

S 9/24

R 9/21 - Laravel Framework, Composer & dependencies, Local environments, Artisan

S 9/24

Week 18

R 9/28

S 9/31

Week 19

Demo final project models & work complete

About

beginning of software development training curriculum, built around Harvard's CS50

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors