Syllabus for Web Development 2: ASP.NET

CS296N, winter 2020

SectionCRN 32222 InstructorBrian Bird
TimeTu, Th, 10:00 – 11:50 OfficeBuilding 19, Room 152
ClassroomBuilding 19, Room 120 Office HoursT, Th: 2:00 – 2:50
LabBuilding 19, Room 135  M, W: 4:00 – 4:50


Course Description

This course builds on the basic concepts of ASP.NET Core MVC web development covered in CS295N, to cover topics including security, web APIs, and DevOps.

Learning Outcome

To be able to develop a web application that uses the ASP.NET Core framework for a moderately complex web application.

Course Content


Themes and Issues

Learning Resources


Pro ASP.NET Core MVC 2, 7th Edition, by Adam Freeman, Apress, 2017 ISBN: 978-1-4842-3149-4. You can purchase the textbook from the LCC bookstore. The source code for the sample programs in the text is available for download on GitHub.


Supplemental Materials

The additional resources are available on the following Microsoft web sites:


Visual Studio 2019 will be used for example code and lab assignments. You may obtain Visual Studio through Azure Dev Tools for Teaching, or use the Community Edition which is available for Windows or Mac OS as a free download from Microsoft at

Free and Discounted Software for Students

CIT Computer Lab

The CIT Main lab (Bldg. 19, room 135) is equipped with computers and software which are available exclusively for students in the CIT department. There are tutors available in the lab to help you with your lab work. There is a schedule is posted on the large white board inside the lab which lists the tutors and the times they will be available.

Web Resources

Assessment and Grading

Specific grading criteria will be applied to each of the labs, quizzes, and exams you will be working on in this class. Part of the lab involves a code review. Attendance is not graded. The table below summarizes the grade distribution for each of the assessment tasks:


Assessment ActivitiesPercentage of grade
Code Reviews10%
Term Project40%

Letter grades for the course will be determined by the following percentages:

 - +
A90 - 9192 - 9798-100
B80 - 8182 - 8788 - 89
C70 - 7172 - 7778 - 79
D60 - 6162 - 6768 - 69
FBelow 60  


Late Work


Weekly Learning Activities

Week TuesdayWednesdayThursday SaturdaySunday
1      Beta 1, Quiz 1
2 Code reviewReading quiz 2Lab 1 due Lab 1 GradedBeta 2 due


Academic Honesty

While students are encouraged to discuss labs and to use each other as resources, each student is responsible for his/her own work. In other words, you can help each other, but you can't copy any part of someone else's work. The end product must be each student's own individual work.



Attendance is not graded but will be essential for successful completion of the class. Students who miss a class are responsible for obtaining the course content provided in class and mastering it.

No-Show Drop

LCC has a no-show drop policy which means that during the first week of the term, to avoid being dropped, a student must attend at least one class meeting.

Academic Calendar

Winter Term 2020 
Term begins1/6/19
Last day to receive refund1/12/20
MLK Holiday1/20/20
President's Day Holiday2/17/20
Last day for schedule changes2/28/20
Last day for schedule changes2/28/20
Finals week3/16 through 3/21


Accessibility and Accommodations:

If you need support or assistance because of a disability, you may be eligible for academic accommodations through Disability Services. For more information, contact Disability Services at 463-5150 (voice) or 463-3079 (TTY), or stop by building 1, room 218.

Please be aware that any accessible tables and chairs in this room should remain available for authorized students who find that standard classroom seating is not usable.


Course Schedule

(may be subject to change)

WeekTopicReadingLab Assignment
1ValidationFreeman Ch. 27, Model ValidationLab 1
2AuthenticationFreeman Ch. 28, Getting Started with IdentityLab 2
3AuthorizationFreeman Ch. 29, Applying ASP.NET Core IdentityLab 3
4Security: SSL, Cross-site scripting, SQL injection, man in the middle.Freeman Ch. 19, Filters: section on SSLLab 4
5Publishing to a production serverOnline tutorialsLab 5
6Load testing and performanceOnline tutorialsLab 6
7Creating a REST web APIFreeman Ch. 20 - API ControllersLab 7
8Consuming a REST web service Async / AwaitOnline tutorialsLab 8
9Docker containersOnline tutorialsLab 9
10Term Project