Brandeis University

Division of Graduate Professional Studies

Rabb School of Continuing Studies

Course Syllabus

I. Course Information

1. Course Name: Advanced Programming in C#

2. Course Number: 161RSEG-180-1DL : Software Development in C# (Spring 2016)

3. Course Start & End Dates; Class Meeting Times:

·  Class Starts: Wednesday, Jan 20th, 2016

·  Class Ends: Tuesday, March 29th 2016

·  Distance Class. Assignments and discussion postings are due on Tuesday each week

4. Instructor’s Name and Contact Information:

·  Keith Cramer

·  Senior Software Engineer, IBM

·  or

·  507-356-2726

. Document Overview

This syllabus contains all relevant information about the course: its objectives and outcomes, the grading criteria, the texts and other materials of instruction, and of weekly topics, outcomes, assignments, and due dates.

Consider this your roadmap for the course. Please read through the syllabus carefully and feel free to share any questions that you may have. Please print a copy of this syllabus for reference.

6. Course Description

This course covers the programming language C# (pronounced "C sharp"), used to develop Windows applications. The focus of the course is learning the .NET programming environment, Windows programming and the syntax and capabilities of the C# language. Concepts covered will include Microsoft Visual Studio .NET IDE, C# language syntax, control structures, arrays, exception handling, Windows graphical user interface, multithreading, strings, graphics and multimedia, files and streams, XML, database SQL and ADO .NET, ASP .Net, web forms and web controls, ASP .NET and web services, networking, data structures and collections.This is a programming course that addresses how to develop Windows applications using the C# (pronounced "C sharp") programming language. Students will learn the Microsoft .NET environment for developing and running software applications, featuring ease of development of web-based services, rich standard run-time services available to components written in a variety of programming languages, and inter-language and inter-machine interoperability.The focus of the course is learning the .NET programming environment, Windows programming and the syntax and capabilities of the C# language. At the end of this course the student will be able to:Install and learn the Microsoft Visual C# IDE,Create a C# console applicationUnderstand C# classes, objects and control statementsDescribe the basics of C# graphics programmingMaster Creating a Windows Forms ProgramCreate and manipulate SQL Databases in the C# languageApply the basic concepts of Web programming using the C# languageApply the basic concepts of ASP .NET & ASP.NET AJAX programming using the C# languageApply C# GUI with Windows Presentation Foundation, C# WPF Graphics and Multimedia, and C# XML and LINQ Programming

This class will use Microsoft Visual Studio Community Edition 2013 with update 5. This software is available for free from Microsoft and can be downloaded for free from: https://www.visualstudio.com/en-us/products/free-developer-offers-vs.aspx

Note: Microsoft Visual Studio Community Edition 2015 with update 1 was recently released by Microsoft. For this class I am recommended you use the 2013 edition, as I have used this for developing and validating all of the assignments.

When installing the software it is recommended you choose the default optional components:

If you have access to Microsoft Visual Studio Community Edition 2013 professional subscription, you may use this software for the class. This class will require students to have either Windows 7 or Windows 8.1 or Windows 10 installed on a computer that can be used for writing and testing the programs assigned. We will not require Windows 8.1 or Windows 10 for this class as many people simply have not upgraded to this version yet. Therefore I will not assign any programming assignments that require Windows 8.1 or Windows 10.

Prerequisites

RSEG102 or RSEG105 or equivalent programming experience in Java, C++, or C#.

7. Materials of Instruction

a. Required Texts

Visual C# 2012 How to Program (5th Edition)

Paul Deitel (Author), Harvey Deitel (Author)

ISBN-10: 0133379337 | ISBN-13: 978-0133379334

Publisher: Prentice Hall

b. Required Software

This class will use Microsoft Visual Studio Community Edition 2013 This software is available for free from Microsoft and can be downloaded for free from:

: https://www.visualstudio.com/en-us/products/free-developer-offers-vs.aspx

Microsoft Visual Studio Community Edition 2013 can be downloaded by selecting the link to

