Course Syllabus

cs271banner.png

Please post all course-related questions in the Piazza forum so that the whole class may benefit from your conversation.  Not all posts require a reply from the instructor/TA and often it is better for students to hash out an answer to a question.

To contact the TAs, open Canvas Inbox, compose a new message, select this course, then next to the ‘To’ box click the address book, select “Teaching Assistants”, then choose the name(s) of TAs you wish to contact.

Please email your instructor only for matters of a personal or private (grading) nature.  The instructor or a TA will reply to most course-related questions within 24-48 hours.

Office Hours are held via the class-specific Slack workspace. For details on getting set up on Slack, please go HERE.  The actual Workspace you should sign into is oregonstate.enterprise.slack.com
This will log you into your OSU slack account, where the class Workspace should be visible. For now, the naming convention is class-cs271-sp19.

Listing by day of the week:

Clarification added June 11th: Office hours are not held after the start of finals week.

Monday 3-5pm --> Mohamad Danesh
7-9pm --> Shih-Hsuan (Kevin)
Tuesday 4-6pm --> Hung Nguyen
Wednesday 9-11am --> Christopher Buss
3-5pm --> Mohamad Danesh
Thursday 12:15pm-1:30pm --> Justin Goins
4-6pm --> Hung Nguyen
Friday 9-11am --> Christopher Buss
3:30-5:30pm --> Shih-Hsuan (Kevin)

 

eCampus Resources - These resources will be useful for all of your classes throughout the term...  Library Information, Helpdesk Contact Info, Canvas Tech Support, etc...

Syllabus Link

Schedule Link

Syllabus Quiz: This quiz is based on the syllabus, so understand the syllabus before taking it. You'll need to score 100% in order to access the Week 1 materials! Don't Fall Behind!

NOTE: This quiz is only available to currently-registered students.

NOTE: Some links in this syllabus page may only be accessible to currently enrolled students.

Instructor Introduction

Hi! My name is Justin Goins. I've previously taught a mixture of on-campus and Ecampus courses at OSU so I might have met you during previous courses or at the Ecampus Career Showcase. I first taught this class during the summer of 2011. I loved the experience and later ended up teaching the course for several years while simultaneously working on my graduate research in the field of sensor networks.

After I finished my PhD I applied as a full-time instructor at OSU and I'm delighted to be teaching again. Since my research background is in electrical & computer engineering, I have the somewhat unusual distinction that I teach classes in both fields (CS & ECE). If you are curious to learn more about me, there is a short biography available online from my time as a graduate student.

Some of my outside hobbies include photography, swimming, and SCUBA diving. During the summer you're likely to find me swimming at the local Osbourne Aquatic Center or at the Marys River. I occasionally ride BMX bikes though I rarely attempt any tricks that I deem "too ambitious". I've discovered that aches and bruises take longer to heal as you get older. :)

I try to stay involved in the local community and have volunteered at several schools in the Corvallis district. I feel that it's important for young students to explore the career opportunities that are available in the technical fields. Most students automatically assume that engineering and computer science are simply full of boring math but the reality is so much more interesting!

Course / Designer Introduction

 

Welcome to CS271 (PDF)

  • Introduce Yourself

    Hop on over to Piazza (the link on the navigation sidebar will take you straight there) and introduce yourself!

The following consists of installation & setup tutorials for Visual Studio 2017. If you already use Visual Studio 2015, that version can also be used in this class.

If you want to use Visual Studio via Citrix, please see the bottom of this page.

Coming out of this module you should have done the following:

  • Set up Microsoft Visual Studio
  • Install and configure Kip Irvine's libraries
  • Started a new Assembly code project
  • Verified that Visual Studio is installed properly

Please also note that your Visual Studio install will need to be "Activated" with your Product Key.  You can retrieve this key at any time through the Microsoft Azure interface by looking in "All Services --> Other --> Education --> Software" and clicking on the Visual Studio product.

Installation on PC

  • Get Set Part 1

    The process to obtain Visual Studio has recently changed. The software is now available through the Microsoft Azure program.
    To get started, visit https://azureforeducation.microsoft.com/devtools and log in using a Microsoft account. Ironically, Microsoft requires that you log in with a non-OSU email (if you have an existing account you can use it) and then verify your OSU email to obtain access. Once you are logged in, the main portal should look similar to the following:
    Home screen of Microsoft Azure

    In order to access the Visual Studio download, go to "All Services" --> "Other" --> "Education".
    Azure Education Portal

    Once you are in the Education section, locate "Visual Studio Enterprise 2017" (in the Software sub-section). You can then view your assigned license key and download the software.
    Azure Education Software

    When you install Visual Studio you will be asked to select your intended workload (e.g. how do you plan to use Visual Studio). You should select "Desktop  development with C++" as that is the best option for our purposes. I suggest installing the newest version you can (currently 2017). Visual Studio 2010 is shown in some class videos but the newer versions of Visual Studio have better compatibility with Windows 10.

     

  • Get Set Part 2

    In this video, Stephen Redfield explains how to install and configure the libraries provided by the textbook's author.
    Note that the textbook website now contains updated libraries for Visual Studio 2017 so you can follow that tutorial directly (view the video for clarification).

  • Get Set Part 3

    This last video shows how to start a new Assembly code project and verify that Visual Studio is installed properly.

Using Citrix (not required)

Citrix is a software product that allows you to access programs on a remote computer as if you were sitting at the desktop. Personally, I generally recommend that students install Visual Studio on their local computer, rather than using Citrix. However, if you want to try it, you should be able to access Visual Studio on our OSU Citrix Servers as follows:

On Citrix, choose the “Desktop” choice at the top (or bottom?) of the screen after you are logged in and then the “MIME EECS Desktops” choice. This will create a session as if you were logged on to an on-campus lab computer.  In the Citrix session, download the updated zip file here and extract it to

Z:\bin\CS271\

You will have to make this folder (it does not exist by default). All your projects should live in this directory, since in order to execute code on Citrix the executable should be in the bin folder or a subdirectory thereof. Also note that you need "execute" permissions in the 'bin' folder, which may or may not be set by default. If you are having trouble with this folder they can create/reset it here.

NOTE 1: You do not have to download/install the Irvine .msi file if you use the Citrix machine (in fact it won't let you). But you will have to transfer it from the network drive V:\Irvine (which should be mapped to "\\stak\engr.oregonstate.edu\" to the network drive Z:\Irvine and update the project properties.  Once you get to the point where you're opening a project, do the following:

  1. Open the Project.sln from "Z:\bin\CS271\Project32_VS2015 " after you've extracted it to this location (one of the videos shows you this).
  2. Select Project (from the top menu) -> Project Properties
  3. In the project properties window select "Linker"
  4. On the right you should see "Additional Library Directories:" and c:\Irvine part of the listing here
  5. Change c:\Irvine to Z:\Irvine
  6. Now select "Microsoft Macro Assembler" from the same part you selected "Linker"
  7. Under "Include Paths" change c:\Irvine to Z:\Irvine
  8. File->Save All
  9. Close Visual Studio, and re-open Project.sln from the same directory.

NOTE 2: Be aware that the files will NOT reside on your home computer, and if you want them on your computer/laptop you'll have to transfer them using an SFTP utility.

Other Resources

  • Syntax Highlighting

    By default, Visual Studio does not include syntax highlighting for Assembly code. This can sometimes make it more difficult to read your source code.

    • For Visual Studio 2015 and later, you may use this AsmHighlighter.
    • You may also use an external editor (such as Notepad++, which is great for MASM), then compile/run within Visual Studio (this is what I do).

Course Summary:

Date Details Due