CMSC335 (Spring 2026): Web Application Development with JavaScript (Schedule)

Lecture Videos

Other

      Week  Topics Slides (for videos see info at the top) Work
Week #1
(Jan 26)
Course Introduction, Fundamentals, HTML, CSS CourseIntro.pdf Fundamentals.pdf HTMLI.pdf HTMLICode.zip HTMLII.pdf HTMLIICode.zip CSSI.pdf CSSICode.zip
Week #2
(Feb 2)
CSS, Web Servers CSSII.pdf CSSIICode.zip CSSIII.pdf CSSIIICode.zip WebServers.pdf WebServersCode.zip P1 Out (Thu)
Week #3
(Feb 9)
Forms, Get vs. Post, JavaScript (JS Data Types, Variables, Expressions, Strict Mode, let/const) Forms.pdf FormsCode.zip JavaScriptI.pdf JavaScriptICode.zip JavaScriptII.pdf JavaScriptIICode.zip P2 Out (Tue)
P1 Due (Thu)
Week #4
(Feb 16)
Comparison Operators, document.writeln(), prompt(), open(), alert(), Loops, Conditionals, switch, break, Console, Wrapper Types, Global Object, Functions, String methods, Array methods, typeof, Hoisting, Scope, for..of, for..in, Template Literals, Arrow Functions, Truthy vs. Falsy, Events-Driven Programming (Adding functionality to buttons, getting data from text fields), Animations, InnerHTML, JSON, fetch API Intro JavaScriptIII.pdf JavaScriptIIICode.zip JSObjectsFetchI.pdf JSObjectsFetchICode.zip Events.pdf EventsCode.zip P2 Due (Thu)
P3 Out (Thu)
Week #5
(Feb 23)
Array Methods, Objects, Sorting, Errors, typeof, instanceof, Hoisting, Numeric Values, Default Parameters, Rest Operator, Spread Operator, Destructuring, Additional Array Methods, JS Debugger, IIFE, Form Validation, Accessing Form Data Using JS ArrayMethodsObjects.pdf ArrayMethodsObjectsCode.zip RestSpreadOpsArrayFunc.pdf RestSpreadOpsArrayFuncCode.zip Debugging.pdf DebuggingCode.zip FormsAndJS.pdf FormsAndJSCode.zip P3 Due (Thu)
Week #6
(Mar 2)
Sets, Maps, Class definition using class, Chaining Operator(?), Logical or/and operators, Coalescing Operator (??), Sealing/Freezing Objects, Closures, Currying SetsMaps.pdf SetsMapsCode.zip JSClasses.pdf JSClassesCode.zip OpsMethodsClosures.pdf OpsMethodsClosures.zip Exam #1 (Tue)
P4 Out (Tue)
Week #7
(Mar 9)
Context Object, Object Type, Custom Type Definition without class, Promises ContextObject.pdf (New, Use this One) ContextObjectCode.zip (New, Use this One) ContextObject.pdf (Old, ignore) ContextObjectCode.zip (Old, ignore) ObjectCustomType.pdf ObjectCustomTypeCode.zip EventLoop.pdf EventLoopCode.zip Promises.pdf PromisesCode.zip
Spring Break 2026 (Mar 15 → Mar 22)
Week #8
(Mar 23)
Promises, Node.js, Express NodeJS.pdf NodeJSCode.zip Express.pdf ExpressCode.zip P4 Due (Wed)
Week #9
(Mar 30)
Express, View/Templating Engines, Modules, Express Router, Cookies, Sessions Modules.pdf ModulesCode.zip RouterCookiesSessions.pdf RouterCookiesSessionsCode.zip P5 Out (Tue)
Week #10
(Apr 6)
MongoDB, Mongoose, Promises, Password Hashing, Sending Email with Node.js Exam #2 (Tue)
P5 Due (Thu)
P6 Out (Thu)
Week #11
(Apr 13)
fetch (Part II), CORS, React Intro P6 Due (Thu)
P7 Out (Thu)
Week #12
(Apr 20)
LocalStorage, Hosting Node.js app, Relational Databases P7 Due (Tue)
P8 Out (Tue)
Week #13
(Apr 27)
Generators, Regular Expressions, eval(), HTML APIs (Canvas, Geolocation API, FileReader API, Sound) Exam #3 (Tue)
P8 Due (Thu)
Week #14
(May 4)
PHP Intro, Miscellaneous
Last Day of Classes
(Fri, May 8)
Week #15
(May 11)
Miscellaneous Final Exam (Group Project) Due
(Fri, May 15,
3:30 pm)

Web Accessibility