Beginning Programming: JavaScript

Syllabus for fall 2024

Class  Instructor 
Course NumberCS 133JS NameBrian Bird
CRNHybrid (on campus) 21547
Online 21548
 E-mailbirdb@lanecc.edu
Day & TimeT, Th 10:0011:50 Office HoursMTh 4:004:50
RoomBuilding 19, Room 128
Zoom meeting
 RoomBuilding 19, Room 152
Zoom meeting

Table of Contents

Course Description

This course provides students who have working knowledge of HTML with the concepts and skills required to create dynamic, interactive web pages using client side JavaScript. Through lectures, demonstrations and independent hands-on activities students will learn fundamental programming concepts and will learn about variables, operators, functions, control structures, arrays, pre-defined objects, and event handling in JavaScript.

Learning Outcome

The intention of the course is to enable you to create and maintain interactive web pages containing JavaScript that might be part of any web site using modern technologies and tools.

Course Content

Main Concepts  
Programming languagesCompilation and interpretationDynamic and strong typing
Variables and scopeOperators and expressionsFunctions: parameters and return values
Control structuresEvent handlingPre-defined objects

 

Cross-Cutting Concepts  
Internet technologiesDynamic and static web sitesClient-side and server-side code
Syntax, semantics and styleCommunicationGiving and receiving feedback

Tools and Technologies  
JavaScript / ECMA ScriptDebuggerWeb browser DOM
FTP clientCode editorBrowser developer tools

Skills
Explain the relationship between presentation layer, client-side programming and server-side programming and JavaScript in modern web sites.
Effectively use: variables, operators, functions, control structures, arrays, document object model, math object, date object, string object, regular expressions and event handlers.
Design, implement and test algorithms and client side JavaScripts to: write to a web page, display random images or ads on a web page, automatically update the display on a web page at regular time intervals, create a dynamic monthly calendar on a web page, create an interactive puzzle on a web page.
Discuss concepts, themes and issues orally and in writing.
Evaluate your own web site implementation work. Evaluate the web site implementation work of other students and provide constructive feedback orally and in writing.
Respond appropriately to and assimilate feedback provided by other students and your instructor.

Learning Resources

Textbook

Eloquent JavaScript: A Modern Introduction to Programming, 4rd Edition, by Marijn Haverbeke. No Starch Press. 2024. Available free online to read or download; or a print copy can be purchsed.

Online Resources

Learning Management System

Moodle is the Learning Management System (LMS) used for this course; LCC’s Moodle site is at: classes.lanecc.edu.

Web Server

You will publish your programming lab assignments to the same web server, citstudent.lanecc.edu, that you used in CIS195, Web Authoring: HTML. Please send your instructor an email message if you have not used this server before and need your user id and password.

Course Materials

All of the instructor's course materials including lecture notes, lab assignments, etc., are stored in a repository on GitHub as well as being linked on the Moodle course page.

 

Software

All of the software required for this class is free. You can use any operating system: Windows, Mac OS, or Linux.

Software Required for Lab Assignments

You will need to download these applications and install them on your computer. They are already installed on the computers in the classroom.

Free and Discounted Software for Students

None of the software provided in these offers is required for this class, but you may want to take advantage of the free and discounted software offers.

 

Computer Lab and Tutoring

CIT Computer Lab and In-Person Tutoring

The CIT Main lab (Building 19, room 135) is equipped with computers and software which are available exclusively for students in the CIT department. There are tutors available in the lab to help you with your lab work. The schedule for when the lab will be open and when in-person tutors are available is TBD.

Online Tutoring

See the LCC Tutoring Services web page for information.

 

Assessment and Grading

The table below summarizes the possible points for each assessment task as well as the course as a whole:

Assessment TasksPoints EachTotal PointsPercentage
Labs 1 - 84032032%
Code Reviews* 1 - 88646.5%
Reading Quizzes* 1 - 88646.5%
Term Project25225225%
Midterm and Final QuizzesMidterm: 100, Final: 20030030%
Course Total 1000 

* The code review and reading quiz with the lowest grade will be dropped from the grade calculation.

Letter grades for the course will be determined by the following percentages:

 + -
A100 to 9897 to 9291 to 90
B89 to 8887 to 8281 to 80
C79 to 7877 to 7271 to 70
D69 to 6867 to 6261 to 60
FBelow 60  

