| CS105 | Course Syllabus |
| Computer Programming in C# | Spring 2007 |
Meetings
MW 11am-12noon, RLM 6.126
Wed., January 17 - Wed., March 7
Instructor
Greg Kuhlmann
Email: kuhlmann@cs.utexas.edu
Office Hours: MW 10am - 11am, ESB 229 (or by appointment)
Course Overview
This course is an introduction to the C# programming language and the
.NET framework. In the roughly 14 hours of meeting time that we have
for the class, it would be impossible to cover all aspects of the
language. Some important topics will have to be omitted. We will
begin the course with a discussion of the .NET framework and the
basics of OOP in C#. We will then focus on features that distinguish
C# from other similar languages like Java and C++, including features in
version 2.0. Finally, we will discuss specific applications for which C# is
especially useful, including Windows GUI programming and Web
applications.
Prerequisites
The prerequisite for this class is programming experience (roughly 4
semesters or the equivalent) in an object-oriented language.
Experience in Java and/or C++ will be especially helpful. No prior
C# or .NET experience is assumed.
Web site
http://www.cs.utexas.edu/~kuhlmann/cs105
The class web site will be used to post assignments and other class announcements. In addition,
lecture slides and example code, when applicable, will be posted to the site following the lecture.
Newsgroup
utexas.class.cs105.csharp
The class newsgroup is another place to find class announcements. The main purpose
of the newsgroup, however is to post questions related to assignments or course material.
You will want to subscribe to this newsgroup using Pine, Netscape or another news reader.
Textbook
There is no required text for this course. The main study
material for the class will be the your own lecture notes along with notes and
example code posted online by the instructor. In addition, you
will need some kind of C# language reference. Many students may find
the MSDN .NET Framework Documentation sufficient. For those who
prefer a text, here are a couple of suggestions:
You should avoid older textbooks that predate "Visual C# 2005" or ".NET 2.0".
Programming Assignments
There will be three programming assignments. The assignments require
Visual C# 2005 on a Windows machine. Visual Studio 2005 is
installed on the microlab machines in
Painter Hall.
If you do not already have a UTCS account, you should apply for one immediately
at: https://udb.cs.utexas.edu/udb/amut/acut/
If you choose, you may do the assignments at home using any version
of Visual C# 2005. The Express Edition can be downloaded for free from:
http://msdn.microsoft.com/vstudio/express/visualCsharp/default.aspx
Some assignments may also require Visual Web Developer 2005, available for free from:
http://msdn.microsoft.com/vstudio/express/vwd/default.aspx
Assignments will be submitted via the UTCS Microlab Turnin System. More
details will be provided in the assignment specifications.
Pair Programming
For the assignments in this class, you are strongly encouraged to work
in pairs, but you may elect to work alone. If you choose to work with
a partner, you are required to adopt a "pair programming" software
development strategy. In pair programming, one person, called the
driver, will be at the keyboard, while the other person, called
the
navigator, observes. The driver and navigator collaborate on
all aspects of the development, including design, coding and
debugging, but the driver does the actual typing while the navigator
thinks about broader issues. The driver and navigator periodically
change roles. Each partner should spend roughly equal amounts of time
driving and navigating.
Pair programming does not mean dividing the assignment in half with each partner doing one part. While this is a valid software development technique, it will not be the one used in this class. All work must be done with both programmers working at the same machine at the same time.
If you choose to work in pairs, you will choose your own programming partner. When choosing a partner, it is important that you have compatible personalities and compatible schedules. Also, pair programming works best when both partners have roughly the same ability level.
Final Exam
The final exam is scheduled to be in class on March 7. The exam will
be closed-book, closed-notes, and must be done individually. If there
is an unavoidable conflict that prevents you from making it to the
exam, you must tell the instructor by October 16 to schedule an alternate
time. All students except those with unavoidable conflicts are
expected to take the exam at the scheduled time.
| Programming Assignments: | 20% X 3 |
| Final Exam: | 40% |
All grades will be posted in the eGradebook, which can be accessed through UT Direct. Students taking the class CR/NC must earn at least a C- to receive credit.
Late Policy
Assignments received more than 10 minutes after the deadline will be
considered late. Because unforeseeable events sometimes occur, you
will be given two "late days" for the semester. A "late day" is a
24-hour period after the assignment is due in which you may submit
your assignment. Your late days may both be used on the same
assignment or each on different assignments. Assignments submitted
after given "late days" have been used up will not be accepted.
Religious Holidays
A student who is absent from an examination or cannot meet an
assignment deadline due to the observance of a religious holy day may
take the examination on an alternate day or submit the assignment up
to 24 hours late without penalty, if proper notice of the planned
absence has been given. Notice must be given at least fourteen days
prior to the classes scheduled on dates the student will be
absent. For religious holy days that fall within the first two weeks
of the semester, notice should be given on the first day of the
semester. It must be personally delivered to the instructor and signed
and dated by the instructor, or sent certified mail, return receipt
requested. Email notification will be accepted if received, but a
student submitting such notification must receive email confirmation
from the instructor. A student who fails to complete missed work
within the time allowed will be subject to the normal academic
penalties.
Dropping the Course
Due to the shortened schedule of this
course, the last day to drop the course with instructor approval is
not the same as it is for your other courses. The Q-drop deadline
for this course is 11am, March 7. The instructor is available to
sign drop forms in class, during scheduled office hours, or by
appointment with at least seven days notice. Once the final exams are
distributed, the instructor will not sign any more drop forms. After
that time, a student may only drop the course for non-academic reasons, such
as extended health-related problems or family emergencies by
contacting the Dean's Office.
Academic Honesty
Although you are encouraged to discuss
ideas with others, your programming assignments must be the original
work of you or you and your partner. You may have outside discussions
about general concepts and algorithms, but you may not collaborate on
flowcharts, pseudocode, or source code. These rules must be followed
when asking and answering questions on the newsgroup as well. Also,
you and your partner are responsible for debugging your own code. It
is not acceptable to get outside debugging help. Violations of the
academic honesty policy will result in a failing grade in the class
and notification of the Dean of Students. If you have any questions
about this policy, please direct them to the instructor.