Syllabus

Course CSCI 344: Advanced Web Technology
Term Spring 2026
Professor Dr. Sarah Van Wart (she/her)
Email svanwart@unca.edu
Office Hours MWF 3:30pm - 4:30pm, RRO 220
Class Time / Location MWF 2:00-3:15PM, WHI 008
Prerequisites CSCI 201 or instructor permission
Notes One year of programming experience is strongly recommended

About the Course

What does it take to build a website from scratch? How do designers create web interfaces? How do websites send, store, and leverage different kinds of data? What is a “framework”? This course aims to answer these questions by giving students exposure to the technologies and strategies used by professional web developers in industry. Throughout the semester, students will learn the basics of creating web applications, including building a web server and REST API, setting up a database, designing usable interfaces, and implementing security and authentication measures.

Course Format

The course includes a mix of lectures, in-class activities, tutorials, exams, and homework. It is your responsibility to keep up-to-date on class material and announcements, as the schedule is subject to change. This includes material presented and announcements made in class, via email, or on Moodle.

Class Participation and In-Class Exercises (10%)

We will use our scheduled class time to go over web development and programming concepts, do practice problems together and make sure your questions get answered. Class meetings will be in person. Organizationally, most topics will span about a week (see the course schedule). Most class sessions have accompanying readings.

  • I will take attendance during every class session. You may miss three class sessions – no questions asked – without a grade penalty. Any additional absences (beyond the three “freebies”) will impact your participation grade (and more to the point, your capacity to productively engage with the class).

Tutorials (20%)

Most Fridays, we will complete a coding / design “tutorial.” Tutorials are intended to help you:

  1. Become familiar with the types of strategies you might use to approach problems (which will be closely related to the homework).
  2. Get comfortable writing lots of programs (practice makes perfect!)
  3. Assess what you know and don’t know, so that you can make a plan to review various ideas and/or attend office hours.

Exams (35%)

There will be 3 exams, which are intended to ensure that you understand the programming and web-related concepts relevant to the course.

Homework (35%)

You will be given regular homework assignments that are intended to give you additional practice with the course ideas beyond the tutorials. They are each designed to take between 6-8 hours to complete, so leave yourself enough time!

Expectations

  • You will come to class prepared and ready to engage in an intellectual discussion about the readings and concepts.
  • You will complete all assignments on time and with interest, engagement, and intellectual curiosity.
  • You will bring your unique expertise, perspectives, and experiences to class and share them with others, so that we might all gain from your perspectives.
  • You will respect and seek to understand the unique perspectives and experiences of others.
  • You will give your classmates the benefit of the doubt (about their competence and intentions) and can expect the same from them.
  • All work that you submit will be your own original work; you will cite others’ work where appropriate.

Course Materials & Resources

Software

As this is a programming course, you will be using the free software programs listed below. This software will take about 3-4GB of space to install. Installing and configuring programming software can be a hassle, but it is part of the process of developing your working computing knowledge. I will help you.

Course References

I have compiled a list of web-based reference materials on the course website:

Before each class, you may be assigned some videos, readings, or tutorial links from this resource guide, which will cover specific concepts and ideas that we will be practicing during lecture. Please set aside time to review these materials, as they will make the assignments easier!

Getting Questions Answered

Office Hours

My office hours are every Monday, Wednesday, and Friday from 3:30-4:30PM. All questions are welcomed, including (but are not limited to):

  • I don’t know where to start in this week’s homework. Can you help?
  • My GitHub repo is broken – help!
  • My code’s not working. How do I debug it.
  • I didn’t understand X idea in lecture / tutorial this week. Can we discuss it?
  • What courses should I take next after CSCI 344?
  • What kinds of web-related careers and opportunities are out there?

You may also talk to me about concerns about your progress in the course, personal matters related to your participation in the course, larger grade concerns, advice about future courses, majors and internships, etc.

Grading

Your course grade is calculated based on homework, exams, tutorials, and attendance / participation:

Attendance & Participation 10%
Tutorials 20%
Exams 35%
Homework 35%

Final grades are assigned on a fixed scale: 93-100 is an A, 90-92.99 is an A-, 87-89.99 is a B+, etc. Final course grades will not be rounded or curved.

NOTE: Leniency is built into the course

  • You can drop your lowest tutorial score.
  • You may miss three class sessions without your participation grade being affected.
  • You may resubmit assignments with a 10% penalty.

Use this leniency wisely. I will not grant additional exceptions unless the circumstances are exceptional, and this will need to be done in coordination with Dean of Student’s office.

Homework Grading

