CS 170 Web Programming
Contents
Catalog Description
An introduction to World Wide Web programming methods and scripting languages. Includes Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Dynamic Hypertext Markup Language (DHTML), JavaScript, and VBScript. Prerequisite - C or better in CS 151.
Prerequisites
- Basic understanding of at least one programming language’s syntax and primary data structures.
- Variables, primitives, and literals
- Functions
- Collections
- Most important skills/knowledge gained:
- Client-server relationship and front-end back-end architecture
- Editors, multi-file projects, code linters, and workflow
- The JavaScript event loop and asynchrony
- The JavaScript prototype and the `this` keyword
- EcmaScript latest additions
- Regular expressions
- Intro to PHP: Hypertext Preprocessor
- Separation of concerns and ideal abstraction
- Build tools and test suites
- Simple back-end in NodeJS
Standard Content
- Using Unix (refresher)
- Client Server relationships
- Understanding Apache as a System Service
- Front-end Back-end Architecture
- HTML and CSS (refresher)
- Document Object Model (DOM tree)
- Code Editors, Linters, and Workflow
- JavaScript Event Loop and Asynchrony
- Events
- setTimeout() and setInterval()
- Promises
- Latest EcmaScript Additions:
- Arrow Functions
- Rest and Spread operators
- .forEach() and .map()
- Binary, octal, hex literals
- Template sting and interpolation
- The JavaScript Prototype
- Objects, prototypes, and new
- The “this” keyword
- Regular Expre ssions
- ES6 classes
- Abstraction techniques and code reuse
- Building web components
- Intro to PHP (Hypertext Preprocessor)
- Build Tools - webpack, gulp (time permitting)
- Testing tools - jasmine, mocha, jest, ava (time permitting)
- Common frameworks (time permitting)
- KnockoutJS
- Vue
- React
Important Assignments and/or Exam Questions
- TODO