Get Tech'Ed HomePage

Course Homepage


UCCS CS-3020

Advanced Object Technology Using C#/.NET

Course Information

(Last Mod: 08 May 2015 15:39:22 )



Course Meeting Time and Location

Tuesday/Thursday

9:25am - 10:40am

ENGR-138

 


Course Catalog Description

C# class construction principles, delegates, threads, event handling, GUI components, observer pattern, standard collections, generic parameters, enumerators, custom components, UML representation, abstract classes, interfaces, object persistence, remoting, and refactoring. Prer., CS 1450.

NOTE: A course "as taught" is seldom in strict adherence to the catalog description, which is intended to give a fairly high-level description of the course in broad brush strokes. In reality, while the catalog description changes only rarely, most courses change from one offering to the next, and even one section to another within the same term,  reflecting both a general evolution and refinement over time, the text chosen, and also the strengths, weaknesses, and preferences of the specific instructor.


Textbook

Visual C# 2012 - How to Program, 5th Edition

Paul Deitel and Harvey Deitel

ISBN: 978-0-13-337933-4

Pearson, 2014

 


Software

Microsoft Visual Studio Express 2013 for Windows Desktop

NOTE: VS 2012 is no longer readily available, but is acceptable if you have access to it.

This (or the full Visual Studio suite) should be available on the computers in the lab. The Express edition is free from Microsoft at

www.microsoft.com/express

The examples for the text are available at

www.deitel.com/books/vcsharp2012htp


Grading

The course has the following grading groups:

Assignment Type Each Total Weight
BB Quizzes (20) 5 100 10%
In-class Quizzes (5) 10 50 5%
C# Apps (30) 10 300 30%
Hour Exams  (3) 100 300 30%
Final Exam (1) 200 200 20%
Instructor Discretion (1) 50 50 5%
TOTAL   1000 100%

Please note that this is a goal. Things may come up that will alter the final distribution of points. In general, each person's grade will be computed two or even three ways and the each person's raw score will be the highest among them. First, according to their percentage of the total points actually available; second, as a weighted percentage using the weights as above (if a category is removed entirely, the weights of the remaining categories will be adjusted to keep the relative weighting the same); and third, according to any new weights that might be announced.

Nearly every chapter will have a 5-question multiple-choice on-line quiz (on BlackBoard) that must be completed prior to class on the day it is due. Each quiz will focus on the reading material that the course is moving into. The primary purpose of the quizzes is very simple -- to encourage you to read the material prior to it being covered in class.

There will be five in-class ten minute quizzes. These quizzes will focus on material previously covered and will generally involve writing (on paper) a small code snippet. These quizzes may or may not be announced, will normally be given at the start of class, and cannot be made up. There may be one or two additional in-class quizzes and, if so, any points earned in excess of the total amount allocated for in-class quizzes will be treated as extra credit.

The exams will be primarily multiple choice with one or two handwritten programming problems. The final exam will consist of 100 multiple choice questions drawing heavily from previous quizzes and exams but also covering any material not covered by previous exams.

Extra credit will be available, usually as part of an exam or possibly as an optional programming problem.

All assignments are due, via submission to Blackboard, before midnight on the Sunday following the date the assignment is given. This includes any assignments given prior to holidays and breaks. Keep in mind that you may submit your assignment at any time prior to the deadline. In general, submissions will NOT be accepted late as this delays the ability to make solutions available or to get grading done in a timely manner. Exceptions will be made only by prior arrangement (with special case exceptions) for bonafide reasons and will generally have a 20% per day late penalty.

To be clear, circumstances that were known in advance and could be planned for will seldom constitute a bonafide reason for failing to submit an assignment on time. You are responsible adults on the verge of becoming practicing engineers. A key part of this is accepting the responsibility for good time management and the consequences for poor time management. If you choose to put off starting a project until just before it is due because you had three exams in two days or because you won't be back in town from a sports or interview trip until then, this is a choice you have every right to make -- but it IS a choice YOU made. Don't expect others to suffer due to poor planning on your part.

As a final note, don't push the submission deadline and put yourself in a position of having to submit in the last few minutes before the deadline expires. If the assignment is time-stamped by the Blackboard server as being 12:00AM or later, then it is late and will not be given credit. Keep in mind that the clock on the Blackboard server may not exactly match your watch, your computer's clock, or the official universal coordinated time maintained by NIST. Also, don't rely on the submission going perfectly smoothly. Give yourself a cushion and set your own personal deadline and treat that as though it were the official deadline. If you choose, for instance, 10pm then if it ends up getting done a half hour late you are just fine. Also, if you routinely plan to get it done and submitted the day before it is due, then if you run into an unexpected hurdle, you not only have time to deal with it, but you also have the opportunity to consult with your instructor and still be able to work on it and submit before the hard deadline.


Due Dates and Times

First off, let's get past the notion that there is some ideal time for homework to be due. No matter what time is chosen, some fraction of students are going to find some reason to criticize it and some of those reasons are going to be reasonable, at least on the surface. However, nearly all of these criticisms implicitly assume that students will not be submitting until the actual deadline and ignoring the fact that students can submit at whatever time they choose, as long as it is before the deadline. Having said that, it is an inescapable fact that students have multiple demands on their time and that the adage about the squeaky wheel getting the grease is the rule rather than the exception. With this in mind, the deadline for anything that is due and that is to be submitted electronically will be midnight on Sunday.

In the unlikely, but possible, event that something is to be submitted in hardcopy form, submissions will be accepted at the beginning of class on the due date. Note that this does NOT mean that you can print out your files that were due electronically that morning and turn them in when you come to class. This only applies if the specified method of submission is hardcopy.

Why midnight on Sunday? The answer to this lies in why certain other obvious times were NOT chosen. If any time during the school day, say 8AM, noon, the beginning of class, the end of class, or 10PM, were chosen then students that procrastinated would be tempted to skip class (either this one or some other course) in order to finish the assignment and get it submitted -- this is fair neither to the student nor to the instructors whose classes are skipped.

The choice of Sunday was primarily to give students that work full-time during the week the opportunity to do their work over the weekend if they are unable to work on it during the week. It's recognized that this may encourage students, whether they work or not, to not start their work until the weekend. That is, of course, each student's prerogative.