Oregon State University

Oregon State University Home Page


Tuesday/Thursday 10-12, 2-4, and 4-6, Austin Hall Room 260



Byron Marshall, Ph.D.
Austin Hall 494
(541) 737-6054
Byron's web site


  • Tuesday 8:30 - 9:30
  • Wednesday 4:00 - 5:00
  • Friday 10:00 - 11:00
  • And gladly by appointment

I would enjoy talking to you!

COURSE DESCRIPTION -- BA272 is a four unit course.

The Catalog Description: Introduction to business programming with C#.NET. Beginning programming skills and concepts, .NET programming environment, object-oriented and event-oriented models, and console applications.


Informally: Although only some BIS students are seeking jobs as software developers, most professionals in today's world will be involved in some phase of system development for their organizations. Understanding how computer programs are written can provide keen insights into how systems work and what it takes to change them. Further, automation of many tasks e.g., ETL processes, IT management, and data extraction can substantially improve the productivity of a data-savvy professional. Students in this course are expected to gain basic computer programming skills and develop a basic understanding of some key programming concepts. Students will:



We will cover most of Rob Miles’ the C# Yellow Book available online at   it is used with permission. So, you won’t have to buy it. (I will put a copy in Canvas in case his site is, for some unknown reason, unavailable.) Feel free to print all or part as you find appropriate but respect the limitations he lists on the site.

Otherwise, you should practice trying to get your questions answered using available internet tools. Especially consider and . 

If you would like to have a reference book, most any C# book could help. For most of what we do in class, any version of C# will be fine. I found several such books both helpful and cheap.

Some course material will be available in Canvas.

Programming can be done in the Austin hall computer labs. But it can also be done elsewhere once you learn a few tricks.

- Visual Studio is available through MSDNAA so students can work at home thanks to Microsoft, the College of Business, and other donors. However, it is probably easier as of this year to use Visual Studio Community. This tool is free and as far as we can tell so far will work for all your BIS C# coding assignments in BA272, BA371, and BA372. It does not always install smoothly and it is new enough that we have not tested too much. But that all makes for some good BIS experiences anyway.

Tentative Course Schedule -- Fall 2016

ALWAYS UNDER CONSTRUCTION! All dates and topics are subject to change as the term progresses

See Canvas for assignment, quiz, and exercise dates and details.






9/24: Course Kickoff –

Welcome – course introduction

Welcome Survey


9/27: Computers and Data Processing 

Creating programs in your class directory


10/4:  Program and Variables Introduced

Much more on variables


10/11: Storing Text

Conditional Computing

Programming Assignment 1 Due By Monday.



10/18: Comments, constants, and conditionals

Introducing Loops, try/catch, and Methods


10/25: Loops and Placeholder Printing

Think like a computer: Loop Till Your Loopy


11/1:  - More Loops and Placeholders review



11/8:  More on Methods, Yours, Mine, or Ours?

Assignment 2 Due By Monday


11/15:  Arrays


11/22: Practice program exercise

Thanksgiving Holiday


11/29:  Programming Assignment 3 (Done In Class)

Putting it all together


No Final Planned For This Course



Student evaluation will focus on two related areas--the understanding of basic concepts and the ability to apply tools and techniques. Students will demonstrate their understanding of concepts by participating in classroom discussions and completing quizzes and exercises. Students will demonstrate their ability to apply tools through completed assignments.

It is important to note that all programming assignments and all quizzes MUST BE COMPLETED and MUST BE OF ACCEPTABLE QUALITY to pass the course. In other words, if you miss a quiz in class or don't turn in a programing assignment or do poorly (below 70%) you will need to do or redo the work acceptably or else you will receive an F as you final course grade. The recompletions generally have to be done within a week after the instructor reports class grades for the programming assignment or quiz. Of course a variety of reasons for extending that time may be acceptable but you need to work that out with the instructor promptly. If work is poor, incomplete, or missing on its due date, it will still impact your course grade even if you redo it. But it will not cause you to fail the course.

Grade Component



35 %


25 %

Programming Assignments

30 %

Your Reviews of Others' Programs

10 %

Final grade percentages


Minimum Score



Minimum Score



Minimum Score



Minimum Score




































