Syllabus
Tuesday/Thursday, 12:30-1:45 PM, PHY 301
Basics
Instructor: Eugene Wallingford
- Office: EBAR 022 (East Bartlett)
- Phone: 273-5919
- E-Mail: wallingf@cs.uni.edu
- WWW: https://www.cs.uni.edu/~wallingf/
- my schedule, including drop-in office hours
Resources
- There is no required text to purchase. All readings will be available free online and assigned with each week.
- Course web page: https://www.cs.uni.edu/~wallingf/teaching/cs1100/
-
Course mailing list:
cs-1100-01-fall@uni.edu
I will use the mailing list to announce items of interest and answers question. You may also send ideas and questions for the group to see. Note: to send messages to the course mailing list, you must send from the mailing address from which you are subscribed. By default, that is youruni.edu
e-mail address. If you'd like to be subscribed from some other address, you may do so yourself, or let me know.
Computer Resources
- We will be using three kinds of software in class this semester:
-
These resources are available on computers in the CHAS
computing labs:
- Wright 112, a teaching lab that is open to anyone when not being used for class
- Wright 339, a public lab that is rarely closed for classes
- East Bartlett 019, a small general purpose student lounge
- Physics 301, which contains a cart of CHAS laptops for use in class
- All of this software is free. You may also install it on your own laptop or desktop computer. Assistance is available.
-
You have several options for posting your web pages on the
web for the world to see. The
student.cs.uni.edu
web server is available to all UNI students.
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:
- how core web technologies work
- how to create web pages using HTML
- how to style web pages using CSS
- how to add functionality and interactivity to web pages using JavaScript
Course Requirements
- Class sessions. Our class meetings will consist of a mixture of lecture, demonstrations, discussion, and in-class exercises. I will cover topics in class beyond what the readings provide, so attendance is essential whenever possible. I encourage you to read assigned topics prior to the class session and to participate actively in class.
- Homework assignments. Over the course of the semester, you will complete ten (10) homework assignments, generally applying ideas and techniques learned in class. They will occasionally involve extending or modifying code originally developed in class or a previous assignment.
- Exams. We will have two midterm exams during the semester and a small final exam. The final exam will ask you to demonstrate your experience with HTML, CSS, and JavaScript on a real task.
- Final project. There is a final project to be completed by the last day of class.
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:
- 90% or above for an A,
- 80% or above for a B,
- 70% or above for a C,
- 60% or above for a D, and
- below 60% for an F.
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.