Untitled document
At the conclusion of this course, the student should be able to:
1. Develop interactive websites and mobile applications that integrate HTML, CSS, and JavaScript.
2. Utilize shared JavaScript libraries to implement advanced interactivity and functionality.
3. Analyze and customize JavaScript code.
4. Write JavaScript code that selects, manipulates, and creates document elements, accesses, validates, and parses external data sources.
5. Apply appropriate user experience and interactive design concepts to custom web and mobile applications.
Untitled document
I. Advanced HTML and CSS Review
A. Semantic HTML review
B. SCRIPT and NOSCRIPT elements
C. CSS language review
II. JavaScript Language Fundamentals
A. Browser-based JavaScript: working with JavaScript in the browser
B. Data types, values and variables
C. Operators and expressions
D. Control structures: loops, conditionals, functions
E. Events
F. Data structures: objects and arrays
G. Common JavaScript objects in the browser: navigator, document, window, Math
H. Document Object Model and JavaScript
I. Data storage and dynamic data: cookies, local storage, JavaScript Object Notation (JSON)
J. Forms: events, elements and validation
K. Error-handling, debugging, and troubleshooting
L. Asynchronous programming
M. Browser API access via JavaScript
N. JavaScript timers
O. Server-side JavaScript: working with Node.js and Node Package Manager (NPM)
P. History of JavaScript and ECMAScript
III. Common JavaScript Libraries and Functionalities
A. jQuery vs. pure JavaScript for accessing and modifying DOM
B. jQuery UI and other jQuery plugins for advanced user interfaces
C. Geographic visualizations with libraries such as OpenLayers and Google Maps API
D. Data visualization with HTML Canvas and visualization libraries such as Data-Driven Documents (D3.js)
E. Highly interactive gamified user experiences with JavaScript game engine libraries such as Phaser.js
F. Creating your own JavaScript library or jQuery plugin
IV. Introduction to Web and Mobile Applications
A. Model-View-Controller (MVC) coding pattern
B. Reactive JavaScript libraries such as Vue.js and React
C. Mobile gesture-based user interfaces
D. Introduction to progressive Web applications (PWA)
E. Introduction to full-stack applications
F. Application user experience and interaction design
V. Professional Practices
A. Introduction to git command-line version control and practices
B. Introduction to file management and developer operations
C. Introduction to build systems
D. Transpilation of code to pure JavaScript
Untitled document
1. Textbook and other assigned reading (25-60 pages per week)
2. Browser-based JavaScript assignments (7-15). All HTML and CSS code submitted must be validated.
3. Midterm and final JavaScript-powered projects (2). Each project must include:
A. Custom JavaScript coding
B. Fully validated and accessible code
4. Quizzes and exams (2-4)
5. Discussions (5-8). Conducted in-class or online with participation from all students.
6. Project presentations and peer feedback (2). Each student must present their project to classmates, either online or in-class, and provide feedback to at least two peers. May be ungraded.
Untitled document
Eloquent JavaScript. 3rd ed. Haverbeke, Marijn. No Starch Press. 2018.
JavaScript: The Definitive Guide. 7th ed. Flanagan, David. O'Reilly Media. 2020.
Instructor prepared materials