Successful mastery of programming concepts and skills requires repetition and application; we will be doing that daily in class. Thus, class attendance is important and the quiz and assignment structure is designed to require regular class attendance. Of course things come up - if you know you will miss class or did miss class for a good reason, let the instructor know so that things can be worked out. In general, the planned number of dropped quizzes and exercises allows for such reasonable absences. So, if you miss a class for a good reason, that grade will be your "dropped" score.  Usually, multiple absences, even when for good reason, result in a lower grade. And, for quizzes, even if the quiz is dropped, it must be made up later to avoid failing the course as explained below.



- Please pay careful attention to quizzes - some quizzes will be announced in advance, some may not.

- Quizzes are subject to two grades:  (1) The grade the day I took it in class and  (2) my best score after one or more attempts.

- The in class grade (1) is the one that counts towards your course letter grade.  We plan to "drop" one or two quiz score(s) - depending on how many quizzes we actually give - because things happen: students occasionally miss class for good reason or do poorly on a bad or busy day.

- EACH STUDENT MUST EARN AT LEAST 70% ON EVERY QUIZ TO PASS THE CLASS. You can retake quizzes a couple of times to earn your 70% - that won't improve your course grade, but it will keep you from failing the course. You have up to a week to make up a quiz to get to 70%. If you need longer, you need to arrange it with the instructor. Thus, it is important to arrange with the instructor to make up any quizzes you miss and to retake any on which you do poorly.

- Quizzes can be cumulative, that is, they can include questions from previous topics. Programming success requires "building mastery" not "memorize and forget". Studies show that quizzing (which requires recall) increases retention. It’s about learning more than evaluation.


Exercises: Between quizzes and exercises, there will be something graded most every day in class. Some exercises cannot be "made up" because they involve class interaction. Thus in part, they form a kind of "participation" grade. The instructor plans to "drop" the lowest one or two exercises scores depending on how many are offered during the term.



Students will be asked to complete several programming assignments. The best advice here is to START EARLY. Programs, unlike reports or projects in most courses, sometimes simply do not work. When a report has a weak section, you can power through in the middle of the night, do the best you can and turn it in anyway. When a program doesn't work, you may be stuck. You may spend hours (really) trying to fix a problem that can be fixed by typing the right 6 words or maybe just by adding a single semicolon. If you wait till the assignment is almost due, you are likely to waste a lot of time and be very frustrated. Worse, yet, you won't learn as much. If you had tried a few days earlier and gotten stuck you could "sleep on it" - sometimes that helps, and you could get help from colleagues or the instructor. You will learn more and enjoy this class more if you start on your assignments early.


In addition to completing your own coding assignments, you will be asked to review other’s work. Learning to read code and understand others’ code is a crucial skill for programmers and for BISers especially - and it will vastly improve your work. Please note these reviews are assignments in and of themselves. If you do not take care in looking at your assigned programs, it will substantially affect your grade.



A storage area for your work in this course will be generated at the beginning of the term. Each student will have their own folder with something like:



Replace the word ONIDID with the first part of your ONID email address. For example my ONID email address is, so my ONIDID is marshaby. So My class folder would be


Your programming assignments are to be submitted in this special class storage area. I suggest that you do (or at least copy) your ongoing work there so that you can show your work to me when you have questions. HOWEVER: BE CAREFUL, THIS STORAGE AREA WILL GO AWAY AFTER THE TERM. BE SURE AND COPY YOUR CODE OUT AT THE END OF THE TERM. YOU MAY WELL WANT TO ACCESS THIS CODE AS YOU GO ON IN THE BIS PROGRAM.


Each time you login to a lab machine you can “map” a drive to this folder. Two ways you can do this:

1)      Start à Computer à Click on the little computer in the address bar at the top and paste (or type) 


2)      Open a command prompt and type net use v: \\\storage\ClassFolders\2016_Fall\BA272\ONIDID


The instructor and some class TAs can access anything you store there but your classmates cannot.


Assignment folders will be created for each student in special area for students in this class:

For each assignment there will be an assignX directory with folders called “code”, “review_1”, and “review_2”.

When you create you assignment, you put it in “code” for example:

Your first assignment work should be stored in: \\\storage\ClassFolders\2016_Fall\BA272\ONIDID\assignment_1\code


It is your responsibility to store assignments in the appropriate folder. If they are not there, you will not receive credit for your work. But don’t stress, it’s easy to do and with only a bit a preparation you can be sure the submission is in the right place.


 You will review other’s work. When the due date is past, you will find the programs to review in these folders:




You are to review the assignments based on a provided score sheets and save the review sheet (don't change the sheet's name) in the folder with the reviewed code.


