-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #359 from turingschool/move-prep-out-of-lab
Prep sessions moved out of Labs for remainder of Mod 1
- Loading branch information
Showing
14 changed files
with
95 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
|
||
|
||
### Preparation | ||
|
||
Up to this point, we have used pre-built tools like `.Split()`, `.ToLower()`, and `.Add()` to help us in our programming. These tools are called **methods** - they are sets of instructions that can be _reused_ as needed. We are going to learn more about methods in the next lesson, but to get you thinking about this topic, you could imagine that methods are like tools in a tool-box. | ||
|
||
Let's say you are building a piece of furniture that requires you to fasten pieces together with nails. The hammer in your tool box is like a method - when you need to fasten a nail, you use the hammer. You can reuse the hammer whenever you want, without having to build or buy a new hammer for each nail. | ||
|
||
|
||
There are many pre-built methods that we can use in c# (or in any other language); but, the real power of programming is in building our own methods. We can build specialized tools that can be reused in our programs to accomplish specific, repeated tasks. These methods might be simple, like adding two numbers; or, complex, like building a user profile. Simple or complex, the goal of creating methods is to reduce any repeated instructions in our code. where we see the same set of instructions being used over and over, we can clean up our code by organizing those instructions into **methods**. | ||
|
||
In your notebook, create a list of the built-in methods you have used recently. What is the name of the method, what does it do, and what does it's syntax look like? | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
--- | ||
layout: page | ||
title: Classes Prep | ||
--- | ||
|
||
# Preparation | ||
## Classes | ||
So far, we've used basic data types like `strings`, `bool`'s, and `int`'s or `double`'s as the data in our applications so far. We've even seen how we can track more complicated pairs of data like items and their quantity in a hypothetical inventory system using a `Dictonary`. But consider how we might keep track of the many pieces of data involved with a `user` in an app like Instagram. | ||
|
||
<section class="call-to-action" markdown="1"> | ||
### In Your Notebook | ||
- What are some `properties` the user might have? These are piece of data like `username`, `friends` or `age` - brainstorm at least three more properties and what their datatype might be. | ||
- What are some `behaviors` or actions a user needs to be able to take? Brainstorm at least three more behaviors. | ||
|
||
It would be a nightmare to track all of this data in separate variables. This is where `Classes` come into play. Do some research and write down your current definition of what a `Class` is in C#. | ||
</section> | ||
|
||
## Namespaces | ||
|
||
As our programs get more complex, we will start working with more built-in c# tools and we will start writing code in multiple files. With the increased complexity, we will need to be intentional about how we organize the code that we write. One way that c# helps us with this organization is with `namespaces`. Read through the two resources listed below: | ||
|
||
* [Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/namespaces) | ||
* [Tutorials Point](https://www.tutorialspoint.com/csharp/csharp_namespaces.htm) | ||
|
||
And, answer these questions in your notebook: | ||
* Why do we use the line `using System;` at the top of our program.cs file? | ||
* Is `using System;` required for our programs to execute? Why, or why not? | ||
* In your own words, what is a `namespace`? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
layout: page | ||
title: Debugging Prep | ||
--- | ||
|
||
## Preparation | ||
|
||
Tomorrow, we are going to be discussing **debugging**. Spend 5-10 minutes googling to come up with a definition of **debugging**; you could try phrases like `what is a bug in programming?`, `debugging code`, `c# debugging tools` and `Where did the term bug come from in programming?`. | ||
In your notebook, write out your definition of debugging. Write down some examples of real life debugging you might have already had experience with. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
layout: page | ||
title: IDE Prep | ||
--- | ||
|
||
## Preparation | ||
|
||
Up to this point, we've been using [Replit](https://replit.com/), an online version of an IDE (Integrated Development Environment). It is a great environment to learn the basics of programming. In fact, Replit supports dozens of programming languages, not just C#. However, to become a professional developer, we need to use more dedicated tools. | ||
|
||
As our first step, we will install an IDE called Visual Studio directly on our machines. While there are several versions of Visual Studio, we will use the FREE version called **Visual Studio Community**. Learn more about Visual Studio [here](https://visualstudio.microsoft.com/vs/). We will work through the installation process in the next lesson. | ||
|
||
Before we install Visual Studio, we need to install Git on our local machine. [Follow these instructions to install Git](/module1/lessons/Week3/InstallGit). We won't use it right away, but it will be important as we continue working on new and existing projects. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
layout: page | ||
title: Unit Testing Prep | ||
--- | ||
|
||
# Preparation | ||
|
||
Individually, spend 10-15 minutes reflecting on the following questions. Take notes on your reflection to share out in tomorrow's lesson warm-up. | ||
|
||
* In your brief programming experience, how have you known if your code was functioning as expected? | ||
* Imagine you are a developer working at Google on some large-scale projects; what might be some drawbacks to your current approach? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
layout: page | ||
title: Unit Testing Part 2 Prep | ||
--- | ||
|
||
# Preparation | ||
|
||
In your noteboook, reflect on the following: | ||
1. During the lesson and this lab, how did you know if your refactor was or was not breaking the function of the program? | ||
2. What if these examples had included tests? Would that have impacted your ability to refactor the code? Why or why not? |