Official Repository for Source Fall 2019: https://github.com/20rohrichtt/Source
Source is a (relatively) new HackCville program geared towards learning some of the fundamentals of software engineering. Students will learn the basics behind writing React code, and do a brief overview of full stack development, from the frontend to backend.
Class slides can be found in the follow Google Drive folder: https://drive.google.com/open?id=1_zERtZlEsUN8crI9ihftPhgn7eeZUFNK
We will meet regularly on
- Monday, Wednesday, 5-6:30pm
These class times will be devoted to some introductory learning, pair programming to reinforce concepts, time to work on personal projects, and larger community events (potentially including some speakers from Charlottesville software engineers!).
Participants are expected to attend both meetings each week. If more than four absences are recorded, there is a risk of not completing the program and discontinuing membership with HackCville, so if you feel you’re at risk here, please talk to an instructor to evaluate your situation so we can try to work something out.
Hello World! At the kickoff we will get to know each other (don't worry we will limit the icebreakers),give an overview of the semester, and see what Hackcville is all about! We will also set up everyone's machines with the appropriate software for the semester, and have a brief introduction to git if we have time.
Although not the most flashy, Git and the Terminal two of the most important tools that develops need to know. Git is a software that allows us to control versions of our code and allows us to collaborate with others, while the Terminal is the "home base" from which we will navigate our computer files and run code.
We will touch quickly on several more advanced topics that in Javascript that are crucial when we start working in React, such as mapping and certain special types of function calls.
This is where the fun begins! We will start to make web applications in React, going over the fundamentals and all the necessary components.
Take a deeper dive into react and start applying some of the advanced javascript techniques that we learned during Week 2. Chances are, you will often need to interact with something else (like a database) outside of its own codebase. We’ll go over how to make your code “wait” while it’s pulling from these resources and how to do so using HTTP requests, which make up the bulk of how computers talk to each other over the Internet.
You now have a good grasp on the basics and how to grab data--lets put those skills to work on a project that you and a group decide on!
Why write code that someone probably has already written before? We will take a deeper dive into node package manager this week and take a look at all of the cool packages that you can install to make your life as a React developer easier.
Speaker (TBD)
We’ve come to love JSON’s, right? Well, we’ll be looking at an online database that’s literally structured like a giant JSON! We’ll go over the basics of using Firebase to read/write data online and briefly touch on some of the other functionality it has (login systems have NEVER been easier).
You thought Firebase was cool? Get ready for Graphcool! Graphcool extends on the functionality provided by Firebase, allowing for more complex queries and manipulation of data. We will learn the basics of querying and mutations, all the while using React for the front end.