Remote access to your folder: Students may be able to connect to the server to save files from home by using OSU's VPN technology. First, load the VPN and connect to osu. (This requires entry of your ONID username and password when prompted.  See for details on that step. Then use the same net command as shown above. (net use v: \\\storage\ClassFolders\2016_Fall\BA272\yourONIDID)   if you are properly connected to the VPN it should ask you for a user name, answer with ONID\yourONIDID.  (Remember, replace "yourONIDID " with your onidid as before. Then it should ask you for your password. This has worked in many cases but can be tricky. You may or may not be successful. Try it before you need it!  This ONLY gets you access to the folders. Notably, it does NOT let you run Visual Studio. You will need some version of Visual Studio on your own computer to work on your program. I recommend that you only use this mapping to copy/paste files into or out of your directory rather than actually working on a project through the mapping.


Attending Different Class Sections: Only With Approval

Managing the number of students in class at any one time is important if we are to maintain higher levels of learning. More students means less interaction and less learning. So, section "swapping" is discouraged. In general, students are to obtain prior permission from the instructor before attending an alternate session.
Pre-planned events do arise (job interviews, club activities) that might motivate occasional switching - the instructor will approve occasional requests.
Sometimes students miss class for sudden reasons at the last minute. If this happens, it is better to come to a later session (see the schedule). But - you must inform the instructor upon arrival and any quiz taken that day will suffer a 20% penalty. This is only fair to avoid excuses intended to allow a little more time to study. Further, if there are more students then seats, surprise guests may be asked to leave. And, students who switch more than twice during the term may be denied the opportunity to attend a later session.

Expected Level of Effort

The instructor plans the course assuming that the average student will need to spend 2 hours outside of class for every hour of class time. That is, students should plan for eight hours of effort outside of class each week. Students with strong aptitude or prior preparation may need less, many students because of aptitude or academic challenges may need more. Average accomplishment in the class is supposed to receive a "B" or "B-" and only "Excellent" performance is expected to result in an "A". That being said, the instructor would gladly award a higher course average if student accomplishment demonstrates excellent work, and extra effort can improve accomplishment. To put it another way: coming to class is required for success, but coming to class is certainly not enough to earn a reasonable course grade.

Academic Honesty Policy:

Although students are encouraged to work together on programming assignments, each student is to type their own code in their own program files. Other students can help them with what to type or how to make the program work but students are not to copy and paste from other students' work or turn in others' files as their own. Quizzes are strictly individual and students should interact only with the instructor in completing a quiz. Academic dishonesty can result in a grade of F for an assignment and/or a grade of F for the course. Direct or indirect use of student work from previous terms to complete your exams or assignments is a violation of academic honesty. If you turn in all or part of someone else's work as your own or allow someone else to turn in your work as theirs, then you have committed a violation of academic honesty subject to University regulations. Students are expected to know and understand these policies and regulations. Please ask for an explanation and review information from the University's Office of Student Conduct as needed.


Academic Dishonesty: According to OSU student conduct regulations, academic dishonesty is defined as an intentional act of deception in which a student seeks to claim credit for the work or effort of another person or uses unauthorized materials or fabricated information in any academic work. Refer to the OSU Student Conduct code (576-015-0020) for a comprehensive definition of academic  dishonesty. All cases of suspected academic dishonesty will be handled in strict accordance with OSU policy and College of Business policy.

Code of Honor: A code of honor represents the moral commitments of those abiding to it. While each person lives by his or her personal code, the establishment of collective values creates a universal goal to which we can aspire. It is through the pursuit of these professional attributes that we reduce the possibility of immoral actions ourselves.

In order to uphold our personal character and the organization that we proudly call our own, we take this oath.

The quality of being honest and having strong moral principles, integrity stands as the backbone of character and is essential for success.

Respect for others and yourself is a commitment to the fair treatment of and the fair competition with others. Through respect we embolden the character of others and ourselves.

We are held accountable for our words and actions as professionals to embed a steadfast commitment to honor in our decisions.


Disability Accommodation: Accommodations are collaborative efforts between students, faculty and Disability Access Services (DAS). Students with accommodations approved through DAS are responsible for contacting the faculty member in charge of the course prior to or during the first week of the term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through DAS should contact DAS immediately at 737-4098.


Upon completion of this course, a successful student will be able to:


This page is maintained by Byron Marshall   Send E-mail to