You are on page 1of 3

Course Syllabus

Jump to Today

Course Name: Computer Programming: JavaScript

Location: Gates-Dell Complex 5.302

Lecture Time: Tuesdays and Thursdays, 2:00 - 3:00pm

Instructor: Dr. Robert F. Dickerson

Office Hours: By Appointment

Email: rfd@cs.utexas.edu

COURSE DESCRIPTION:

This course is designed to provide a solid introduction to the JavaScript language. We


will explore the more unique and tricky JavaScript features such as closures, higher-
order functions, and prototype object oriented model that perhaps are not familiar to
many students who are familiar with Java and Python as their primary languages. We
will also introduce how JavaScript is used as a popular technology for both for frontend
and backend web applications.

PREREQUISITES

Students should already have had some exposure to a programming language such as
Java, Python, or C. Know what a function and variable are, preferably know the basics
to object-oriented programming. The course requires a commitment to study JavaScript,
and hence will require completing instructor collected readings before the lecture.

COURSE REQUIREMENTS

Class Participation. Students must bring their laptops to class and participate in course
learning activities and contribute fully to the completion of group projects.

Homework. Weekly homework assignments are short must be submitted by Canvas


that test your understanding of the material of the previous week.

Final Group Project. Students will work on using your knowledge by creating a web
application or Javascript library. This project will be demonstrated on the last day of
class. The project must be uploaded onto some repository such as Bitbucket or Github.
SCHEDULE

The schedule is structured that there is an overarching topic for that week. We will
explore the core concepts of that week, I will assign a short programming project that
Thursday that will be due the following Friday.

Week 1: Basics

Week 2: Functional programming

Week 3: Object oriented programming

Week 4: Client-side applications

Week 5: Server-side applications

Week 6: Design patterns and Idioms

Week 7: Popular frameworks

GRADING CRITERIA

1. 40% Final Project


1. 10% project proposal
2. 30% final presentation
2. 60% Programming Exercises (6 exercises, 10% each)

FINAL PROJECT

Proposal due date: Feb 12, 2015

Max team members: 3

Please use Piazza or meet with me to refine your idea. The purpose of the final project
not only is to solidify the concepts you learn in class, but also to have a working project
in your portfolio that demonstrates your ability to develop in JavaScript. Interesting
ideas that deviate from the state-of-the-art are preferred. Go ahead and take risks!!

You must use a git repository for the development of your project. Every student in the
group should participate by checking in updates to the repository. The final deliverable
should be deployed somewhere (like Heroku or Amazon AWS), or if a library, a
deployed example that spotlights the features it provides. Although not required, a
screen captured demo would be recommended in many situations. Refer to my mobile
computing course as an example:

Elements of Mobile Computing Fall 2014 (Links to an external site.)Links to an


external site.

RESOURCES

Students are not required to purchase a textbook for this course because there are many
online resources available either publicly on the web or as e-books provided by
the University of Texas Library contracts.

1. JavaScript: The Definitive Guide by David Flanagan (Links to an external


site.)Links to an external site.
2. JavaScript: The Good Parts (Links to an external site.)Links to an external site.
3. JavaScript Ninja
4. Learning JavaScript Design Patterns (Links to an external site.)Links to an
external site.
5. Up and Running with Node.js (Links to an external site.)Links to an external
site.
6. Eloquent JavaScript (Links to an external site.)Links to an external site.
7. JS: The Right Way (Links to an external site.)Links to an external site.
8. JavaScript Garden (Links to an external site.)Links to an external site.
9. Mozilla JavaScript Guide (Links to an external site.)Links to an external site.
10. Object Playground (Links to an external site.)Links to an external site.
11. Idiomatic.js (Links to an external site.)Links to an external site.
12. Nodeschool (Links to an external site.)Links to an external site.
13. JSLint (Links to an external site.)Links to an external site.

You might also like