Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.

Lesson 1 (Data & Variables)

Sally Steuterman edited this page Jul 28, 2020 · 1 revision

Lesson 1: Data and Variables

In the prep work this week, the students learned:

  1. How to set up a C# development environment and execute C# programs
  2. A basic understanding of C#'s type system
    1. How static typing differs from dynamic typing
    2. What are value types vs reference types
  3. How to write a simple C# programs

Announcements

  1. Welcome! First day of class pep talk
  2. Class 2 prep work should be active by the end of class.
  3. Graded Assignment #1 is open! With each of the graded assignments in this unit, the key is to read through everything carefully and start on what you can do as soon as possible. In class, read through the instructions with your students and highlight what they are capable of doing after this class.

Large Group Time (Instructor)

First Class Reminders

  1. Use Canvas to access course content.
  2. Set expectations for students:
    1. Do ALL of the prep work before class.
    2. Ask questions often.
    3. Make use of the help and resources available.
  3. Introduce the TFs and assign groups (may be done during the studio intro).
  4. Other relevant contact information.

Lesson 1 Topics That Require Careful Attention

  1. Getting Visual Studio installed and a first project set up. The development environment requires some dependencies and the software works differently on Windows and Mac machines. Encourage students to get comfortable with Visual Studio (VS) since we'll be using it lot from now on.
  2. Declaring types in a statically typed language can be tricky for learners coming from learning a dynamically typed language.
  3. Boxing and the relationship between value types and objects in C#.
    1. This is a very tricky topic that will be addressed more throughout the course. Students should be starting to get comfortable with this topic but it is normal if they need more time to consider these ideas.
    2. One of the most critical aspects of this is the referential nature of objects in C#.
  4. Graded Assignment #1 is open! With each of the graded assignments in this unit, the key is to read through everything carefully and start on what you can do as soon as possible. In class, read through the instructions with your students and highlight what they are capable of doing after this class.

Studio (TA Notes)

Best Practices for ALL Studios

  1. Check in with EVERY student during EVERY studio.
    1. This builds relationships and trust, and it helps you spot potential issues before they get too large.
    2. Checking in does NOT mean a quick question like, "How are you doing? Need any help?" Instead, sit next to the student and ask specific questions about their code, their interpretation of the instructions, or their coding dreams.
    3. Provide detailed feedback as often as possible. "Good job!" does not cut it. An example would be "Hey! I like your variable names! They are very descriptive!".
  2. Be prepared to clarify the studio instructions beyond just re-reading the words on the screen.
  3. Encourage students to work together and share ideas.
  4. Assist individuals as questions arise. Address frequent mistakes and/or questions to your whole group.
  5. Make a note of any issues that occur during the studio and provide that feedback to the instructor and LaunchCode team.

Lesson 1 Studio

  1. Ensure students successfully create a new solution/project in VS for the studio.
  2. Make sure students select the console app option and give their project an appropriately descriptive name.
  3. Studios are NOT graded, but for this first task, you should do a visual check of each student's output.
    1. The best time to do this is during the studio!
    2. If a student does not finish by the end of class, they should complete the studio at home and push it up. You will be able to check their code from Github.
  4. Common mistakes:
    1. Some students may struggle with the Main method requirement.
    2. Some may not be comfortable breaking their solution out into two classes.
  5. Recognize any clever attempts to hard code the printed message.
  6. Even though you do a visual check of the code, students should still push their work up on Github when they finish the studio. That way, they preserve a record of their participation.