download it:

I am using Windows 7 and Windows 10 to test and grade your assignments. I have personally abandoned Windows 8.x and hope to never see it again.

c. Optional Software

Microsoft is offering all of its development tools for free to students. You need to prove student status with registration documentation. Here is the web site to get free software:

https://www.dreamspark.com/Student/Software-Catalog.aspx

e. Online Course Content

· DL Courses: This section of the course will be conducted completely online using Brandeis’ Latte site, available at http://latte.brandeis.edu. The site contains the course syllabus, assignments, our Discussions bulletin board, links/resources to course-related professional organizations and sites, and weekly checklists, objectives, outcomes, topic notes, self-tests, and discussion questions. Access information is emailed to enrolled students before the start of the course..

If you have not taken a distance course at Brandeis University using the latte course system it is strongly recommended that you complete the latte tutorial:

https://moodle2.brandeis.edu/course/view.php?id=1226

.

9. Overall Course Outcomes

The student will learn the C# programming language. This includes the syntax and grammar of C#. The student will learn the fundamentals of creating Windows programs. Students that complete this class will be able to design and write Windows programs using the C# language.

At the end of the course, students will be able to:

1. Create C# classes in a console application.

2. Use C# to create a GUI application in a form.

3. Create a Microsoft Presentation Foundation Application

4. Create a Microsoft Presentation Foundation Application and use Linq to access a real database.

5. Create a Microsoft ASP.NET Application

10. Course Grading Criteria

Percent / Component
30 % (DL) / Discussions/On-line participation:
·  Each week, respond to at least 1 Discussion Question(s) by Tuesday and post at least 1 other substantive messages by Tuesday.
10% / Programming Assignment 1
15 % / Programming Assignment 2
15 % / Programming Assignment 3
15 % / Programming Assignment 4
15 % / Programming Assignment 5

Your grade will be based on the percentage of points earned in class programming assignments. Class participation is required in the form of a weekly discussion question that and discussion forum postings. Students post responses to discussion questions to the course’s Discussions. (bulletin board) There is a requirement that each student post at least one original response and two substantive replies on each discussion question each week. In addition each student most post a comment on three different days each week. Full credit for posting will only be given if you meet the minimum posting criteria (3 posts / week) and the minimum number of days that you post criteria ( 3 posts per week).

Evaluation criteria for how discussion posts are graded each week:

The instructor will read and evaluate your weekly posts for original content, how it substantially contributes to the discussion, original research, and quality. You will receive a value between 0-100 each week. For example if you fail to post any messages you will receive a zero. If you post one original, and two substantive replies to other peoples post in a week you will receive a ten. This is a graduate level class in software engineering. As a graduate student you are expected to do original research for the discussion questions. The topics have been specifically been selected to broaden the classes knowledge in the theme of Microsoft C#, .NET programming, and comparing and contrasting artifacts of this development language to other popular choices in the industry such as Java, C++ to name a few, Students are expected to cite all references to the posting entries. Do not cut/paste text from internet sources without using quotations, and including some original analysis for the posts. Students are expected to do some original research and spend some time contemplating the questions with academic and industry relevant answers. I will judge the quantity and quality of your posts in assigning your grade each week.

Weekly workload expectations for students:

It is expected that a student will spend six to ten hours each week directly working on course materials, reading, researching, writing programs, and posting on the discussion forum.


II. Weekly Information

