CS296N, Winter 2024
Class | Instructor | |||
---|---|---|---|---|
CRN | 30275 Hybrid (on campus) 31137 Online | Name | Brian Bird | |
Credits | 4 | birdb@lanecc.edu | ||
Time | M, W, 2:00 – 3:50 | Office Hours | M—Th, 4:00–4:50 or by appointment | |
Room | Building 19, Room 128 Zoom meeting | Office | Building 19, Room 152 Zoom meeting | |
Course DescriptionLearning OutcomesLearning ResourcesTextbook Supplemental MaterialsSoftwareFree and Discounted Software for StudentsCIT Computer LabWeb ResourcesAssessment and GradingLate WorkAcademic HonestyAttendanceNo-Show DropWeekly Learning ActivitiesAcademic Calendar for Winter Term 2024Accessibility and AccommodationsCourse Schedule
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.
Murach’s ASP.NET Core MVC, 2nd Edition, by Mary Delamater and Joel Murach, Murach Books, 2022. ISBN 978-1-943873-02-9. You can purchase the textbook from the Titan Store or from the publisher, Murach Books. The publisher provides free download of exercise starters and example code
The additional resources are available on the following Microsoft web sites:
Visual Studio 2022 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.
Azure Dev Tools for Teaching (previously known as Microsoft Imagine Premium) is a subscription-based offering, paid for by the LCC CIT department, providing access to professional development and design tools, software, and services from Microsoft.
On The Hub has partnered with Microsoft, Adobe, IBM, Symantec, VmWare and other software publishers to offer discounted and free software for students and faculty.
The in-person computer lab and tutoring center is temporarily closed due to COVID-19, but tutoring is still available online. You can drop into the Lane Support Hub Zoom Room and request a CIT tutor, or make an appointment with a CIT tutor via the scheduling page at lanecc.mywconline.com. More information is available on the LCC Tutoring Services web page.
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.
http://classes.lanecc.edu Moodle is the Learning Management System used for this course. All course materials and activities will be managed through the Moodle course page.
You will be deploying web apps that you create to the Microsoft Azure cloud. You are entitled to a free Azure account through LCC’s Microsoft Imagine subscription as described here: https://azure.microsoft.com/en-us/offers/ms-azr-0144p
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 learning and assessment activities:
Activity | Percentage of grade |
---|---|
Labs | 40% |
Code Reviews | 10% |
Quizzes | 10% |
Term Project | 40% |
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 |
F | Below 60 |
The grade for lab assignments submitted after the due date will be reduced by 10%.
Quizzes cannot be taken after the due date.
Exceptions will only be made for illness or emergency situations.
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 or complete one assignment or quiz.
This cycle starts on the second week
Monday
Start the assigned reading.
Go to class, join the Zoom meeting, or watch the Zoom recording
Tuesday
Do a code review of last week's lab for your lab partner.
Wednesday
Take the reading before classquiz
Go to class, join the Zoom meeting, or watch the Zoom recording
Thursday
Submit the production version of last week's lab.
Saturday
Finish the beta version of this week's lab.
Send a PR for this week's lab to your lab partner.
Event | Date |
---|---|
Fall term classes begin | 1/8 Monday |
Last day to receive refund | 1/15 Monday |
Martin Luther King Jr. holiday—college closed | 1/15 Monday |
Presidents Day holiday—college closed | 2/19 Monday |
Last day for schedule changes | 3/1 Friday |
Final exam | 3/18 Monday |
View academic calendars on the LCC web site.
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)
Week Date | Topic | Reading in Textbook | Lab |
---|---|---|---|
1 Jan. 8 | Intro to Identity | In ch. 16, "How to Authenticate and Authorize": - pg. 650–657, "An introduction to authentication" - pg. 658–667, "How to get started with Identity" | Lab 1 |
2 Jan. 15 | No class due to ice storm | No reading, nothing due this week | |
3 Jan. 22 | Authentication | In ch. 16, "How to Authenticate and Authorize": - pg. 668–673, "How to register a user" - pg. 674–679, "How to log in a user" | Lab 2 |
4 Jan. 29 | Authorization | "How to work with roles", pg. 680–695 "More skills for identity", pg. 696–699 | Lab 3 |
5 Feb. 5 | Async/Await | Online tutorials | Lab 4 |
6 Feb. 12 | Load Testing and Performance | Online tutorials | Lab 5 |
7 Feb. 19 | A more complex domain model | Online tutorials | Lab 7 |
8 Feb. 26 | Validation | - Read ch. 2, pg. 70–74, "How to validate user input" - Skim ch. 11, "How to validate data" | Lab 8 |
9 Mar. 4 | Web Security | Online tutorials | Lab 9 |
10 Mar. 11 | Term project completion | ||
11 Mar. 18 | Final project presentations |