Course Syllabus
CS 260 - Web ProgrammingSyllabus
This course covers Web Programming at an introductory level with only CS 142 as a prerequisite. You will learn how to write web applications, including both front end and back end code. The primary language used will be JavaScript, along with HTML and CSS for formatting. The back end code will use Node, Express, and a Mongo database. The front end code will use Vue.
By the end of the semester, you should feel comfortable writing and debugging a web application that uses JavaScript on both the front end and back end, along with a database and a REST API.
In addition to pre-defined lab assignments, you will have an opportunity to develop your own web applications through creative projects.
Learning Outcomes
- Use HTML and CSS to design websites that are visually and interactively pleasing, by following web design principles.
- Be proficient with JavaScript and several libraries.
- Use a framework to build the front end of a creative JavaScript web application that includes login, user input, and communication with a back end using a REST API.
- Use Node, Express, and a Mongo database to build the back end of a web application that provides a REST API, including user authentication and basic create/read/update/delete methods.
- Use Git to manage and collaborate on code.
- Setup a web and database server running on a remote virtual machine running Linux and use command line tools to manage the server.
- Register a domain name for your web server and setup separate subdomains for each lab and project you create for the class.
TAs
A TA will be assigned to each student and will grade that student's work for the class. But you may visit with any TA from any section for help. If you think your assignment has been graded incorrectly, please contact the TA assigned to you. If you are still not satisfied, contact the instructor.
Getting Help
We strive to provide you all the help you need to succeed in this course. If you are struggling, please visit us in person. If you need assistance, you may:
-
Use online resources provided throughout the class pages.
-
Discuss your problem with other members of the class. See the collaboration policy below.
-
Meet with a TA or the instructor for help. Office hours are posted on the Office Hours page. TA hours are posted on this spreadsheet
- Join the virtual Help Queue by submitting your name, time you joined the queue, and question
- TAs will meet with students on Discord in the TA Help Queue voice channel. Join the voice channel as you wait, you can discuss your problems with other students as you wait your turn. Join the CS260 Discord
- When it is your turn, a TA will take you into a private voice channel and meet 1:1 with you
Course Materials
There are no textbooks to buy for this class. All materials are online, with links from the course web pages.
To host your web applications, you will need to create your own web server. We will provide instructions for using an AWS cloud server. You can also use a server from Digital Ocean, which provides a low cost plan of $5 per month. You can get $100 of Digital Ocean credit using the GitHub Student Developer Pack.
Computing Environment, Code Editors, and Git
We strongly recommend you use your own laptop if possible to connect to the web server, though you want to be sure it is new enough to avoid causing excessive delays. If your laptop is very old, you should either buy a new one or rent one from BYU.
You will be hosting your code on a virtual Linux machine for this class. As part of this, you will learn to use some of the Linux command line tools and editors.
Regardless of the computing environment and editor you use, you should become familiar with Git and GitHub. Always check your code into GitHub regularly so that you don't lose your code if your machine dies.
Assignments and Grading
The assignments in this class include:
- Homework (10%): These consist of quizzes on material you read outside of class and activities completed mostly in class.
- Labs (30%): Canned assignments to learn skills needed to create and deploy web applications.
- Creative Projects (30%): Web applications you build to demonstrate you have learned how to build web applications on your own. With these applications you have complete creativity to build something that interests you, provided it meets some basic requirements. You will do these with a partner using pair programming.
- Exams (30%): There will be two multiple-choice midterms and a final exam. Each test will be multiple choice type questions in Canvas.
The final assigned grades will use standard grade distributions. I round up.
The class will be organized into a set of units. Each unit (except the first) will consist of three parts:
- Homework: We will start each topic by discussing the technology and working through examples in class. Then you will work on your own to practice the technology and finish the assignment.
- Lab: Next you will do a canned lab assignment where you implement an application according to a specification.
- Creative Project: Finally, you will work in pairs to develop a creative project to demonstrate mastery of the material. You will present creative projects in class.
The most significant predictor of success in this class is to spend consistent time throughout the semester. You should plan on spending around 10 hours per week out of class.
Late Policy
Your labs and creative projects may have 10% deducted if they are late.
Collaboration Policy
All homework and labs must be completed individually. You are encouraged to collaborate as much as possible, including discussing solutions and solving problems together, as long as you do your own work (e.g. do not copy someone else's solution or code directly). Assignments are open to any resources you would like to use except for another person.
You may work on creative projects either alone or with a partner. I strongly advise working with a partner. If you choose to work together, each group will turn in the same assignment and will indicate in every assignment who their partner is. By turning in group assignments you agree that you have participated equally. If you are unable to contribute equally, you should leave the partnership as soon as this becomes evident. You will be most successful in a paired situation with a partner who has roughly equal skills.
Regardless of whether you choose to work alone or in a pair, you are encouraged to discuss solving the labs and any programming problems you encounter generally, but you must write your own code and should not view any other student's code who you are not paired with.
All exams must be completed individually. Midterms are closed note. The final is open to all resources, including your notes and the Internet, but closed to any humans, AIs, or any other method of obtaining help beyond what you know and what you can look up on the web.
University Policies
COVID-19
While COVID-19 conditions persist and until further notice, students and faculty are required to wear masks at all times during class; faculty are not at liberty to waive this expectation. Students who feel sick, including exhibiting symptoms commonly associated with COVID-19 (fever; cough; shortness of breath/difficulty breathing; chills; muscle pain; sore throat; new loss of taste or smell; etc.) should not attend class and should work with their instructor to develop a study plan for the duration of the illness.
Honor Code
In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work. Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another. Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university. Students are also expected to adhere to the Dress and Grooming Standards. Adherence demonstrates respect for yourself and others and ensures an effective learning and working environment. It is the university's expectation, and every instructor's expectation in class, that each student will abide by all Honor Code standards. Please call the Honor Code Office at 422-2847 if you have questions about those standards.
Preventing Sexual Misconduct
As required by Title IX of the Education Amendments of 1972, the university prohibits sex discrimination against any participant in its education programs or activities. Title IX also prohibits sexual harassment-including sexual violence-committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence, sexual assault, and stalking are considered forms of "Sexual Misconduct" prohibited by the university.
University policy requires any university employee in a teaching, managerial, or supervisory role to report incidents of sexual misconduct that come to their attention through various forms including face-to-face conversation, a written class assignment or paper, class discussion, email, text, or social media post. If you encounter Sexual Misconduct, please contact the Title IX Coordinator at t9coordinator@byu.edu or 801-422-2130 or Ethics Point at https://titleix.byu.edu/report (Links to an external site.)Links to an external site. or 1-888-238-1062 (24-hours). Additional information about Title IX and resources available to you can be found at http://titleix.byu.edu (Links to an external site.)Links to an external site..
Student Disability
Brigham Young University is committed to providing a working and learning atmosphere that reasonably accommodates qualified persons with disabilities. If you have any disability which may impair your ability to complete this course successfully, please contact the University Accessibility Center (UAC), 2170 WSC or 422-2767. Reasonable academic accommodations are reviewed for all students who have qualified, documented disabilities. The UAC can also assess students for learning, attention, and emotional concerns. Services are coordinated with the student and instructor by the UAC. If you need assistance or if you feel you have been unlawfully discriminated against on the basis of disability, you may seek resolution through established grievance policy and procedures by contacting the Equal Employment Office at 422-5895, D-285 ASB.
Devotional Attendance
Brigham Young University's devotional and forum assemblies are an important part of your BYU experience. President Cecil O. Samuelson said, "We have special and enlightening series of devotional and forum assemblies...that will complement, supplement, and enrich what will also be a very productive period in your classrooms, laboratories, and libraries. We look forward to being with you each Tuesday...and hope that you will regularly attend and bring your friends and associates with you...A large part of what constitutes the unique 'BYU experience' is found in these gatherings where the Spirit has been invited and where we have the opportunity to discuss and consider things of ultimate worth and importance that are not afforded to the academic community on almost any other campus" (from the address "The Legacy of Learning", 30 August, 2005). Your attendance at each forum and devotional is strongly encouraged.
Academic Honesty
The first injunction of the Honor Code is the call to "be honest." Students come to the university not only to improve their minds, gain knowledge, and develop skills that will assist them in their life's work, but also to build character. "President David O. McKay taught that character is the highest aim of education" (The Aims of a BYU Education, p.6). It is the purpose of the BYU Academic Honesty Policy to assist in fulfilling that aim. BYU students should seek to be totally honest in their dealings with others. They should complete their own work and be evaluated based upon that work. They should avoid academic dishonesty and misconduct in all its forms, including but not limited to plagiarism, fabrication or falsification, cheating, and other academic misconduct.
The syllabus page shows a table-oriented view of the course schedule, and the basics of course grading. You can add any other comments, notes, or thoughts you have about the course structure, course policies or anything else.
To add some comments, click the "Edit" link at the top.
Course Summary:
| Date | Details | Due |
|---|---|---|