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

Lecture Videos

Other

      Week  Topics Slides (for videos see info at the top) Work
Week #1
(Jan 27)
Course Introduction, Fundamentals, HTML5 CourseIntro.pdf Fundamentals.pdf HTMLI.pdf HTMLICode.zip
Week #2
(Feb 3)
HTML5, CSS HTMLII.pdf HTMLIICode.zip CSSI.pdf CSSICode.zip CSSII.pdf CSSIICode.zip P1 Out (Wed)
Week #3
(Feb 10)
Web Servers, Forms, Get vs. Post, JavaScript (JS Data Types, Variables, Expressions, Strict Mode, let/const) WebServers.pdf WebServersCode.zip Forms.pdf FormsCode.zip JavaScriptI.pdf JavaScriptICode.zip P2 Out (Wed)
P1 Due (Thu)
Week #4
(Feb 17)
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, Debugging, Arrow Functions JavaScriptII.pdf JavaScriptIICode.zip JavaScriptIII.pdf JavaScriptIIICode.zip P2 Due (Thu)
Week #5
(Feb 24)
Truthy vs. Falsy, Sorting, JSON, fetch, Events-Driven Programming (Adding functionality to buttons, getting data from text fields), Animations, InnerHTML, typeof, instanceof, Hoisting, Numeric Values JavaScriptIV.pdf JavaScriptIVCode.zip Events.pdf EventsCode.zip JSObjectsFetch.pdf JSObjectsFetchCode.zip JavaScriptV.pdf JavaScriptVCode.zip P3 Out (Thu)
Week #6
(Mar 3)
Default Parameters, Rest Operator, Spread Operator, Destructuring, Additional Array Methods, Sets, Maps, Form Validation, IIFE, Class definition using class, Errors, Accessing Form Data Using JS RestSpreadOpsArrayFunc.pdf RestSpreadOpsArrayFuncCode.zip FormValidationClasses.pdf FormValidationClassesCode.zip AccessingFormDataUsingJS.pdf AccessingFormDataUsingJSCode.zip P3 Due (Thu)
Week #7
(Mar 10)
Context Object, Custom Type Definition without class Debugging.pdf DebuggingCode.zip ObjectCustomType.pdf ObjectCustomTypeCode.zip Exam #1 (Tue)
Spring Break 2025 (Mar 16 → Mar 23)
Week #8
(Mar 24)
Custom Type Definition, Chaining Operator(?), Logical or/and operators, Coalescing Operator, Object Type Sealing/Freezing Objects, Closures, Currying, Node.js, Event Loop ObjsOps.pdf ObjsOpsCode.zip ContextObject.pdf ContextObjectCode.zip NodeJS.pdf NodeJSCode.zip P4 Out (Thu)
Week #9
(Mar 31)
Express, View/Templating Engines, Express Router, Cookies, Sessions Express.pdf ExpressCode.zip RouterCookiesSessions.pdf RouterCookiesSessionsCode.zip P4 Due (Thu)
Week #10
(Apr 7)
MongoDB, Modules MongoDB.pdf (New Version) MongoDBCode.zip (New Version)
MongoDBOld.pdf MongoDBCodeOld.zip
Modules.pdf ModulesCode.zip
Exam #2 (Tue)
P5 Out (Tue)
Week #11
(Apr 14)
Promises, fetch (Part II), CORS, LocalStorage, Generators, Regular Expressions, eval(), Relational Databases Promises.pdf PromisesCode.zip Fetch.pdf FetchCode.zip LocStorageGenRegEx.pdf LocStorageGenRegExCode.zip P5 Due (Thu)
P6 Out (Thu)
Week #12
(Apr 21)
Sending Email with Node.js, Password Hashing, Event Propagation, HTML APIs (Canvas, Geolocation API, FileReader API, Sound) P6 Due (Fri)
Week #13
(Apr 28)
React Intro, Ajax Exam #3 (Tue)
P7 Out (Tue)
Week #14
(May 5)
Miscellaneous P7 Due (Tue)
Week #15
(May 12)
Miscellaneous Last Day of Classes
(Tue, May 13)
Week #16
(May 19)
Final Exam (Group Project) Due
(Mon, May 19, 12:30 pm)

Web Accessibility