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

Lecture Videos

Other

      Week  Topics Slides (for videos see info at the top) Work
Week #1
(Aug 31)
Course Introduction, Fundamentals, HTML CourseIntro.pdf Fundamentals.pdf HTMLI.pdf HTMLICode.zip HTMLII.pdf HTMLIICode.zip
Week #2
(Sep 7)
CSS, Web Servers, Forms, Get vs. Post CSSI.pdf CSSICode.zip CSSII.pdf CSSIICode.zip WebServers.pdf WebServersCode.zip Forms.pdf FormsCode.zip P1 Out (Thu)
Week #3
(Sep 14)
Forms, JavaScript (JS Data Types, Variables, Expressions, Strict Mode, let/const), Comparison Operators, document.writeln(), prompt(), open(), alert(), Loops, Conditionals, switch, break, Console, Wrapper Types, Global Object, Functions JavaScriptI.pdf JavaScriptICode.zip JavaScriptII.pdf JavaScriptIICode.zip P2 Out (Tue)
P1 Due (Thu)
Week #4
(Sep 21)
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
(Sep 28)
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 RestSpreadOpsArrayMethods.pdf RestSpreadOpsArrayMethodsCode.zip Debugging.pdf DebuggingCode.zip FormsAndJS.pdf FormsAndJSCode.zip P3 Due (Thu)
Week #6
(Oct 5)
Sets, Maps, Class definition using class SetsMaps.pdf SetsMapsCode.zip JSClasses.pdf JSClassesCode.zip Exam #1 (Tue)
P4 Out (Tue)
Week #7
(Oct 12)
Chaining Operator(?), Logical or/and operators, Coalescing Operator (??), Sealing/Freezing Objects, Closures, Currying Context Object OpsMethodsClosures.pdf OpsMethodsClosures.zip ContextObject.pdf ContextObjectCode.zip Fall Break (Mon/Tue)
Week #8
(Oct 19)
Object Type, Custom Type Definition without class, Promises ObjectCustomType.pdf ObjectCustomTypeCode.zip EventLoop.pdf EventLoopCode.zip Promises.pdf PromisesCode.zip P4 Due (Mon)
Week #9
(Oct 26)
Node.js, Express, View/Templating Engines NodeJS.pdf NodeJSCode.zip Express.pdf ExpressCode.zip P5 Out (Thu)
Week #10
(Nov 2)
MongoDB, Relational Databases MongoDB.pdf MongoDBCode.zip
RelationalDatabasesSQL.pdf
Exam #2 (Thu)
Week #11
(Nov 9)
Relational Databases/SQL, LocalStorage, Generators, fetch (Part II), CORS, Modules, Cookies, Sessions LocalStorage.pdf LocalStorageCode.zip Generators.pdf GeneratorsCode.zip Fetch.pdf FetchCode.zip Modules.pdf ModulesCode.zip RouterCookiesSessions.pdf RouterCookiesSessionsCode.zip P5 Due (Mon)
P6 Out (Mon)
Week #12
(Nov 16)
Mongoose, Sending Email with Node.js, Hosting Node.js app, Password Hashing, Regular Expressions, eval(), React Intro P6 Due (Mon)
P7 Out (Mon)
Exam #3 (Thu)
Week #13
(Nov 23)
React Intro, Browser API (Canvas) P7 Due (Mon)
P8 Out (Mon)
Thanksgiving Recess (starting Wed)
Week #14
(Nov 30)
Browser APIs (Geolocation API, FileReader API, Sound), Event Propagation, Ajax, Miscellaneous, PHP Intro P8 Due (Mon)
Week #15
(Dec 7)
Miscellaneous
Last Day of Classes
(Fri, Dec 11)
Final Exam (Group Project) Due
(Tue, Dec 15,
11:55 pm)

Web Accessibility