Basics | Objectives | Requirements | Evaluation | Policies

Syllabus

Tuesday/Thursday, 12:30-1:45 PM, PHY 301

Basics

Instructor: Eugene Wallingford

Resources

Computer Resources

Course Description and Objectives

This course is an introduction to the "coding side" of web development. You will learn how to build web pages without relying on tools that can do it for you. It is a course for beginners. There are no prerequisites, and no coding background is assumed.

Why is this knowledge useful? Anyone can create a website with WordPress or another content management system in minutes. These tools are incredibly useful, but they limit what you can do. Without knowledge of HTML and how a web page works, you cannot easily change a page to fit your needs. Without knowledge of CSS, you cannot modify a theme. Without understanding the basics of JavaScript, you will not be able to use a universe of free scripts and libraries to add valuable content and functionality to your web site.

Most importantly, knowledge of the technical side of web development opens doors. With this foundation, you will be able to learn other technologies — libraries and frameworks, programming languages, content management systems and the like — use other people's code, and share your own.

What you will learn

"Client-side coding" refers to programs that reside on the user's computer and runs in a web browser like Firefox, Chrome, or Safari (that is, the client). This differs from "server-side coding", which refers to programs that reside on the web server that hosts the site.

Although this course is only an introduction, you will be introduced to many ideas and skills. You will learn:

Course Requirements

Course Evaluation

You will earn your grade based on your performance on homework assignments, midterm exams, and the final project. I assign final grades using the following distribution:

Item Number Weight
In-class exercises ?? 10%
Homework 10 30%
Final project 1 10%
Midterm exams 2 40%
Final exam 1 10%

Grades will be assigned using an absolute scale:

This means that there is no curve. However, I reserve the right to lower the individual grade boundaries at the end of the semester if I think that produces grades that better reflect what studentshave achieved.

Course Policies

Participation in the Course. I try to accommodate student needs whenever possible, but I can only do so if I know about them. If you ever have to make alternate arrangements for a class session, an exam, or an assignment, please contact me, in advance, if at all possible. The safest way to make such arrangements is by notifying me via e-mail or phone of your circumstances and of how you can be reached.

Drop-In Hours. My regularly-scheduled drop-in hours, also known as "office hours", are times when I am committed to provide assistance to you. Each of you is invited to drop in during those times, with any items you want to discuss, no appointment necessary. No matter how busy I may appear when you arrive, drop-in hours are for you. You are encouraged to make use of that time. You can find the drop-in hours for the course on my schedule.

Feel free to stop in my office any time the door is open. I am also available by appointment at other times if you cannot make a drop-in office hour.

Assignments. All assignments are due at their assigned date and time. If you have an issue that interferes with your ability to submit an assignment on time, please contact me as soon as is reasonable. Otherwise, in order to receive partial credit, always submit your best effort by the due time.

Collaboration. I encourage you to work together on homework assignments, as a way to help you understand the problems better and to encounter different points of view. You must acknowledge any collaboration explicitly in the work you submit. However, any work you submit must be your own. Discuss ideas, but write your own answers, including all code. Undocumented or unacceptable collaboration is considered a form of academic dishonesty.

Academic Integrity. UNI has an established policy of academic integrity. Plagiarism and other forms of academic dishonesty will not be tolerated in this course. See the Student Academic Ethics Policy in the UNI catalog for details of the university's policy an procedures.

Use of Tools to Generate Websites. This is a course for learning how to write HTML, CSS, and JavaScript to create websites, not a course for learning how to use programs that generate websites. Therefore, you may not use any AI tools or static site generators to create code for this course.

If you submit code that I think was generated by a tool, I will arrange to meet with you within a week to discuss your submission. If you cannot explain your code or use its technique to solve a different problem of my choosing, or if you do not meet with me within a week, the homework assignment will receive a grade of 0.

Use of Copilot, ChatGPT, and Other AI Tools. Outside of class, you are generally free to use technology without restrictions, unless specified in the instructions on an assignment. In particular, many people find the use of generative AI tools such as Copilot and ChatGPT to be beneficial when studying. For example, if we are learning about a topic and you would like to see more examples than are in the readings and sessions notes, ask the tool for more examples. Or, better yet, ask it for practice exercises.

However, these tools can also be highly disruptive to learning. If you rely on them to produce too much content, or they produce material that you don't understand, then you won't be able to learn the skills and knowledge that are the desired outcomes of this course. Also, please see the Academic Integrity policy above for more. Your work cannot consist of ideas or wording taken from another person or from an AI tool.

Required Syllabus Statements. UNI has a number of university-level policies common to the syllabi of all courses. This course will adhere to all of these policies. Please follow the link to review the Free Speech, Office of Civil Rights Compliance, and Student Accessibility Services statements.

Contingency Plan for Remote Instruction. In the event that we need to switch to remote instruction, class meetings will take place on Zoom. The link will be shared in and email message and with an announcement in the "What's New?" section of the course homepage. If the affected day happens to be an exam day, we will reschedule the exam, and the focus of the class session will be determined at that time.