Lesson 01

Introduction to this course, Visual Studio, and C#

Note: All due dates are listed on the main page for this course.  They are NOT listed here.

This is a 'backup' listing of everything you need to do for Lesson 01. Everything is here, but some of the details may be different (for example, the exercise numbers may be different here than on the 'real' page. Don't worry about minor differences - just get all the work done and hand everything in.)

Individual Post-Class Exercises
  1. Start Of Lecture Slides  ( Required )
    Online students will need to read these on their own. 
    Hybrid students will see them at the start of class.

  2. Course Orientation
    Orient yourself to this course, and get familiar with how it operates.

    1. Should you take this course in a hybrid format or an online format?
      Online quiz to help you decide: https://www.careerwise.mnscu.edu/education/onlinequiz.html
      1. The real value of a quiz like this is not the Yes-Or-No answer it gives you.  What's useful is to use the quiz as a starting point to reflect on your own approach to learning, and think about stuff you might not have considered on your own.  For example, you probably thought about "How good is my Internet connection?" before signing up for an online class but you might not have thought about "Do I seek help when I'm stuck?"
    2. Orient yourself to BIT 142
    3. Post at least 1 question in the "Lesson 01, 02 Discussion Area" (in Canvas). ( Required)
      Answer at least 1 question (that someone else has posted) in the "Lesson 01, 02 Discussion Area" (in Canvas). ( Required)
      (Not doing these will result in a point penalty)

      The questions/answers need to be related to this class, but they don't have to be technical.  "OMG HOW DO YOU FIND PARKING?" is relevant, and frequently asked at the start of the quarter.  "Does anyone want to form a study group?" is another good one, as is "So - what sort of career plans do y'all have, and how does taking BIT 142 factor into that?"

      (You need to do this by start of the second lesson.  I've posted this here at the start of Lesson 01 so that as you're doing this week's work you will remember to post questions when you get stuck / need help / find something confusing / find something interesting / want to share something with the rest of the class / want to challenge the rest of the class :)  )
    4. Watch this video on plagiarism and academic misconduct (Required)
      1. The PowerPoint slides used in the video are here
      2. In general I think that the general Academic Misconduct policies used at the University of Washington's CSE department are excellent, and will be using those policies in this class as well.
    5. Score 100% on the "Syllabus Comprehension Quiz" in Canvas ( Required)
      You should read throgh the syllabus and make sure that you understand everything for yourself (after all, it describes how you're going to be graded); if you have any questions please post them to the Canvas discussion forum.
      You're allowed to take the quiz as many times as you want. 
      NOTE: Next to many of the exercises in this BIT 142 course I've listed chapter and section numbers for specific topics that the textbook covers.  Because you can get any edition of either of the two versions of the textbook your book's section numbers may be off slightly.  You should do your best to try and find the sectionst that are appropriate for your textbook; you can always post a question to the DIscussion Forum(s) if you can't find it!
  3. Midterm and final exams: Ensure that you can attend them (Hand-In)
    This was modified on Tuesday, 3/28. 
    If you can't make the regularly scheduled exams then please email the instructor in the first week to work out an alternative.

  4. Install And Configure Your Software
    Install software (like Visual Studio) and configure web applications that you'll use in this course.

    1. We'll be using Visual Studio in this class, which runs on BOTH Windows AND Mac. This document contains instructions for how to get access to Visual Studio(regardless of whether you have a computer running Windows, a computer running MacOS/Linux, or neither)
      1. There's a link in that document that describes how to install VS 2017. That link is broken, so use this link, instead: instructions on how to install Visual Studio 2017 For Windows
      2. If you don't want to (or can't) install Visual Studio on your own computer
        then you can use Cascadia's servers from your home computer.
        There are instructions on using Cascadia's Windows computers from your own personal computer here.
      3. WARNING: DO NOT GET VISUAL STUDIO CODE

        Visual Studio Code is a new product from Microsoft that (confusingly) has the same name but is fundamentallly different. 
    2. Update your email address in Cascadia's system (Required)
    3. Make sure that you can access the Canvas system; set up Canvas to notify you when  announcements are made and and comments are posted to discussion groups (Required)
  5. Download And Understand The Video Viewing Quiz/Outline (Hand-In)
    You have two choices to demonstrate that you've watched (and understood) the videos: either create an outline or fill out the viewing comprehension quiz (described below).  Either way you hand in the viewing quiz / video outline by including the appropriate file in the .ZIP file you hand in for this lesson (in either Word .DOC/.DOCX format or .PDF format).

    NOTE:  You can download a .ZIP of all the videos for this lesson from Microsoft's OneDrive website by opening the folder (click this link to open the folder), then clicking on the "Download" menu item.

    • Viewing Quiz for Lesson 01
      Note: A good way to do the viewing quiz is to have the quiz open while watching the videos, and fill the questions in as they're covered in the  video.

    • Starter File for outlining this lesson's videos

      Directions for outlining the videos

      Since this is the first time you will be submitting an outline I recommend that you:

      1. Read the directions above, and watch the three videos therein (each video is about a minute or two long)
      2. Watch the first video below while looking at the sample outline in the starter file, in order to get a feel for how much detail you're expected to produce.
      3. Watch the second video while filling in the partially completed outline (also in the starter file)
      4. For the remaining videos you’re on your own!
  6. Getting Started With Visual Studio Projects
    Get familiar with how to use Visual Studio to create or use small programs.

    1. VIDEO: How To Use My Videos
          PowerPoint slides used in the video
    2. VIDEO: What Is A Project
    3. VIDEO: How to create a simple console application
    4. Exercise: Create a simple console application  (Ch 3.3 (walkthrough), 3.2 (explanation of the program) )  
    5. VIDEO: How to download and use a simple console application
    6. Exercise: Downloading and using a simple console application
  7. Starter Project for the Lesson 01 PCEs (Post-Class Exercises) (for use with Visual Studio 2010)
    Download and extract this file.  You will (generally) use it to do all the programming exercises for the rest of this lesson.
    (Note: You may not use all the provided classes in the starter project)
  8. Simple C# Programs
    Relearn some basic programming techniques, in C#.

    1. VIDEO: Basic console I/O ("Everything you need to know for this class, and nothing more")
    2. Exercise: Basic Console I/O     (Sect. 3.5)
    3. Exercise: Basic Arithmetic Operators (Sect. 3.6, 3.8) (C# For Programmers 2012: 3.6, 3.7)
    4. Exercise: Defining & Using an Instance Methods ( Hand-In) (Sect. 4.1-4.3 (mostly 4.3)) 
    5. Exercise: Function Calls: A Handy Trick (on your own)
  9. C# Expressions
    Examine C#'s data types and rules for evaluating expressions in depth

    1. VIDEO: Expression Evaluation (Order of operations)
    2. Exercise: Data Types ( Hand-In) (Sect. 5.11, Appendix L) (C# For Programmers 2012: Sect 5.11, Appendix B)
    3. Exercise: Order Of Operations ( Hand-In) (End of Sect. 3.9, Appendix A)
  10. Scheduling Your Time
    In this exercise you will write out a schedule for a 'typical week', and then make sure that you have enough time for this class.

    1. Exercise: Scheduling Your Time  (Hand-In)

    2. Supporting Document: Blank Schedule.docx

  11. Final Steps
    A couple last steps, then you'll hand in your work for this lesson.

    1. Exercise: Personal Data Sheet (This is optional but helps me get to know everyone.  Please hand this in with as much information as you're comfortable sharing)

    2. Web Hand-In for post-class exercises and for homework:
      Go to the StudentTracker  web app, and create an account for yourself, and then "enroll" in the course.
      Please submit a .ZIP (and ONLY a .ZIP - not a .RAR, .7z, etc) that contains the Program.cs file, the video outline/viewing quiz .DOCX (or .PDF), the EXAM_PLANS.DOCX (or .PDF), any other files you wish to include (such as the personal data sheet and your schedule), and leaves out every thing else (as much as possible).

      1. VIDEO: Using StudentTracker

      2. VIDEO: How to .ZIP your homework into a single file

      3. Remember that you can use an extension to hand in your work slightly late (see the lecture 1 slides at the top of this page for details).
        Once you get the feedback (the grade) from the instructor you have a limited time to email your missing work to the instructor (make sure to tell the instructor that you're using an extension). 
        You can use an extension if you forgot to hand in the entire .ZIP file, and you can  use the extension if you forgot to include an entire, specific file.  You CANNOT use an extension to revise work that you submitted and got a grade on.

    3. I'd love to hear your feedback on this lesson. (Required)

  12. Preparing For The Future

    1. Make sure that you're working on homework assignment #1 (abbreviated A1).
      Details are listed on the
      homework assignment page .
      The due date is listed on the main page.

    2. Email the instructor immediately if you do NOT want your email address sent to Microsoft for the full Dreamspark membership
      The instructor is planning on doing this immediately after the next class is done, so email the instructor immediately if you don't want your email address sent to Microsoft!

    3. Schedule Time For The Midterm Exam
      The midterm exam will occur in-class on the day listed on the main page for this course.  For hybrid students this isn't an issue - y'all are here anyways. 
      For online students you'll need to secure time to drive to school, take the exam, and then drive back.  Make sure to start talking to your employer/spouse/etc/etc NOW so that you're able to be there for the final exam. 
      Remember - skipping the midterm exam will get you a zero!!!

    4. Have you ever stopped and thought about how best to read your Computer Science textbook? (Required)
      Ashley Myers, Computer Science teacher at Roosevelt High School has an excellent, 1-page summary of how to read a Computer Science textbook
      You're required to read this but you are not required to take any particular notes.
      Please do take the time to thoughtfully consider how you make use of your textbook, and please do continue to revise and fine-tune your workflow throughout the quarter!

    5. Schedule Time For The Final Exam
      The final exam will occur in-class on the final day of the quarter.  Just like for the midterm you need to schedule this now so that you can be here then. 
      Remember - skipping the final exam will get you a zero!!!

    6. Start practicing what you've learned here
      Remember that in order to really learn this stuff you're going to need to practice it.  Go back and redo the exercises from this lesson until you've really got it down.  Specifically, make sure that you've got a solid command of the I/O and the expression evaluation.

    7. Closing thoughts -
      Remember that learning to program is tough stuff.  Take the time to reflect on your progress (or lack thereof) and to stop and ask yourself "Is there something I can be doing differently, in order to do better?"  Seek help sooner rather than later!
      I'll leave you with an interesting article about the difficulties of learning to program

In-Class Materials:

In-Class Videos (These were recorded during this class, and are made available here in case you want to refer to them later)

Instructor's Materials:
Notes

These notes are for the instructor’s use, and not meant for public consumption.
They're posted here on the off chance that you find them useful - If they help you, that’s great.  If not, please just ignore them :)