About CS 204

This course is about Front-End Web Development. The "front-end" is jargon for all the stuff that goes on in the browser. (The "back-end" is the term for all the operations on the server, which usually means updating databases to record information that the user has submitted or retrieving information that was previously stored.) The front end includes:

  • structuring the content using HTML
  • styling the content using CSS
  • dynamically updating the page using JavaScript (JS) and jQuery (JQ)

Intended Audience

This course is intended for beginning CS and MAS majors. Its prerequisites are CS 111 or an equivalent "CS 1" course that introduces programming (variables, conditionals, functions, objects and so on). Knowledge of JavaScript is not required.

History

This course grew out of the realization that although the Computer Science department no longer had the resources to teach the popular CS 110 course for non-majors and it reluctantly had to stop offering that course, much of the content of that course was valuable to CS and MAS majors. Therefore, this course was created to cover similar ground, but starting with an assumption that students know the basics of programming. It's also intended to go a bit farther and faster than CS 110 did. Nevertheless, because of the substantial overlap between CS 110 and CS 204, a student cannot earn credit for both courses.

Tentative topics

The following is a tentative schedule of topics for the course. The course is still being created, so these will certainly change.

  1. Using a Cloud 9 development environment, URLs
  2. HTML and CSS
  3. CSS 2: selectors, box model, inheritance, fonts
  4. CSS 3: float layouts, flex layouts
  5. Mobile and responsive, Media Queries
  6. JS introduction
  7. JS dates and objects
  8. DOM & jQuery
  9. Event Handlers + setTimeout
  10. Visual Effects with CSS
  11. Closures and Namespaces
  12. Object-Oriented Programming: Methods, Modules, Objects and HTML Forms
  13. Skeleton and Bootstrap
  14. Forms and .val(), including radio buttons and checkboxes
  15. From Data to DOM
  16. Validating Forms, including Regular Expressions
  17. LocalStorage and Ajax: .get() .post() and Same Origin Policy
  18. Animations & Absolute Positioning
  19. Slideshows
  20. Galleries & Drop-downs
  21. Object-Oriented Programming: Classes and Inheritance
  22. Keyboard and Mouse event handlers
  23. jQuery UI, date picker, menus, autocomplete
  24. Google Maps API
  25. Accessibility