Syllabus for fall 2024
Class | Instructor | |||
---|---|---|---|---|
Course Number | CS 133JS | Name | Brian Bird | |
CRN | Hybrid (on campus) 21547 Online 21548 | birdb@lanecc.edu | ||
Day & Time | T, Th 10:00‐11:50 | Office Hours | M—Th 4:00–4:50 | |
Room | Building 19, Room 128 Zoom meeting | Room | Building 19, Room 152 Zoom meeting |
Course DescriptionLearning OutcomeCourse ContentLearning ResourcesTextbook Online ResourcesLearning Management SystemWeb ServerCourse MaterialsSoftwareSoftware Required for Lab AssignmentsFree and Discounted Software for StudentsComputer Lab and TutoringCIT Computer Lab and In-Person TutoringOnline TutoringAssessment and GradingQuizzesCode ReviewsAcademic HonestyParticipation and AttendanceNo Show DropLate WorkAccessibility and Campus NavigationCenter for Accessible ResourcesCampus Location and MapsSchedulesAcademic Calendar for Fall Term 2024Weekly Learning ActivitiesTentative Course Schedule
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.
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.
Main Concepts | ||
---|---|---|
Programming languages | Compilation and interpretation | Dynamic and strong typing |
Variables and scope | Operators and expressions | Functions: parameters and return values |
Control structures | Event handling | Pre-defined objects |
Cross-Cutting Concepts | ||
---|---|---|
Internet technologies | Dynamic and static web sites | Client-side and server-side code |
Syntax, semantics and style | Communication | Giving and receiving feedback |
Tools and Technologies | ||
---|---|---|
JavaScript / ECMA Script | Debugger | Web browser DOM |
FTP client | Code editor | Browser 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. |
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.
Moodle is the Learning Management System (LMS) used for this course; LCC’s Moodle site is at: classes.lanecc.edu.
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.
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.
All of the software required for this class is free. You can use any operating system: Windows, Mac OS, or Linux.
You will need to download these applications and install them on your computer. They are already installed on the computers in the classroom.
A code (text) editor to create and edit your web pages and JavaScript files. Visual Studio Code is a free editor that can be downloaded and used on Windows, OS X (Mac OS) or Linux.
At least two modern browsers to view/test your web pages. The latest versions of Chrome, and Firefox are good options. Many other browsers like Safari, Opera, and Edge, are also suitable for your use in this class.
An ftp client to upload your web pages to citstudent.lanecc.edu. FileZilla is a free ftp client that can be downloaded and used on Windows, OS X, or Linux.
Microsoft Word (see the free Microsoft Office offer below) or a word processor that is compatible with Word, like the free, open source, Libre Office.
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.
Azure Dev Tools for Teaching (previously known as Microsoft Imagine Premium, Dream Spark, and MSDNAA) is a subscription-based offering, paid for by the LCC CIT department, providing access to professional development and design tools, software, and services from Microsoft.
Microsoft Office 365 LCC students and staff can get a free subscription to Office 365, which includes Microsoft Word, Excel, PowerPoint, Access, and more.
On The Hub has partnered with Microsoft, Adobe, IBM, Symantec, VMware and other software publishers to offer discounted and free software for students and faculty.
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.
See the LCC Tutoring Services web page for information.
The table below summarizes the possible points for each assessment task as well as the course as a whole:
Assessment Tasks | Points Each | Total Points | Percentage |
---|---|---|---|
Labs 1 - 8 | 40 | 320 | 32% |
Code Reviews* 1 - 8 | 8 | 64 | 6.5% |
Reading Quizzes* 1 - 8 | 8 | 64 | 6.5% |
Term Project | 252 | 252 | 25% |
Midterm and Final Quizzes | Midterm: 100, Final: 200 | 300 | 30% |
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:
+ | - | ||
---|---|---|---|
A | 100 to 98 | 97 to 92 | 91 to 90 |
B | 89 to 88 | 87 to 82 | 81 to 80 |
C | 79 to 78 | 77 to 72 | 71 to 70 |
D | 69 to 68 | 67 to 62 | 61 to 60 |
F | Below 60 |
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:
On-campus In the classroom during the normal class time—primarily for students taking the class in person (hybrid modality).
In the Instructional Testing Center in the Center Building, room 311. See the Instructional Testing Services web site for testing times and procedures—primarily for online students.
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.
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.
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.
While participation and attendance are essential to succeed in this class, they will not be graded.
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.
Grades for lab production versions submitted after the due date will be reduced by 10%.
No late assignments accepted after Tuesday of week 11, finals week.
Code reviews, quizzes and exams cannot be taken after the due date. Plan ahead! Exceptions will only be made for illness or emergency situations.
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:00am–12:30 and 1:30pm–3: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, Monday—Friday 9:00am–12:30pm and 1:30pm–3:00pm. Email: AccessibleResources@lanecc.edu
For upcoming closures, please visit the Center for Accessible Resources webpage
Event | Date |
---|---|
Fall term classes begin | 9/30 Monday |
Last day to receive refund | 10/7 Monday |
Veteran’s Day—college closed | 11/11 Monday |
Last day for schedule changes | 11/22 Friday |
Thanksgiving Vacation – college closed on Thursday and Friday | 11/28–12/1 |
Final exam | 12/10 Tuesday |
View academic calendars on the LCC web site.
Monday
Start the assigned reading
(Take the reading quiz when you finish the reading)
Tuesday
Participate in class (in-person, via Zoom, or watch the Zoom recording).
Complete a code review of last week's lab for your lab partner (starting the 2nd week).
Thursday
Take the reading quiz.
Participate in class.
Submit the production version of your lab work from last week.
Sunday
Post the beta version of your lab for this week.
Week | Topic | Learning 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 Operators | lab 1 code review Reading quiz 2 Production version of lab 1 Beta version of lab 2 |
3 10/14 | Selection | lab 2 code review Reading quiz 3 Production version of lab 2 Beta version of lab 3 |
4 10/21 | Repetition | lab 3 code review Reading quiz 4 Production version of lab 3 Beta version of lab 4 |
5 10/28 | Midterm Quiz | lab 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 | Arrays | Reading quiz 5 Beta version of lab 5 |
7 11/11 | Objects | lab 5 code review Reading quiz 6 Production version of lab 5 Beta version of lab 6 |
8 11/18 | Document Object Model and Events | lab 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 project | Term project Extra credit lab |
11 12/9 | Finals week | Final quiz: - In the classroom on 12/10 - In the testing center 12/10–12/12 |