Course Syllabus


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
This will log you into your OSU slack account, where the class workspace should be visible. For now, the naming convention is class-cs271-400-f19.

The listing by day of the week is shown below.
Note: Office hours are not offered during finals week.

Monday 1:30pm-2:30pm --> Christopher Buss
2:30pm-4pm --> Trung Vu
Tuesday 1:30pm-2:30pm --> Nicholas Milford
3pm-4:30pm --> John Davis
Wednesday 10am-11:30am --> Justin Goins
1pm-2pm --> John Yoon
2pm-3pm --> Trung Vu
Thursday 11am-12:30pm --> Abbi Devins-Suresh
1:30pm-2:30pm --> Nicholas Milford
3pm-4:30pm --> John Davis
Friday 11am-12:30pm --> Abbi Devins-Suresh
1pm-2pm --> John Yoon
3pm-5pm --> Conner Maddalozzo


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.

Meet the Instructor

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

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

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

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 that you installed.

What if I don't have Windows on my computer?

  • Since the Microsoft Assembler (packaged with Visual Studio) only runs on Microsoft Windows, you will need access to a Windows installation. Fortunately, all the tools that you need are provided for free. Be aware that you have several options. For recommendations or other advice, feel free to post a question on the Piazza forum (see link in the sidebar).

    • OSU students get free access to virtualization products including VMware Fusion (for Mac OS) and VMware Workstation (for Linux). Both of those tools are available for download at the VMware Academic Site. The Linux version supports Ubuntu, RHEL, CentOS, Oracle Linux, and SUSE.
    • As a Linux user myself, I generally recommend that students use Virtual Box to run Windows within their Linux installation. Virtual Box is completely free so it has widespread support across numerous distros.
    • Mac and Linux users can also dual-boot their computer to run Windows. If you choose this option, make sure that you fully understand the consequences!

    Whichever strategy you choose, you will still need to have access to the Windows installation media. This is also available for free on the Microsoft Azure interface. The Windows 10 download can be located in the section: "All Services --> Other --> Education --> Software --> Windows 10 (consumer editions)"

Installation on PC

  • Get Set Part 1

    Visual Studio is now available through the Microsoft Azure program.
    To get started, visit 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" and make sure the "Everything" category is selected. In the search bar, type "education" and select the Education option that appears.
    Azure Education Portal

    Once you are in the Education section, locate "Visual Studio Enterprise 2019" (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 Visual Studio 2019 simply because that is the most recent version. 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 order to configure the textbook libraries, you will need to download two ZIP files and extract their contents to the proper location.

    • First download the file
      Extract the contents of this ZIP file into the C:\ directory. If the files were extracted properly, the following file should exist on your computer:
    • Next, we need to download the Visual Studio project file. For this step, it's recommended that you create the directory C:\CS271
      You can then download the file and extract the contents into C:\CS271
      If the extraction was successful you should be able to locate the file: C:\CS271\Project32_VS2019\AddTwo.asm
    If you are using an older version of Visual Studio (prior to 2019), other versions of the textbook libraries are available from the author's website at
  • Get Set Part 3

    This video shows how to start a new Assembly code project and verify that Visual Studio is installed properly. Although this video illustrates the procedure using Visual Studio 2015, any recent version of Visual Studio (2015-2019) will work.

Alternative: Using Citrix (not recommended)

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


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 (log into TEACH and click the link that says "Reset Windows Bin Directory").

NOTE 1: You do not have to download/install the Irvine library if you use the Citrix machine. The EECS configuration should already have the libraries installed.

  1. Open the Project.sln from "Z:\bin\CS271\Project32_VS2019" after you've extracted it to this location (one of the videos shows you this).
  2. You should now be able to use Visual Studio for this course.

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

NOTE: Some links on this page may only be accessible to registered students.

Course Summary:

Date Details Due