This course is a special pilot offering of COMP 426. The instructor reserves to right to make changes to the syllabus. Any changes will be announced as early as possible. Check the course site regularly for updates and announcements!
Term: Spring 2025
Instructor: Ajay Gandecha
Section: In-Person, MWF 10:10a-11:00a in Sitterson Hall SN014.
This special, pilot section of COMP 426 introduces students to the fundamentals modern, full-stack web development with an emphasis on today’s best practices, modern tooling, and leading industry-prevalent frameworks.
Prerequisites: C or better in COMP 211 and COMP 301.
The goals of this course is for students to:
The course website (https://comp426-25s.github.io/) contains all of the primary resources we will use throughout the semester. There is no textbook for this course - instead, we will distribute readings, reference material, documentation and tutorials via the course website (see Grading: Readings).
COMP 426 will meet in-person MWF from 10:10am-11:00am in SN014. Attendance in-person is required and is a graded component of your final grade! Being present in-class each lecture enables you to critically engage with the material, build relationships with your fellow classmates, ask questions, and deepen your understanding. For the same reason, office hours will also be exclusively in-person.
We understand that life happens! Each student is permitted to be absent for up to three (3) lecture meetings without any penalty, prior approval, or instructor notification, regardless of absence type. University approved absences do not count towards these three. After three missed lectures, absences will count against your in-class activities and participation grade unless they are university approved absences.
Most lectures will also be recorded and posted to the website.
COMP 426's team of teaching assistants will host office hours regularly throughout the week! These hours will be posted on the course website. To get help, create an office hours ticket on the "Office Hours" tab of the CSXL website.
Steps:
csxl.unc.edu
.Please note that TAs reserve the right to turn you away if you do not create a ticket in the office hours system! Asking for help through this system ensures fairness and that nobody skips the line. Also, there may be limits on the number of tickets you can create in a 24hr period.
If you have questions about course materials or assignments, please see the TAs in office hours! Please do not email TAs after hours directly unless explicitly told to!
If you have a question about course logistics (not including assignment help) or would like to make a meeting with me (the instructor), please reach out via email and I would be happy to set up an appointment time with you!
COMP 426 will follow the following grading scale:
A | A- | B+ | B | B- | C+ | C | C- | D | F |
---|---|---|---|---|---|---|---|---|---|
100 - 93 | 92 - 90 | 89 - 87 | 86 - 83 | 82 - 80 | 79 - 77 | 76 - 73 | 72 - 70 | 69 - 60 | 59 - 0 |
In cases of fractional points, grades will be rounded up if greater than 0.4999999999…
The course grade will be calculated with the following breakdown:
Component | % of Final Grade |
---|---|
Attendance / Participation | 10% |
Midterms | 20% |
Readings | 10% |
Coding Assignments | 30% |
Final Project | 30% |
As emphasized in the modality portion of the syllabus, this course meets in-person three times a week. There will be an attendance check each lecture graded on completion - so, attendance grades are earned simply by showing up each week.
As noted in the modality section, each student is permitted to be absent for up to four (4) lecture meetings without any penalty, prior approval, or instructor notification, regardless of absence type (university approved or otherwise). After four missed lectures, absences will count against your participation grade unless they are university approved absences.
There will the two midterms throughout the semester, each worth 10% of your overall grade. These midterms will be on paper and closed-book. Students will have the full 50 minutes of class time to work on the exam. Midterm exam dates are tentatively:
Note: The these dates are subject to change.
Students with ARS accommodations should reach out to the instructor many weeks in advance to arrange taking the exam at the ARS testing center.
We will periodically have assigned reading assignments paired with GradeScope questions throughout the semester. These reading assignments may be written by the instructor or link to external resources. Readings provide a great way to deepen your understanding with content while also practicing reading technical documentation, an essential skill for software engineers. Most reading assignments will include at most 10-20 questions.
We will have numerous coding assignments throughout the semester. The details about each coding assignment will be posted on the course website. Grading criteria for each assignemnt will be provided with the assignment instructions.
The final project for COMP 426 will involve the creation of a substantial full-stack web application with a small team (~4 students) using all of the skills and tools you have learned throughout the semester. Grading criteria and specific instructions for the final project will be posted on the course website.
In lieu of a final exam, students will present their projects during the course's scheduled final exam period.
Regrade requests for midterms and other manually graded assignments are open for 48 hours following the release of the grade. If you missed any of the points on a given assignment, review your work when grades are posted and understand the marks you missed. This will raise your comprehension and mastery of the material. In the event we grade your work improperly, select the specific question on Gradescope and submit a regrade request. If there are multiple questions, submit one request per question. Do not use regrade requests to ask why something is wrong - please come ask us in office hours!
Any in-person lecture work will be due at the end of lecture and handed in to the instructor and/or UTAs on staff. All other assignments (including readings and coding assignments) will have an 11:59pm deadline on their respective due dates.
Assignments with 11:59pm deadlines will have late periods. The late period for assignments is 48-hours, and submitting during this late period will cause a 15% deduction. To ensure fairness to everyone, as emergencies may arise, we will drop three late penalties. This penalty drop does not impact zeroes, only penalties for assignments handed in late.
Software engineering in industry, including full-stack web development, involves a significant amount of collaboration. We want to emphasize building teamwork and technical collaboration skills in this course. Therefore, we will assign some group projects in addition to individual projects. On all assignments, working with others and collaborating with course staff (TAs and the instructor) is encouraged unless explicitly stated otherwise, with the following caveat:
Collaboration on submitted work in this course should cite all collaborators clearly and distinctly!
In addition, collaboration is prohibited during midterm exams.
Note that we encourage the use of Generative AI to help explain concepts to you and to provide meaningful examples that help you better understand and apply the material. However, do not submit copy-pasted code generated using AI on assignments! You must understand and be able to explain any code snippet, derivation, or generated code you make use of in your work. For example, you do not need to cite an example usage found in a Python package imported into a project. However, you do need to cite an example usage found in StackOverflow, generated through ChatGPT, Github Copilot, or similar sources.
The team reserves the right to, at any time, ask you to submit to a “code review” test with them. We may ask you to meet to explain any line of code or decision made in your program. Using code, even if cited, that you do not understand and cannot explain is intellectually dishonest and a lost learning opportunity for you. Thus, you should be able to comfortably explain the code you hand in for credit. Should you be unable to do so, your grade will be penalized for the assignment in question and you may be taken to honor court depending on the severity of the infraction. We appreciate your cooperation with this policy!
The instructor and the undergraduate teaching assistant team value the perspectives of individuals from all backgrounds reflecting the diversity of our students. We broadly define diversity to include race, gender identity, national origin, ethnicity, religion, social class, age, sexual orientation, political background, and physical and learning ability. We strive to make this classroom an inclusive space for all students. Please let us know if there is anything we can do to improve; we appreciate suggestions.
Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Please contact the Director of Title IX Compliance (Adrienne Allison – Adrienne.allison@unc.edu), Report and Response Coordinators in the Equal Opportunity and Compliance Office (reportandresponse@unc.edu), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (gvsc@unc.edu; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.
CAPS is strongly committed to addressing the mental health needs of a diverse student body through timely access to consultation and connection to clinically appropriate services, whether for short or long-term needs. Go to their website: https://caps.unc.edu/ or visit their facilities on the third floor of the Campus Health Services building for a walk-in evaluation to learn more. (source: Student Safety and Wellness Proposal for EPC, Sep 2018)