Course Information

This course is an introduction to programming. We will be using JavaScript as the programming language for practicing, but this is not a course on creating web sites with JavaScript.

Course No. 10-152-119
Session 8 Weeks
Campus Truax
Description Teaches the basic concepts of programming using the JavaScript language. Topics include: embedding JavaScript in HTML, event-driven programming techniques, program control logic, and an introduction to object-oriented programming.
Credits. 3
Instruction Mode Online
Pre-requisites Website Development 10-152-120
Textbook Javascript - Absolute Beginner's Guide by Kirupa Chinnathambi
Supplies Computer
Editor
Browser
Backup mechanism, Google Drive, OneDrive, External hard drive, etc

Course Objectives

Upon successful completion of this course, the student will be well versed in:


Class Software


Backups

It is the student’s responsibility to backup all course materials, project files, and lab files during the semester. External hard drives are fairly reliable but they can fail. Students need to make sure that their work for this course is backed up in at least 2 additional locations. The failure or loss of your external hard drive will not be an acceptable excuse for late work. We will discuss backup strategies in class.


Source Code Confidentiality

Course materials in this course, including source code for project and lab solutions, must be kept confidential between you and your instructor. Except where specifically noted by the instructor. Posting any materials from the course to a public or private online repository is strictly forbidden and will be treated as plagiarism by the college. This is a violation of the standards of academic integrity as specified in the Madison College Student Rights and Responsibilities. Any website that allows sharing of code, such as GitHub, Bitbucket, GitLab, Cloud 9, etc., comes under this rule. Because of the large implications of posting project solutions to the internet, actions of this nature will be dealt with very seriously.


Academic Integrity

Madison Area Technical College places a high value on the learning experience. As members of the college community, you are obligated to conduct your work with honesty and integrity. Plagiarism and cheating are serious offenses and may be punished by failure on a project, test or assignment, failure in the course, and or expulsion from the college. For more information refer to the “Student Code of Conduct” policy in the student catalog.

As software developers, it is common and encouraged to consult with peers (and internet sources) for help debugging and problem-solving. However, such consultations should not involve direct copying of other’s code. Copying another person’s code is considered plagiarism and will be dealt with following the Academic Integrity Policy.


Artificial Intelligence (AI) and Searching the Internet

Searching the internet and using AI is a skill that developers rely on. Learning to use these tools responsibly and ethically is an important part of that skill. It is critical to understand the following:

  1. The quality of a tool’s output directly correlates to the quality of your input or “prompt”.
  2. All large language models have a tendency to make up incorrect facts and fake citations, code generation models have a tendency to produce inaccurate outputs, and image generation models can occasionally come up with highly offensive products. The current AI models will confidently reassert factual errors.
  3. You should assume outcomes are wrong unless you cross-check the claims with reliable, credible sources. You are responsible for any errors or omissions. Fact-check all of the AI outputs.

Like any other resource, the use of AI should be acknowledged in your code as a comment or in your reflection note in Blackboard. Be sure to explain which AI tool or website you used and how you used it. Include the prompts you used to get the results, or the website link you used, if applicable. Failure to do so is in violation of College and Program academic integrity policies. Use these tools as resources, but do not let them supplant your own knowledge. You should be prepared to double check anything you get from these tools. Be sure that any generated code you use for reference uses the concepts and techniques covered in the course materials. Make sure you fully understand and can explain every part of that code.

Examples

In the following, assignment means “lab, exercise, project, checkpoint (quiz or exam), or any other work submitted for evaluation”. These examples are not exhaustive; if you have a question about proper use, please ask.

Use that IS OK

  1. You use a tool to study for exams, quizzes, and other assessments by providing prompts to the tool and review the output.
  2. You use tools to explore the capabilities and potential uses of AI in an area of interest.
  3. You use a tool to translate or explain a phrase or concept.

Use that is NOT OK

  1. You type a prompt into a tool and copy all or part of the generated content (e.g., text, code, images, solutions) into your lab, exercise, project, checkpoint (quiz or exam), or any other assignment submitted for evaluation.
  2. You provide a tool with all or part of the prompt for an assignment and paraphrase or otherwise adapt all or part of the generated content into your response/code without proper attribution of the tool.

A final note: other instructors may have a different policy on AI and internet use. Be sure to consult with your instructor if you have any questions about what is acceptable in the classes they teach.


Attendance

Online

There is no attendance requirement for online sections

!!! Warning "Missing an examination without notifying the instructor and without a satisfactory excuse will result in an automatic zero on the exam."

Withdrawal Policy

If a situation arises that prevents successful completion of this course, it is your responsibility to formally withdraw from this course. You may withdraw from a class until class is 90 percent complete. After that, the instructor is responsible for giving you a grade. If you need to drop this course it is best to do so through myMadisonCollege or you may contact the Enrollment Center at 608-246-6210 and fill out the form.


ADA (Americans with Disabilities Act)

Madison College welcomes students with disabilities into the College’s educational programs. Every Madison College campus has Disability Resource Services available for students with disabilities. The Disability Resource Services website provides specific information related to accommodations for disability-related barriers. For further information, please visit https://madisoncollege.edu/disability-resource-services, call 608- 246-6716 (Students who are deaf should use relay) or email [email protected]

To receive consideration for reasonable accommodations for your disability, you must contact the Disability Resource Services office at the campus where you are officially enrolled. If approved for accommodations, Disability Resource Services will provide you with an accommodation plan.

Please share your accommodation plan with me and discuss your approved accommodations as early in my class as possible.


Madison College Counseling Service