Quizzes

Reading Quizzes Weekly quizzes are given that cover the required reading for that week. These quizzes must be taken before the first class meeting of the week. They are "open book" (or whatever reading material was assigned.)

Midterm and Final Quizzes

The midterm and final quizzes are given in weeks 5 and 11. See the course schedule for exact dates and times. Quizzes are "closed book", but students may prepare a 8 1/2" x 11" sheet of notes to refer to during the quiz. These quizzes may be taken either:

Students who live outside the Eugene/Springfield area can send an email to online@lanecc.edu well in advance of the test dates to arrange for your midterm and final to be proctored at a location near you.

Code Reviews

Students will work in groups of two or three, to review the beta versions of each other’s lab assignment solutions. The code review does not affect the grade of the student whose work is being reviewed. Students will use the feedback provided on the code review form to revise their code prior to submitting the production version of their software solution.

Academic Honesty

While students are encouraged to discuss labs and to use each other as resources, each student is responsible for his/her own work. In other words you can help each other, but you can’t copy any part of someone else’s work. The end product must be each student’s own individual work.

Participation and Attendance

While participation and attendance are essential to succeed in this class, they will not be graded.

No Show Drop

The college’s “no show, drop” policy requires that: during the first week students must complete at least one activity (a quiz or assignment) otherwise the student will be dropped from the class.

Late Work

Accessibility and Campus Navigation

Center for Accessible Resources

Lane Community College (LCC) is dedicated to providing inclusive learning environments. The Center for Accessible Resources (CAR) coordinates all academic accommodations for students at LCC. If you anticipate or experience academic barriers due to a disability, to request assistance or accommodations, contact the Center for Accessible Resources.

In-Person Services: Monday and Thursday, 9:00am - 12:30 and 1:30pm - 3:00pm. Location: Main Campus, Building 19, Room 263A

Remote Support through Support Hub: Monday - Thursday 9:00am12:30 and 1:30pm3:00pm. Enter the Support Hub by going to lanecc.edu/hub. Wait for a Lane staff to let you into the Zoom.

Phone: Voice, (541) 463-5150 TTY: 711, MondayFriday 9:00am12:30pm and 1:30pm3:00pm. Email: AccessibleResources@lanecc.edu

For upcoming closures, please visit the Center for Accessible Resources webpage

Campus Location and Maps

Schedules

Academic Calendar for Fall Term 2024

EventDate
Fall term classes begin9/30 Monday
Last day to receive refund10/7 Monday
Veteran’s Daycollege closed11/11 Monday
Last day for schedule changes11/22 Friday
Thanksgiving Vacation – college closed on Thursday and Friday11/2812/1
Final exam12/10 Tuesday

View academic calendars on the LCC web site.

 

Weekly Learning Activities

 

Tentative Course Schedule

WeekTopicLearning Activities
1
9/30
Intro to JavaScript:
algorithms, variables, and data types
Reading quiz 1
Beta version of lab 1
2
10/7
Functions, Expressions and Operatorslab 1 code review
Reading quiz 2
Production version of lab 1
Beta version of lab 2
3
10/14
Selectionlab 2 code review
Reading quiz 3
Production version of lab 2
Beta version of lab 3
4
10/21
Repetitionlab 3 code review
Reading quiz 4
Production version of lab 3
Beta version of lab 4
5
10/28
Midterm Quizlab 4 code review
Production version of lab 4
Term project proposal
Midterm quiz:
- In the classroom on 10/31
- In the testing center 10/31 through 11/2
6
11/4
ArraysReading quiz 5
Beta version of lab 5
7
11/11
Objectslab 5 code review
Reading quiz 6
Production version of lab 5
Beta version of lab 6
8
11/18
Document Object Model and Eventslab 6 code review
Reading quiz 7
Production version of lab 6
Beta version of lab 7
9
11/25
Regular Expressions
Term project completion
Thanksgiving vacation 11/28
lab 7 code review
Reading quiz 8
Production version of lab 7
Beta version of lab 8
10
12/2
Review and term projectTerm project
Extra credit lab
11
12/9
Finals weekFinal quiz:
- In the classroom on 12/10
- In the testing center 12/1012/12