.NET Web Application Development

CSCI-GA.3033-008
Spring 2016

NOTE


Instructor
Time and Location

Note: We will be making extensive use of Visual Studio Ultimate and Windows Azure during this course. Licenses to use these products will be provided to all registered students. All students should have regular access to a computer with this software installed. A laptop computer that you can use in class to follow demonstrations is ideal, although not required.


Objectives

The .NET Framework is a technology stack developed by Microsoft Corporation and has enjoyed considerable acceptance and wide use throughout the software industry to date. Microsoft recently announced that the server-side portion of this framework will be released as open source, thereby allowing developers to write software using .NET for targets other than Windows. The announcement is widely expected to result in increased use and adoption of .NET over the coming years.

This course introduces the concepts and tools necessary for building robust web applications using the Microsoft .NET Framework. Among the topics explored will be the multi-language .NET architecture, build and deployment process, the C# programming language, Entity Framework, Model-View-Controller (MVC) design pattern, web services, TFS version control, and the Azure cloud platform. This is a hands-on, project-based course where students will collaborate in teams to build a fully functional web solution.

Students must have administrative access to a Windows-based computer. A laptop is preferable so students may follow the demonstrations in class. Visual Studio 2013 Ultimate and a number of other components will be installed and used throughout the semester.

This is a "hands on" course where students will learn through lecture, in-class demonstrations, assigned reading, homework, and project-based work. Homework assignments are to be completed individually, unless otherwise noted. The main deliverable for this course is a project whereby collaboration with team members in groups of 3-4 students will be required. The course project will faithfully simulate real-world industry software development methods and practices, including the use of version control. Students will be expected to provide a presentation concerning their group projects at the conclusion of the course.

Please note that this is a graduate level course. As such, an extensive number of course topics will be presented in-depth at a fairly rapid pace. Students should budget ample time for the lectures, reading, and hands-on work. This class has no recitation.

Prerequisites

No prior knowledge of the .NET, C#, or the Visual Studio products is assumed or expected prior to entering this course. It is highly recommended that students have background in programming languages, object-oriented programming, relational databases, and data structures prior to taking this cour`se. Non computer science majors are welcome to take the course, but please contact the instructor in advance if you don't meet the prerequisites.

Required Texts

Web Applications Development with Microsoft .NET Framework 4 (MCTS 70-515). Tony Northrup and Mike Snell, Microsoft Press, 2010.

Pro C# and the .NET 4.5 Framework. Andrew Troelsen. Apress, 2012.

Professional ASP.NET MVC 5. Galloway, Wilson, Allen and Matson. John Wiley & Sons, 2014.

Course Outline

Grading

Attendance at all classes should be regarded as mandatory. There will be a handful of unannounced quizzes throughout the course to ensure students are on track with the material. There is no midterm or final exam.

If any homework due date falls on the day of a religious observance where you will not be attending class, please notify me well in advance to make alternate homework submission arrangements.