The students will learn to create architecturally flexible web applications using Microsoft ASP.NET MVC with C#. We will cover ASP.NET MVC routing, controllers and actions, domain models, views, extending controllers, Ajax, representational state transfer (REST) and client scripting, security and vulnerability, authorization and authentication, caching, internationalization, and performance. In addition, data access using LINQ, Entity Framework, and SQL server is considered. Test-driven development and dependency injection are at the core of the course, and are employed throughout. Students will gain a deep understanding of ASP.NET MVC and will be prepared to build architecturally flexible, highly interactive web applications.
Prerequisite(s)
None
Corequisite(s)
None
Special Requisite(s)
Although there is no formal prerequisite for this course, students are expected to have experience with web programming languages, especially ASP.net.
Instructor(s)
Lecturer Musa Serdar Aslan
Course Assistant(s)
Schedule
-
Office Hour(s)
-
Teaching Methods and Techniques
-- Theory
- Sample Applications
- Laboratory Applications
Principle Sources
Galloway, Jon, et al. Professional ASP. NET MVC 4. John Wiley & Sons, 2012
Freeman, Adam. "Pro ASP. NET MVC 5 Platform." Pro ASP. NET MVC 5 Platform. Apress, 2014. 3-8.
Delamater, Mary, Ray Harris, and Mike Murach. Murach's JavaScript. Mike Murach & Associates, 2015.
Other Sources
-
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction to MVC
Oral presentation and Laboratory Studies
2. Week
MVC Architecture
Oral presentation and Laboratory Studies
3. Week
The MVC Pattern
Oral presentation and Laboratory Studies
4. Week
Working with Controllers
Oral presentation and Laboratory Studies
5. Week
Model Templates
Oral presentation and Laboratory Studies
6. Week
Model Validation
Oral presentation and Laboratory Studies
7. Week
Overview of jQuery
Oral presentation and Laboratory Studies
8. Week
jQuery Techniques
Oral presentation and Laboratory Studies
9. Week
Using jQuery UI
Oral presentation and Laboratory Studies
10. Week
MVC State Management
Oral presentation and Laboratory Studies
11. Week
Working with URLs and Routing
Oral presentation and Laboratory Studies
12. Week
Introduction to DevOps
Oral presentation and Laboratory Studies
13. Week
Introduction to DevOps (cont.)
Oral presentation and Laboratory Studies
14. Week
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
30
Homework / Term Projects / Presentations
1
30
Final Exam
1
40
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
Create MVC Models and write code that implements business logic within Model methods, properties, and events.
LO-2
Add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.
LO-3
Create Views in an MVC application that display and edit data and interact with Models and Controllers.
LO-4
Write JavaScript code that runs on the client-side and utilizes the jQuery script library to optimize the responsiveness of an MVC web application.
LO-5
Implement a consistent look and feel, including corporate branding, across an entire MVC web application.