Week 1 / 1/20/2016 – 1/26/2016
Outcomes / You install and use the Microsoft Visual Studio Community Edition 2013 You will build your fist C# “Hello World” Program
You will learn some basic/introduction C# language constructs
You will learn how to create a C# console application
Discussions (for DL) / Discussion posting for week 1
Readings / Visual C# 2012 How to Program Chapters 1-3
Week 1 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 1/26/2016 – You must download Microsoft Visual Studio Community Edition 2013 and practice using the IDE (Integrated Development Environment). You should try building some example programs from the wizards. In the IDE
Download and begin to work on the “Getting Started with C#” Assignment from the latte assignment folder. This assignment will be due next week.
Week 2 / 1/27/2016 – 2/2/2016
Outcomes / You will have a basic understanding of C# classes
You will have a basic understanding of C# objects
You will master the C# language control statements
Discussions (for DL) / Discussion posting week 2
Readings / Visual C# 2012 How to Program Chapters 4-6
Week 2 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 2/2/2016 - Complete “Getting Started with C#” Assignment and post your completed assignment in the latte assignment folder.
You will download and start Homework assignment #1. This assignment will be due in one week.
Week 3 / 2/3/2016 – 2/9/2016
Outcomes / You will obtain a basic understanding of C# Methods
You will obtain a basic understanding of C# array
You will learn the basics of LINQ and Collections
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 7-9
Week 3 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 2/9/2016 - Homework Assignment #1
You will download and start Homework assignment #2. This assignment will be due in 2 weeks.
Week 4 / 2/10/2016 – 2/16/2016
Outcomes / You will learn some advanced programming concepts about C# Classes and Objects.
You will master the concept of C# Inheritance & Polymorphism,
You will master the concept of C# Operator Overloading,
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 10-12
Week 4 Lecture Notes
Assignments / Assessments/
Self-Assessments / Continue to work on homework Assignment #2. This assignment is due in one week
Week 5 / 2/17/2016 – 2/23/2016
Outcomes / You will learn how to program Exception Handling in C#
You will learn the basics of C# graphics programming
You will master Creating a Windows Forms Program
You will learn how to use keyboard and mouse events in C#
You will learn how to add a tooltip to your program.
You will learn how to program Windows controls in C#
You will learn how to use threading in C#
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 13-15
Week 5 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 2/23/2016 - Homework Assignment 2
You will download and start Homework assignment #3. This assignment will be due in 2 weeks.
Week 6 / 2/24/2016 – 3/1/2015
Outcomes / You will learn how to do advanced string manipulation in C#
You will learn how to use files and streams in C#
You will learn how to do searching and sorting in C#
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 16-18
Week 6 Lecture Notes
Assignments / Assessments/
Self-Assessments / Continue to work on homework Assignment #3. This assignment is due in one week
Week 7 / 3/2/2016 - 3/8/2016
Outcomes / You will learn to use data structures in C#
You will learn how to use generics in C#
You will learn how to use collections in C#
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 19-21
Week 7 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 3/8/2016 - Homework Assignment #3
You will download and start Homework Assignment #4. This assignment will be due in 2 weeks.
You will download and start Homework Assignment #5. This assignment will be due in 3 weeks.
Week 8 / 3/9/2016 – 3/15/2016
Outcomes / You will learn how to create and manipulate SQL Databases in the C# language
You will learn how to use LINQ in C# with an external database
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 22
Week 8 Lecture Notes
Assignments / Assessments/
Self-Assessments / Continue to work on homework Assignment #4. This assignment is due in one week
Continue to work on homework Assignment #5. This assignment is due in two weeks
Week 9 / 3/16/2016 – 3/22/2016
Outcomes / You will learn GUI with Windows Presentation Foundation
You will learn WPF Graphics and Multimedia
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 32,33
Week 9 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 3/22/2016- Homework Assignment #4
Continue to work on homework Assignment #5. This assignment is due in one week
Week 10 / 3/23/2016 – 3/29/2016
Outcomes / You will learn the basic concepts of Web Programming with ASP.NET
You will learn using LINQ with XML files
Discussions (for DL) / Will be assigned in the discussion posting
Readings / Visual C# 2012 How to Program Chapters 23,24
Week 10 Lecture Notes
Assignments / Assessments/
Self-Assessments / Due 3/29/2016- Homework Assignment #5

III. Course Policies and Procedures

1. Grading Policy:

Students are expected to hand in assignments when due. No extensions will be granted. Any assignment turned in one week late will automatically lose 20% of the possible points. Any assignment not turned in after one week late will not be accepted and the student will receive a zero for the assignment.