The Madison College Counseling Service is available to provide aid and advice. Experienced counselors will try to help or put you in touch with others who can. This is a free service for all students. Learn more at https://madisoncollege.edu/counseling.


Class Time

Online sections

This is an online class, and therefore there is no class time.


Learning Units

There will be five Learning Units during the semester. The labs, exercises, and projects for each unit will be downloaded from Blackboard.

Labs

Exercises

There are several exercises included in each Learning Unit. These are addition practice. They are very similar to the labs, but will be a bit more complicated. If you want to really learn the material, do the exercises too. I won't be checking these, but I do encourage you to do them.

Quizzes

Projects

Each Learning Unit contains one project that consist of multiple parts. Projects will be worked on individually and completed outside of class.

!!! Warning "Projects are required" All projects must be completed in order to pass the course. There are 5 projects. One for each learning unit. Failure to submit a project will result in a failing grade. There will be no exceptions.

Grading Criteria
Compliance to the course coding standards
Submitted on time (see below for late penalties)
Logical correctness and completion of planning lists, test plans, and comments. Comments within each program must be descriptive and reasonable.
Coding correctness, this includes following coding practices discussed and demonstrated by the instructor.
Conformation to project specifications. If project specifications are misunderstood, this still is graded as incorrect program output with the consequences outlined below. Be sure to read specifications carefully, and ask clarifying questions.
Correct Output. All project output must be 100% correct for a project to receive full credit.

Project grading rubric


Project Submission

Projects must be submitted via the "Project Submission" area in the course Blackboard site. This will be demonstrated in class. There is also a video in Unit 1 Videos demonstrating the submission process. Projects will not be accepted by email or in person. .

Project resubmission

Having students understand the material in this course is my prime objective. In order to facilitate that, project resubmissions will be allowed. After a project has been graded, it may be resubmitted with corrections. It must be submitted within 7 days of the orignal day it was graded. Up to 50% of the points deducted from the orignal grade can be earned. One resubmission will be allowed.

Project Late Penalties

There are no late penalties. Please get projects in on time. With the short nature of a summer course, getting behind will end up hurting you in the long run.

!!! Warning "Unit 5 must be turned in on the due date. There will be no credit for late projects"


Exams

There are two exams in this course, each is worth 100 pts. Your total exam score must be a passing grade to pass the course. That means, you must get at least 60% of the cumulative points on the exams or you will fail the course.

The first exam will cover material from Learning Units 1 – 3; the second exam will cover material from the entire course. Exams are closed book, closed computer, closed notes. They will be a mix of different kinds of questions: multiple-choice, fill in the blank, write JavaScript programming statements, etc.

There will be no make-up exams without prior notice and agreement by your instructor. Makeup exams will be subject to late point penalties of two points per day late.

Special course policy regarding exam scores: Regardless of the total number of accrued points, the final letter grade issued in this course may only exceed the exam score average by one letter grade interval. Thus, it is important to do your own work on the project portion of the Learning Units and thereby learn the course material very well, so that you can do well on the two exams. There will be no exceptions made to this special course policy.

Course Points

Points Possible Percent
^^Projects^^ 210 45%
- Project 1 40
- Project 2 40
- Project 3 40
- Project 4 40
- Project 5 50
^^Weekly Quizzes^^ 55 12%
^^Exams^^ 200 43%
- Exam 1 100
- Exam 2 100
Total 465 100%

IT Grading Scale

Grade Percentage
A 92.0 -- 100
AB 88.0 -- 91.9
B 82.0 -- 87.9
BC 78.0 -- 81.9
C 70.0 -- 77.9
D 60.0 -- 69.9
F 00.0 -- 59.9

Due Dates

Summer 2023

Learning Units

These are the suggested dates that the learning unit is expected to covered. It should help you plan out your work for labs and projects.

Learning Unit Weeks Modules Dates
Unit 1 Weeks 1-2 1-3 6/17 - 6/30
Unit 2 Weeks 3 4-5 7/1 - 7/7
Unit 3 Weeks 4-5 6-8 7/8 - 7/21
Unit 4 Weeks 6 9-11 7/22 - 7/28
Unit 5 Weeks 7-8 12-15 7/29 - 8/8

Labs

Labs are due as you get them done. Please have them reviewed as you complete them. It's best to, if you can, to do that weekly. That way you will be keeping up with the work and not get behind when it comes time for the project work. The summer session is an accelerated semester. It goes fast, so keeping up is even more important. Use the dates above to plan on when the latest suggested date for labs are. I typically will not provide feedback on labs if they are turned in at the same time or after the project is turned in. There isn't much sense in getting feedback on labs, when you've already started or completed the project. The labs are intended to be the formative work leading up to the project.

Definition: The goal of formative assessment is to monitor student learning to provide ongoing feedback that can be used by instructors to improve their teaching and by students to improve their learning

Projects

Projects are due the Sunday after the learning unit has ended. With the exception of Unit 5.

Learning Unit Date due
Learning Unit 1 Sunday June 30
Learning Unit 2 Sunday July 7
Learning Unit 3 Sunday July 21
Learning Unit 4 Sunday July 28
Learning Unit 5 Thursday August 8

!!! Warning "Unit 5 must be turned in on the due date. There will be no credit for late projects"

Quizzes

Quizzes can be done anytime. But, it's in your best interest to complete them as you complete a learning unit. They are intended to reinforce the material to ensure you have grapsed the key concepts. Not all concepts, but the ones that I feel need to be highlighted.

Exams

Exam Date due
Mid-term Exam July 8-17
Final Exam August 3-8