Homework will be due approximately every other week at 11:59pm on the specified date. Homework will be graded according to a published rubric that will be given when the assignment is released.

Late Policy

Homework assignments must be submitted before the due time. Late work will be accepted within 2 weeks of the due date/time, with a 20% late penalty. No homework will be accepted beyond the 14 day cutoff.

Tutorial Grading

Tutorials will be graded according to the following scale (from 0-3 points):

0pts Not attempted
1pt Check Minus
2pts Check
3pts Check Plus

Tutorials are due at the midnight following the next class meeting. For instance, if the tutorial was assigned on Friday, it is due at midnight the following Monday unless otherwise specified. I do not accept late tutorials.

Exams

There will be 3 exams over the course of the semester. The purpose of these assessments is to ensure that you understand the programming and design concepts that we have been studying. The final exam will happen during the scheduled final exam time slot.s

Regrading Policy

I have been known to make the occasional grading error. If you have any grading questions/concerns, please email me within a week to resolve the issue.

Course Policies

General

  • No food, no drinks, and no water inside the classroom. If you need to eat or drink, please step outside the classroom (away from the computers) to do so.
  • Be respectful of others during classroom discussions and presentations.
  • We may have the occasional remote class session. We can decide as a class how we want to do that.

Academic Honesty

In the past, there have been a few unfortunate instances in which students have presented work other than their own. Here are some guidelines to help you understand what is and is not appropriate”

Tutorials

Helping other students with their in-class tutorial code is allowed and encouraged, but each student should type their own solution unless otherwise specified in the tutorial instructions.

Homework

You are allowed and encouraged to discuss general approaches to solving problems, but all work you submit must be your own. Working “together” and presenting variants of the same file is not acceptable. Here are some specific guidelines to make sure you don’t cross the line:

  • Do not exchange programs or program fragments in any form – on paper, via e-mail, or by other means.
  • While working with other students, it is perfectly acceptable to ‘look’ at each other’s code (perhaps while helping someone to debug), but you should NEVER be scribing (typing or writing) your own work while looking at someone else’s (on a computer screen, paper, whiteboard, etc.).
  • Uploading materials from this course to websites that sell such content to students is prohibited by UNCA’s academic integrity policies, and may also put you at risk for violating copyright policies in UNCA’s Student Conduct Code.

Generative AI Policy

This course is designed to build foundational programming skills, especially functional and event-driven programming. While generative AI tools can be useful for learning, over-reliance on AI-generated code can weaken these skills and make later courses more difficult. For that reason, this policy sets clear boundaries for appropriate AI use.

What Is Allowed

You may use generative AI tools (e.g., ChatGPT) as a reference, similar to documentation or a textbook. Examples include:

  • Looking up programming concepts or syntax
  • Getting explanations of how functions or methods work
  • Understanding error messages and debugging ideas
  • Learning best practices or common coding patterns

AI may help you understand code, but you must write all submitted code yourself.

Rule of thumb: If you could not reasonably reproduce the solution without referring back to the AI’s output, then the use is not permitted.

What Is Not Allowed

You may not use generative AI tools to:

  • Generate any assignment-specific code, including small snippets, helper functions, or scaffolding
  • Solve coding exercises or assignment problems
  • Write functions, components, or other substantial code blocks
  • Provide solutions that you then modify and submit

All code you submit must be your own. Copying, pasting, or adapting AI-generated code is considered academic dishonesty.

Code Editor AI Tools

You must disable AI-powered code completion and generation features in your code editor (e.g., GitHub Copilot, Copilot Chat, Cursor, Tabnine, Codeium) while working on course assignments.

It is your responsibility to ensure these features are turned off before beginning work. Accidental use still counts as a violation, even if you only accept a few suggestions. If you are unsure how to disable these tools, please ask for help.

Disclosure and Learning-Based Resolution

If you believe you may have violated this policy unintentionally, or you are unsure whether a particular use of AI crossed the line, you must contact me before submitting the assignment.

In many cases, early and honest disclosure allows us to resolve the issue in a learning-focused way, such as revising the work, completing an alternative assignment, or discussing appropriate AI use – without triggering formal penalties.

This disclosure pathway does not apply to cases of intentional misuse, repeated violations, or undisclosed AI use discovered after submission. Once an assignment is submitted, any undisclosed violations will be handled according to the enforcement policy below.

If you are unsure, ask. Reaching out early is always the better option.

If You Are Struggling

If you are stuck or confused, please reach out or attend office hours. This policy exists to support your learning – not to catch mistakes – but it will be enforced to protect the integrity of your education.

