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: Class Number: 2-37 RSEG 180 1DL: Advanced Programming in C# (Summer 2015) 3. Course Start & End Dates; Class Meeting Times: Class Starts: Wednesday, May 20th, 2015 Class Ends: Tuesday, July 28th 2015 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 kcramer97@yahoo.com or kcramer@brandeis.edu 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 1 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 application Understand C# classes, objects and control statements Describe the basics of C# graphics programming Master Creating a Windows Forms Program Create and manipulate SQL Databases in the C# language Apply the basic concepts of Web programming using the C# language Apply the basic concepts of ASP .NET & ASP.NET AJAX programming using the C# language Apply 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. 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 When installing the software it is recommended you choose the default optional components: 2 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 installed on a computer that can be used for writing and testing the programs assigned. We will not require Windows 8.1 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. 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 3 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 I am using Windows 7 and Windows 8.1 to test and grade your assignments. 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. 4 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 % 15 % 15 % 15 % Programming Assignment 2 Programming Assignment 3 Programming Assignment 4 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. 5 II. Weekly Information 5/20/2015 – 5/26/2015 Week 1 Outcomes Discussions (for DL) Readings 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 Discussion posting for week 1 Visual C# 2012 How to Program Chapters 1-3 Week 1 Lecture Notes Assignments / Assessments/ Self-Assessments Due 5/26/2015 – 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 5/27/2015 – 6/2/2015 Outcomes Discussions (for DL) Readings 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 Discussion posting week 2 Assignments / Assessments/ Self-Assessments Visual C# 2012 How to Program Chapters 4-6 Week 2 Lecture Notes Due 6/2/2015 - 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 6/3/2015 – 6/9/2015 Outcomes Discussions (for DL) Readings Assignments / Assessments/ Self-Assessments Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 7-9 Week 3 Lecture Notes Due 6/9/2015 - Homework Assignment #1 You will download and start Homework assignment #2. This assignment will be due in 2 weeks. 6/10/2014 – 6/16/2015 Week 4 Outcomes Discussions (for DL) Readings 6 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 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, Will be assigned in the discussion posting 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 6/17/2015 – 6/23/2015 Outcomes Discussions (for DL) Readings Assignments / Assessments/ Self-Assessments 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# Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 13-15 Week 5 Lecture Notes Due 6/23/2015 - Homework Assignment 2 You will download and start Homework assignment #3. This assignment will be due in 2 weeks. 6/24/2015 – 6/30/2015 Week 6 Outcomes Discussions (for DL) Readings 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# Will be assigned in the discussion posting Assignments / Assessments/ Self-Assessments Visual C# 2012 How to Program Chapters 16-18 Week 6 Lecture Notes Continue to work on homework Assignment #3. This assignment is due in one week Week 7 7/1/2015 - 7/7/2015 Outcomes Discussions (for DL) Readings Assignments / Assessments/ Self-Assessments Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 19-21 Week 7 Lecture Notes Due 7/7/2015 - 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. 7/8/2015 – 7/14/2015 Week 8 Outcomes Discussions (for DL) Readings Assignments / Assessments/ 7 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# 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 Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 22 Week 8 Lecture Notes Continue to work on homework Assignment #4. This assignment is due in Self-Assessments Week 9 one week Continue to work on homework Assignment #5. This assignment is due in two weeks 7/15/2015– 7/21/2015 Outcomes Discussions (for DL) Readings Assignments / Assessments/ Self-Assessments Week 10 You will learn GUI with Windows Presentation Foundation You will learn WPF Graphics and Multimedia Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 32,33 Week 9 Lecture Notes Due 7/21/2015- Homework Assignment #4 Continue to work on homework Assignment #5. This assignment is due in one week 7/22/2015– 7/28/2015 Outcomes Discussions (for DL) Readings Assignments / Assessments/ Self-Assessments You will learn the basic concepts of Web Programming with ASP.NET You will learn using LINQ with XML files Will be assigned in the discussion posting Visual C# 2012 How to Program Chapters 23,24 Week 10 Lecture Notes Due 7/28/2015- 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. 2. Academic Dishonesty: No form of cheating or plagiarism will be tolerated. Such actions will be dealt with in accordance with the procedures set forth in the Brandeis University handbook. Cheating can result in an F for the exam, an F for the course, or other disciplinary action. All programming assignments must be done individually. 3. Assignments: All programming assignments will be posted on latte with due dates duly noted. You must turn the assignments in using latte by the due date to receive full credit. IV. University and Division of Continuing Studies Standards 8 Please review the policies and procedures of Continuing Studies, found at http://www.brandeis.edu/gps/students/studentresources/policiesprocedures/index.html. Among them, we would like to highlight the following. Learning Disabilities If you are a student with a documented disability on record at Brandeis University and wish to have a reasonable accommodation made for you in this course, please contact me immediately. Academic Honesty and Student Integrity Academic honesty and student integrity are of fundamental importance at Brandeis University and we want students to understand this clearly at the start of the term. As stated in the Brandeis Rights and Responsibilities handbook, “Every member of the University Community is expected to maintain the highest standards of academic honesty. A student shall not receive credit for work that is not the product of the student’s own effort. A student's name on any written exercise constitutes a statement that the work is the result of the student's own thought and study, stated in the students own words, and produced without the assistance of others, except in quotes, footnotes or references with appropriate acknowledgement of the source." In particular, students must be aware that material (including ideas, phrases, sentences, etc.) taken from the Internet and other sources MUST be appropriately cited if quoted, and footnoted in any written work turned in for this, or any, Brandeis class. Also, students will not be allowed to collaborate on work except by the specific permission of the instructor. Failure to cite resources properly may result in a referral being made to the Office of Student Development and Judicial Education. The outcome of this action may involve academic and disciplinary sanctions, which could include (but are not limited to) such penalties as receiving no credit for the assignment in question, receiving no credit for the related course, or suspension or dismissal from the University. Further information regarding academic integrity may be found in the following publications: "In Pursuit of Excellence - A Guide to Academic Integrity for the Brandeis Community", "(Students') Rights and Responsibilities Handbook" AND "Continuing Studies Student Handbook". You should read these publications, which all can be accessed from the Continuing Studies Web site. A student that is in doubt about standards of academic honesty (regarding plagiarism, multiple submissions of written work, unacknowledged or unauthorized collaborative effort, false citation or false data) should consult either the course instructor or other staff of the Rabb School for Continuing Studies. University Caveat The above schedule, content, and procedures in this course are subject to change in the event of extenuating circumstances. 9