This course is an introduction to techniques and tools for designing server side web
applications. Topics covered include web applications flow, object oriented programming,
design of classes, dynamic content, scripting languages, implicit objects, and database
accessing. Students will be expected to apply these concepts in the development of a website.
CS-207 Programming II (A grade of C or higher is required) and CS-300 Client Side Web
Development (A grade of C or higher is required)
Thursdays 7:05 p.m. - 8:20 p.m. (required attendance)
Engageli link posted on D2L.
Class Delivery Methodology:
Hybrid online, flipped active learning model. What is a flipped active learning model? A
"pedagogical approach in which direct instruction moves from the group learning space to
the individual learning space, and the resulting group space is transformed into a dynamic,
interactive learning environment where the educator guides students as they apply concepts
and engage creatively in the subject matter." (The Flipped Learning Network, 2014). This
means that students are expected to read and watch the course materials prior to attending
the online sessions. Online sessions will be used for active and problem-based learning
activities that allow students to engage in higher cognitive levels of learning with peers
and their instructor present.
Upon completing CS-321 Server Side Web Development, students will be
able to do the following:
Gain experience with the following: Application of procedural and object-oriented
programming languages used for the development of server-side web applications
(e.g., C#, Java, Python, PHP), web development frameworks (e.g. ASP.NET, Spring, Rails),
web application related database servers (e.g. MS SQL Server, MySQL).
Apply sound techniques toward designing, developing, and documenting well-structured
server-side web applications based upon well-founded software engineering principles and patterns.
Develop a structured approach toward writing server-side code that allows a web application to
exchange data between a web server and a database server.
Explore advanced server-side web application topics relating to security, including identity,
validation, navigation, membership and authentication.
Be exposed to additional technologies related to building robust, user-friendly server-side
applications (e.g. AngularJS, Bootstrap).
Homework will be assigned frequently, posted online and is worth 30% of the final
grade. While assignment deadlines are flexible, all assignments must be submitted
to GitHub or D2L (pending assignment) by the specified final due date and time
(usually before exams). Homework assignments are graded as Pass/Fail (i.e. 0 vs 1 pts).
To get Pass credit, the assignment must pass all GitHub tests and coding checks.
Plagiarism is strictly not tolerated.
There will be multiple online (D2L) open-book quizzes throughout the quarter,
designed to reinforce core concepts worth a total of 15% of the final grade.
These quizzes must be completed prior to the specified class meeting time.
There are two ways to earn assessment credit, worth a total of 20% of the final grade.
As this is a remote hybrid course, the primary way to earn assessment credit is through
in-class pair programming (1%) and an associated Google form for feedback/assessment.
This primary form of assessment credit can be supplemented using with Slack content
question answering (0.5%) - limited to 1 question per student per week.
A final project will be assigned and is worth 35% of the final grade. Project topics are
chosen by students and will be developed from the beginning of the semester. The final
project will incorporate the topics presented in class. Students should work individually
on their project and code must be hosted in GitHub.
Monday, January 18, 2021: Martin Luther King, Jr. Birthday - No Classes, Office Hours
Friday, February 12, 2021: Lincoln's Birthday - No Classes
Monday, March 15, 2021 - Sunday, March 22, 2021: Spring Recess - No Classes
Friday, April 2, 2021: Last day to drop with a W
Week 1 (01/14/21):
Course Expectations and Logistics, Engageli, IDEs - JetBrains Toolbox,
IntelliJ, etc., GitHub, Picking your project topic
Week 2 (01/21/21):
OOP Review and Spring Basics, Interfaces and interface inheritance, Review of Java best practices,
History of Spring/J2EE, Dependency Injection, Spring terminology
Week 3 (01/28/21):
What are HTTP requests and responses, Servlets - DispatcherServlet, MVC,
ModelAndView vs ModelAttributes vs Views, ViewResolver, Scope, Annotations
Week 4 (02/04/21):
What is Spring Boot?, Creating a basic web app, Serving static content in Spring Boot
Week 5 (02/11/21):
Thymeleaf, Views, View templates, Reusability with Thymeleafe page fragments
Week 6 (02/18/21):
Week 7 (02/25/21):
Bootstrap, CDNS vs Local Installation, Bootstrap Grid System, Bootstrap Navigation
Week 8 (03/04/21):
Data, Part I, Persistence/JPA, Spring Data JPA, Creating/Reading
Week 9 (03/11/21):
Data, Part II, Edit, Delete
Week 10 (03/18/21):
Week 11 (03/25/21):
Data, Part III, Database Relationships
Week 12 (04/01/21):
Users and Security, Part I, Basic Security, Custom Login Page, Roles
Week 13 (04/08/21):
Users and Security, Part II, DB Authentication, Persistence, Registration
By enrolling in this course, you are bound by the
NEIU Student Code of Conduct. You will be informed by your
instructor of any additional policy specific to your course regarding
plagiarism, class disruptions, etc.
Cheating is a serious academic offense and violates the NEIU Student Code of
Conduct (see University Policies below). All students will be required to turn off their
electronic devices (phone, smart watches, etc) at the beginning of each exam. Failure to do so
and/or any involvement in or suspicion of cheating will result in a failing grade for the final exam
(and the course). Additionally, students involved in cheating will be reported
for academic misconduct to the Dean of Students (two reports can result in
expulsion from the university).
Northeastern Illinois University (NEIU) complies with the Americans with
Disabilities Act (ADA) in making reasonable accommodations for
qualified students with disabilities. To request accom- modations,
students with special needs should make arrangements with the Student
Disability Services (SDS) office, located on the main campus in room D104.
Contact SDS via (773) 442-4595 or SDS online.
It is your responsibility to have the Accessibility Center send me this
information by the 3rd week of the semester.
Web links to Campus Safety: Emergency Procedures and Safety Information
can be found on NEIUport on the MyNEIU tab or via the
University Police Page on NEIU's website.
Because quizzes are online and open-book/note, no make-up quizzes will be given.
However, one quiz will be dropped.
Cheating and/or plagiarism will not be tolerated. Students that violate the NEIU academic
conduct policy may be subject to an F for that assignment, quiz, exam, project or any
portion (or all) of the final course grade
Syllabus topics/content for this course may be changed/updated as deemed appropriate
or necessary by the instructor.
Policies may be modified or added as deemed appropriate or necessary by the instructor.