CIS 111 Syllabus
CIS 111 Web Programming
Syllabus 08S (crn 31362)
14:00-15:20 MW, 101 LLCS
Labs (026 Kla): W 08, W 10, W 12; R 12; F 12.
Instructor: Michael Hennessy.
Office Hours: Available in Blackboard.
CIS 110 Equivalency for 111
Required Textbook
Head First JavaScript
by Michael Morrison
OReilly publishing
ISBN 10: 0-596-52774-8 | ISBN 13:9780596527747
$36 (new) at UO Bookstore
Write a coded identifier in yourtextbook; it's your book's free phone call home
when it goes missing.
No reserve copies available this term.
Exams, Projects & Final Grade
Midterm (W 5/7).......... 25%
Final (15:15 R 6/12)..... 25%
Projects ................ 50%
Exam dates and times are on the 111 calendar.
Please mark your own calendar now, and make no other plans for the dates of the
exams. Be sure you know the Academic Policies for
the course.
Things You Need to Know
- PROJECTS. If you want to pass the course, you must do the projects. Students
who do not do the projects can not pass the course.
111 projects require you to upload xhtml files to your 111 directory on shell.uoregon.edu. Each student must keep these files unchanged until your final grade is completely resolved. If you work on a programming team, each partner on the team must have a complete set of project files in her/his directory. This can make the difference
between passing and failing the course.
- BLACKBOARD GRADEBOOK. Please monitor your scores in the gradebook regularly.
Maintaining an accurate gradebook is a collaborative effort. This is a shared responsibility.
- OFFICE HOURS are posted in Blackboard, and I invite you to take advantage of office hours for help with
the course and/or for academic advising (CIS, CIT, UO). You are not limited
to seeing just your instructor or GTF; you can see any of us during our office hours and
if that does not fit your schedule, just make an appointment to see one of
us.
Note that
it is your job to keep up with class-- office hours may not be used
for skipped classes. If you have a legitimate reason for missing a class, you are very
welcome to come to office hours to fill in what you missed.
- EMAIL. Email works best for short questions. Address your message to your instructor AND the GTFs. Please include "111" in
the subject line. For longer questions and debugging assistance, please use office hours.
- ATTENDANCE: Attend class regularly for best results.
What the Course is About
An algorithm is a step-by-step problem-solving procedure. A program is
a series of instructions that a computer can
interpret and execute. Computer Science is the
study of algorithms and programs.
Algorithms and programs are, therefore, a unifying theme for Computer Science, just as energy
is a unifying theme for the study of Physics.
CIS 111 is an introduction algorithmic problem-solving using the web-programming language JavaScript.
CIS 111 is a second course in a two-course introduction to Information Technology
(IT) and Web Programming, and builds upon the
concepts covered in CIS 110.
Topics covered in 110 and which are prerequisite concepts for 111 include:
basic web page design with XHTML, and using SSH for web development.
Students lacking these prerequisites will need to budget extra time during the first two weeks of class to acquire basic web design skills. To assist you, the GTFs will hold Help Sessions during weeks 1-2. You are welcome
to meet with the instructor to determine whether you should take 111 at this
time.
Prereq: CIS 110, MATH 111. No prior programming experience is required, but a working knowledge of web publishing with HTML and SSH, as covered in CIS 110 at the UO, is assumed. For students who did not take CIS 110 at the University of Oregon, please see CIS 110 Course-Equivalency for CIS 111, below.
111 labs start week 1 and meet in the PC-lab, 026
Klamath. In addition to 026 Kla, you can also work on your projects in 013 Kla,
101 Mck and other campus microlabs and technology centers.
Please read the expected workload for 111.
Course Objectives
Upon completion of this course, a student will:
- Understand the development and philosophy of XHTML, the DOM API, and JavaScript
- Design and develop programs in the JavaScript language using procedural programming
techniques
- Understand web interfaces
- Understand event-driven programming
- Understand the use of JavaScript as an object-oriented programming language
- Understand the use of JavaScript Databases
- Understand the use of Internet cookies for saving user state
- Understand the basic structure of the W3C Document Object Model (DOM) and Application Programmer Interface (API)
- Create, test, and debug JavaScript web applications using the Aptana IDE and the Firefox web browser
- Understand how to coordinate a set of internet- and web-based technologies,
each with its own user interface.
- SSH remote login
- SSH ftp
- Mozilla Firefox
- Interacting with the Unix login shell & command line
- TextPad, for creating XHTML files (or the Taco editor for the Mac)
- Aptana JavaScript IDE
- XHTML, CSS and JavaScript
(To review how to create a personal web page on uoregon.edu, see Synopis
of CIS 11O Web Authoring Concepts and Tools.)
You have satisfied the 110 pre-req if you have taken a course (or courses)
in which you studied all of the following topics covered in CIS 110.
The basics of xhtml, and using SSH for web development will be reviewed in the 111 labs and extra Help Sessions during
weeks 1 and 2 of the term. For additional help go to a 111 office hour.
- Information Technology (IT) Concepts:
hardware, software, data representation, networks and protocols (TCP/IP, HTTP)
- Using SSH to interact with the Unix command interpreter and login shell