Introduction to this course, Visual Studio and C#; review of OOP

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

"Online" students are encouraged to attend this lecture but are not required to (nor expected to).
There will be videos recorded of the in-class lectures; these videos will be posted online after class ends.

Individual Post-Class Exercises

EVERYONE must complete these 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. For the 2017 Spring quarter: Since everyone signed up for the hybrid section if you wish to take the class online then you should email the instructor and request to change to the online grading schema.
      You can check whether you're being graded using the online schema or the hybrid schema in StudentTracker (in the grades panel there's a row labeled "Enrollment Type" that lists you as being Online or Hybrid)
    3. Orient yourself to BIT 143
    4. 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)

      (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 :)  )
    5. 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.
    6. 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. 
  3. Midterm and final exams: Ensure that you can attend them (Hand-In)

  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. 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. Here are specific instruction on how to install Visual Studio 2017 For Windows
      3. 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.
    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 "Folder Actions" menu, then clicking on the "Download Folder" menu item.

    • 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!
    • 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)

  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. Create a simple console application 
      (Ch 3.3 (walkthrough),
      3.2 (explanation of the program) )  
      There is a Demo Video that walks you through this, too
    3. How To download and use a simple console application
    4. 'Starter' project for the lesson 01 PCEs (DOWNLOAD THIS!!)
      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)

      Note: If you see this error:
      An error message that says "Invalid License Data.  Reinstall is required"
      You may want to try this fix.
    5. Exercise: How To Use Multi-Project Starter Solutions
      (related, very optional reading: How to create your own multi-project solutions)
  7. Review: Basic Exercises:
    (Note: there no videos for these because they review material covered in pre-requisite courses)

    1. Exercise: Console I/O, Operators (Chapter 3) (Hand-In)
    2. Exercise: Fibonacci numbers in an array (Hand-In)
  8. Review: OOP Basics:

    1. (Demo Video   Example Project)
      OOP Encapsulation:
      (Demo Video   Example Project)
      Note: These videos may be helpful, but are not "required viewing" (i.e., you do not need to outline them, nor are there viewing quiz questions on them)
    2. Exercise: Review: Variable Scope (class, instance, local/param vars) (Hand-In)
    3. Using The Distance Formula (Demo Video   Word Document Used in the Video)
      (There is nothing to hand in for this PCE.  Personally, I'd recommend doing a couple of examples by hand in order to make sure that you understand the formula.  You will be using the distance formula in exercise #16 ("Review:Circle class: Overlap method") below, and in homework assignment 2, and elsewhere.)
      Note: This video may be helpful, but is not "required viewing" (i.e., you do not need to outline it, nor are there viewing quiz questions about it).
    4. Exercise: Review: Class Composition: Circle Class (Hand-In)
    5. Exercise: Review:Circle class: Overlap method
  9. Dynamic Memory Allocation

    1. Exercise: Review: Arrays of Simple Types (Hand-In)
    2. Video: SmartArray Overview
    3. Exercise: SmartArray Overview
    4. Video: SmartArray (Basic class implementation)
    5. Exercise: Basic SmartArray Class (Hand-In)
      Note: The starter file for this lesson contains a Visual Studio Solution.  That Solution contains two separate projects. The SmartArray code is in the second project - if you want Visual Studio to run that second project you will need to right-click on the project and select "Set As Startup Project" from the context menu (it's about halfway down).
      If you can't get this to work then you might want to post a question to the Canvas discussion group asking for help.
  10. 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. Hand in your work:
      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.

    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. 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!!!

    5. 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.

In-Class Materials:

These materials are used by students in the hybrid class during leture time.  Online students can safely ignore everything in this 'In Class Materials' box.

In-Class Materials:

  • Detailed instructions for in-class work
  • Starter project for the in-class exercises

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 :)

Videos recorded during class (of the In-Class Exercises):