Enforcement

  • First violation: Grade of 0 on the assignment and a required meeting
  • Second violation: Grade of F in the course

All violations will be handled according to the university’s academic honesty policy and reported to the university administration.

Using the Broader Web

You are encouraged to explore tutorials, documentation, and examples from the broader web. However:

  • You must acknowledge all sources that contribute to your work
  • All submitted code must be written by you
  • Copying code from Stack Overflow, GitHub, or other sources without proper understanding and attribution is not acceptable

If you have questions about what is appropriate, contact Sarah Van Wart.

Class Cancellation Policy

If a class meeting is canceled or due dates are moved due to inclement weather or any other reason, I will inform you via campus email (ending with unca.edu).

University Policies

Office of Accessibility & Academic Accommodations

UNC Asheville is committed to providing an inclusive experience, accessible learning environments and equal opportunity to individuals with disabilities in accordance with the Americans with Disabilities Act (ADA) and Section 504 of the Rehabilitation Act.

If you are a student experiencing barriers to access or full participation in this course on the basis of a disability, contact the Office of Accessibility to apply for reasonable accommodations and discuss available resources. You may contact the Office of Accessibility at academicaccess@unca.edu or 828-251-6292.

Students are responsible for discussing their Letter of Accommodations (LOA) with their faculty. Students and faculty are encouraged to discuss the LOA as early in the semester as possible to allow for extended access to accommodations. However, students may disclose a disability at any point in the semester. Accommodations are not retroactive and are activated when the LOA is discussed.

Promoting Gender Equity, Addressing Sexual Misconduct

UNC Asheville is dedicated to cultivating and maintaining a safe, respectful, and inclusive environment, free from harassment and discrimination. We strive to ensure that all have equal access to the educational and employment opportunities the University provides. If you or someone you know has been affected by sex-based harassment or sexual misconduct, including sexual assault, dating or domestic violence, or stalking, please know that help and support are available. UNC Asheville strongly encourages all members of the community to take action, seek support, and report incidents of sexual harassment to the Title IX Office. You may contact the Title IX Office or Heather Lindkvist, the Title IX Coordinator, directly at 828.232.5658 or via titleix@unca.edu or learn more by visiting the Title IX website.

As a faculty member, I am a “responsible employee” and private resource. This means that if you share any information or discuss an incident with me regarding sexual or gender-based harassment, I must disclose this information to the Title IX Coordinator. Our goal is to ensure you are aware of the range of options available to you and have access to the resources you may need.

If you wish to speak with a confidential resource, contact University Health and Counseling Services at 828.251.6520. Off-campus confidential resources include Our Voice (24-Hour Hotline at 828.255.7576) and Helpmate (24-Hour Hotline at 828.254.0516).

Academic Alerts

Faculty at UNC Asheville have access to an Academic Alert system. The purpose of this system is to support communication with students about their progress in courses, especially if there are concerns (e.g., academic difficulty, attendance problems). Professors use the Alert system because they are invested in their students’ success. Entering an academic alert is a great way to supplement open conversations between instructors and students about how students can improve their academic performance.

When a faculty member submits an alert that expresses a concern, the student receives outreach from their academic advisor or the team in the Office of Academic Advising. Students are no longer receiving automated notification emails when an alert is submitted. It is in the student’s best interest to address the alert quickly, as students who do so are more likely to earn credit for the course. Questions about the Academic Alert system can be directed to Anne Marie Roberts (amrober1@unca.edu) in the Academic Success Center.

Mental Health Support

As a student, you may experience a range of challenges that can interfere with learning, such as stressful life events, experiences of anxiety and/or depression, self-harm, substance use, and/or unusual difficulty with ordinary life activities. The increased stress of school can also make existing mental health struggles more difficult to manage. Support is available and treatment can help. Learn more about the confidential mental health services UNC Asheville provides to support student success at https://www.unca.edu/life/health-counseling/.

The Health and Counseling Center is located at 118 W.T. Weaver Boulevard. Appointments can be made by calling 828-251-6520. A UNC Asheville counselor on call is available after 5 p.m. and on weekends; the counselor on call can be accessed by calling the UNCA Campus Police dispatcher at 828-251-6710. Additionally available after hours and on weekends, call the Bulldog Health Link at 1-888-267-3675, where you can get immediate support for mental health, medical consultation, concern for a friend, and/or community resources. In case of an emergency, you can also call RHA’s Mental Health Mobile Crisis Unit at 1-888-573-1006.

Loading quiz...

UNC Asheville Department of Computer Science