0% found this document useful (0 votes)
14 views19 pages

Wednesday 8 - 21 - 24

Uploaded by

kritagyakumra777
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views19 pages

Wednesday 8 - 21 - 24

Uploaded by

kritagyakumra777
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

CS 5220

- Advanced Topics in Web Programming -


Prof. Cydney Auman
AGENDA

01 Review Syllabus
03 Course Expectations

02 About the Course


04 Course Prep
01
SYLLABUS
Visit Canvas
02
ABOUT
THE COURSE
st
RECOMMENDED
1
NO JAVA
This course does not utilize Java or
PREREQUISITES Spring MVC in its curriculum.

This course highly recommends a prerequisite of


nd
2
JAVASCRIPT REFRESHER
an understanding of the JavaScript programming
While this course will provide a JavaScript
language or the ability to rapidly and proficiently refresher, its focus is not to teach the
language comprehensively but rather to
learn new programming languages.
delve into advanced web application
development concepts.

rd
3
JAVASCRIPT !== JAVA
Despite their similar names, Java and
JavaScript are distinct programming
languages with differing syntax, design
principles and usage contexts.
Course Focus
This course builds on what was covered in CS3220 and CS4220 by diving deeper into technologies, design
patterns and frameworks. We’ll start with a refresher on JavaScript to cover the fundamentals and ensure
everyone is ready for more advanced topics

The course focuses on a three-part project where you’ll build a full-stack web application. This project will
involve working with third-party APIs, handling JSON data, and using MongoDB for data storage. Additionally,
you’ll use the Svelte.js framework to create a complete and functional application.
History of Web Services
Evolution of technologies and standards that enable different software systems
to communicate and interact with each other over the internet

Rise of REST and introduction of JSON. And what is on the horizon.

Exponential growth of Web APIs and how they are a fundamental way for
different services to communicate and integrate.

Progression of standards and their role in ensuring consistency and ease of use
among different software systems.
JavaScript Refresher
Variables, Operators, Control Flow, Loops and Functions.

Arrays, Objects and Classes

Callbacks, promises, async/await and error handling

Proper Code Formatting and Best Practices


Node.js & Web API Integrations
Node.js internals (V8 & libuv) and the Event Loop

Working with NPM and using Node Modules

Integrating with Web APIs. Traversing and manipulating JSON data structures.

Securing a REST Application (JWTs and Bcrypt)


Mongo DB & Mongoose.js
SQL versus NOSQL. Understanding NOSQL terminology.

Working with CRUD (Create, Read, Update, Delete) operations

Understanding Object Data Modeling (ODM)

Defining schemas and using types within Mongoose.js


Svelte.js
Understanding Frontend Frameworks and User Interface Development

Svelte vs. SvelteKit - Introduction to Svelte and SvelteKit's enhanced features

Understanding Svelte's component structure with props, state and reactivity.

Binding events to elements and managing form inputs and submissions.


Testing with Mocha.js + Chai.js
Understanding Test Driven Development vs Behavior Driven Development vs
“Test-After” Approach

Writing Tests Cases to support code functionality and executing tests to verify
passes/failed.

Understanding how to address failed test cases

Learning best practices when utilizing testing to ensure correctness, reliability


and maintainability.
03
COURSE
EXPECTATIONS
Course Structure
Mondays (In-Class)
● Slide lectures covering key concepts.
● Possible small coding excerpts and discussions.

Wednesdays (Remote via Zoom)


● Practical coding sessions that pair with Monday’s slides, focusing on applying and
expanding on the lecture content.

Attendance Policy
● Attendance is only taken on the first day of class.
● Students are responsible for attending sessions and staying on track.

Success Tip
● Schedule office hours to get assistance with homework, labs and any questions about
the course materials.
Course Assignments
Quizzes
● 10-12 questions. Timed. Multiple choice, true/false or fill in the blank.
● Assigned Wednesday and Due Friday at 11:59pm. NO LATE quizzes accepted.

Labs
● Coding problems based on the material and concepts learned in class.
● Assigned Wednesday and Due Monday at 11:59pm. NO LATE labs accepted.

Homework
● Three assignments to guide in building a Full Stack application,
each assignment builds on the previous one.
● 9 days to complete each part of the project. LATE homework accepted. LATE policy applies.
Course Assignments
Midterm and Final

● Team-based Presentations. Students will work in groups of 3-4.

● Each group will research a topic related to the course that hasn’t been covered in class.

● Every team member is responsible for presenting a few slides and a short code example on
their portion of the topic.

● Grading Emphasis is on the quality and not the quantity of code and slides.

● Topic selection and team sign-up will be available closer to the Midterm and Final dates.
Course Grading
Quizzes (Check Understanding): 10%
● Lightly weighted to encourage self-assessment without too much pressure

Labs (Coding Problems): 20%


● Labs are for reinforcing material and supporting understanding for homework.

Homework (3-Stage Project): 30%


● Central focus of the course that applies key concepts to demonstrate an understanding
in a comprehensive, real-world context.

Midterm (Presentation): 20% and Final (Presentation): 20%


● Emphasizes group collaboration and also ensures individual efforts are valued. Showcases
you can research and present a technology clearly.
04
COURSE
PREPARATION
Course Prep
Review JavaScript
● Strengthen your understanding by exploring these resources:
○ Mozilla Developer Network: https://developer.mozilla.org/en-US/docs/Web/JavaScript
○ Eloquent JavaScript: https://eloquentjavascript.net/
○ Modern JavaScript Tutorial: https://javascript.info/

Get Familiar with VS Code


● Install and explore Visual Studio Code: https://code.visualstudio.com/

Join the Course Discord


● https://discord.com/invite/wzzey2AbZR
● Accept the Rules to gain full access to the Discord

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy