CS296N, winter 2020
|Section||CRN 32222||Instructor||Brian Bird|
|Time||Tu, Th, 10:00 – 11:50||Office||Building 19, Room 152|
|Classroom||Building 19, Room 120||Office Hours||T, Th: 2:00 – 2:50|
|Lab||Building 19, Room 135||M, W: 4:00 – 4:50|
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.
To be able to develop a web application that uses the ASP.NET Core framework for a moderately complex web application.
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.
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 www.visualstudio.com/en-us/products/visual-studio-community-vs.
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.
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 Activities||Percentage of grade|
Letter grades for the course will be determined by the following percentages:
|A||90 - 91||92 - 97||98-100|
|B||80 - 81||82 - 87||88 - 89|
|C||70 - 71||72 - 77||78 - 79|
|D||60 - 61||62 - 67||68 - 69|
The grade for lab assignments submitted after the due date will be reduced by 10%.
Labs 1 through 7 won't be accepted late after week 9.
Quizzes cannot be taken after the due date.
Exceptions will only be made for illness or emergency situations.
|1||Beta 1, Quiz 1|
|2||Code review||Reading quiz 2||Lab 1 due||Lab 1 Graded||Beta 2 due|
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.
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.
|Winter Term 2020|
|Last day to receive refund||1/12/20|
|President's Day Holiday||2/17/20|
|Last day for schedule changes||2/28/20|
|Last day for schedule changes||2/28/20|
|Finals week||3/16 through 3/21|
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.
(may be subject to change)
|1||Validation||Freeman Ch. 27, Model Validation||Lab 1|
|2||Authentication||Freeman Ch. 28, Getting Started with Identity||Lab 2|
|3||Authorization||Freeman Ch. 29, Applying ASP.NET Core Identity||Lab 3|
|4||Security: SSL, Cross-site scripting, SQL injection, man in the middle.||Freeman Ch. 19, Filters: section on SSL||Lab 4|
|5||Publishing to a production server||Online tutorials||Lab 5|
|6||Load testing and performance||Online tutorials||Lab 6|
|7||Creating a REST web API||Freeman Ch. 20 - API Controllers||Lab 7|
|8||Consuming a REST web service Async / Await||Online tutorials||Lab 8|
|9||Docker containers||Online tutorials||Lab 9|