CMSC122, Section 0101
Brian's Section (Spring 2019)
Introduction to Computer Programming via the Web
Syllabus
Introduction
This class provides an introduction to computer programming in the context of developing full featured dynamic web sites.
It uses a problem solving approach to teach basics of program design and implementation using
JavaScript; relates these skills to creation of dynamic web sites; then explores both the potential
and limits of web-based information sources for use in research. Intended to help relate a
student’s major to these emerging technologies.
Coordinators
Name |
Office Number |
Brian Brubach |
IRB 3112 (or nearby huddle rooms 3113-3119) |
Meeting Time and Location
This course meets MWF 2:00-2:50 PM in IRB 1116.
Textbook
None.
Course Topics (Subject to Change)
- History of the Web/Internet
- Internet and Society
- HTML, CSS, and JavaScript concepts necessary for dynamic web site development
- Web/Internet Fundamentals
- Algorithmic thinking
- Design (pseudocode)
- Testing/Debugging
- Research-quality Web Searching
- Web Page Evaluation
- Problem solving skills in procedural programming languages
- Basics of usability and art theory in web page design
- Basics of e-commerce and tool integration in the web
Course objectives
- Learn basic concepts of programming
- Be able to design and implement a dynamic website
- Gain introductory skills in HTML, CSS, and Javascript
- Understand how to use web-based information sources responsibly in research
- Achieve a basic understanding of the history and current state of the internet
Grading
32% |
Projects |
3% |
Paper |
10% |
Quizzes, Exercises |
30% |
Semester Exams (2), (12% and 18%) |
25% |
Final Exam |
Once we have graded any class material (e.g., exams, projects, etc.)
we will post an announcement and a deadline by which you must submit
any regrade request (if necessary). It is your responsibility
to submit regrade requests by the specified deadline; no regrade
requests will be processed afterwards.
Exam Dates
- Midterm #1: February 27th (Wed)
- Midterm #2: April 17th (Wed)
- Final Exam: 4:00-6:00 Pm, May 16th (Thurs)
Spring break: March 17-23rd
Last Day of This Class: May 13th (Monday)
Due Dates for Programming Projects:
The due dates for these assignments are rigid. Programming assignments will be due at 11:00 PM on the date specified at the top of the project description. These assignments are to be submitted electronically on the submit server according to the instructions provided in the project description. We will not accept programming assignments via email. The last submission provided will be graded. If you have both an on-time and late submission, only the late submission will be graded.
Late policy:
We will use the automatic extension policy.
- You may submit up to 2 programming assignments up to 48 hours late without any penalty.
- All other programming assignments received late will incur a 20 percentage point penalty for up to 48 hours late, after which no credit will be given.
- No assignments will be accepted after the late deadline of 48 hours.
- Exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. Barring such circumstances, please do not email the instructor or TA about late submissions.
Project Implementation:
Projects in this class must be completed individually and collaboration is not permitted (unless explicitly indicated otherwise). All assignments can be done on the machine of your choice. You are welcome to do the work on a home computer if you have one. There should not be any machine-specific dependencies in your code. However, if we are not able to run your program because there is a difference between your computer and our computer environments, you must work with us to get your program to work in our environment.
Online Posting of Project Implementations Not Allowed:
- Do not post your assignment implementations online (e.g., GitHub, PasteBin) where they can be seen by others. Making your code accessible to others can lead to academic integrity violations.
- Posting of your projects in a private repository where only selected people (e.g., potential employers) can see them is OK. Just make sure it is not a public site.
- Even if the course is over, do not make your code available to others.
- Notice we constantly monitor online sources.
TA Room/Office Hours
Office hours get extremely busy the day before a project deadline.
Therefore do not wait to start your projects. Regarding office
hours and the TA Room:
-
Once you have been helped by a TA please leave the TA room. We
have a large number of students in all of our classes and the TA
room is really crowded.
-
If there is a line of students waiting, a TA should spent at most
5 minutes with a student. Please remind TAs about this rule.
-
For location and times, visit the Office Hours page.
Backups
You need to keep backups of your projects as you develop them.
No extensions will be granted because you accidentally erased
your project. Feel free to use the submit server as a backup
tool by submitting often. You can also use tools like git, etc.
Do not post code in any online system that is accessible to
others (e.g., GitHub).
Excused Absence and Academic Accommodations
See the section titled "Attendance, Absences, or Missed Assignments"
available at Course Related Policies.
-
Any student who needs to be excused for an absence from a single class session due to a medically necessitated absence shall:
- Notify the instructor (not one of the TAs) by email before the class session begins.
- Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. The note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and will result in disciplinary action.
- This self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for 1 class meeting during the course.
-
Any student who needs to be excused for more than one absence or for a "Major Scheduled Grading Event" must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. The documentation should be given to the instructor, not the TA. We will not accept a "self-signed" note for "major scheduled grading events," as defined below, nor for multiple absences. The note must be signed by a health care professional.
The Major Scheduled Grading Events for this course include:
- Midterm #1
- Midterm #2
- Final Exam
- Programming Projects
- Research Paper
Religious holidays: It is the student's responsibility to inform the instructor of any intended absences from exams for religious observances in advance. Notice should be provided as soon as possible, but no later than one week prior to the exam.
Inclement weather: We will abide by University’s policy on closures and delays, which will be posted at www.umd.edu. If the University closes on a class day due to inclement weather, any HW due will become due on the next day the class meets, and any exams scheduled will be postponed, with the new date notified.
Disability Support Accommodations
See the section titled "Accessibility" available at
Course
Related Policies.
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Accessibility and Disability Service (ADS) within the first two weeks of the semester. If special accommodations are to be given for any exam, then the student is also required to schedule the exam at least four days before the date on which the exam will be taken. Exams scheduled through the ADS testing center must be scheduled for a time that overlaps with the student's actual class time. You may not schedule the exam for an alternate date or time.
Academic Honesty and Integrity
All submitted work must be your own. You are allowed to use the Web for reference purposes, but may not copy code from any website or another source. Academic dishonesty includes more than cheating, fabrication, and plagiarism for yourself. It also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work.
Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct. Without exception every case of suspected academic dishonesty will be referred to the Office. If the student is found to be responsible of academic dishonesty, the typical sanction results in a special grade "XF", indicating that the course was failed due to academic dishonesty. More serious instances can result in expulsion from the university. If you have any doubt as to whether an act of yours might constitute academic dishonesty, please contact the instructor or a TA for the course.
The University of Maryland, College Park has a nationally recognized Code of Academic Integrity, administered by the Student Honor Council. This code sets standards for academic integrity at Maryland for all undergraduate and graduate students. As a student you are responsible for upholding these standards for this course. It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu. The CS Department also takes academic integrity seriously. Information on how the CS Department views and handle academic integrity matters can be found at Academic Integrity.
Examples of Academic Integrity Violations:
- Hardcoding of results in a project assignment. Hardcoding refers to attempting to make a program appear as if it works correctly, even though it only works in certain cases (e.g., printing expected results for a particular test).
- Using any code available on the internet/web or any other source. For example, using code from Sourceforge.
- Hiring any online service to complete an assignment for you.
- You may not post the implementation of your assignments, materials related to the class (e.g., project description), or any other material associated with this course online. Even if the class is over and you have graduated, you may NOT post any material online.
- Sharing your code or your "test code" with any student.
- Providing ideas/suggestions on how to solve/implement a programming assignment.
- Looking at or debugging another student's code.
- Using online forums to ask for help regarding our assignments.
- Creating a project submission using a tool that does not require you to write the HTML, CSS, or JavaScript yourself.
Additional information can be found in the sections titled
"Academic Integrity" and "Code of Student Conduct" available at
Course Related Policies.
Classroom Policy
- No talking during lecture.
- No eating.
- No cell phone use. If you’re using your phone, I will delight in calling on you to answer a question
- No laptop use during lectures. Laptop use should be limited to notetaking and in-class exercises. Your laptop use should not disturb other students sitting close to you (e.g. playing games, watching videos, etc.).
- Videotaping or voice recording of the lectures is prohibited without instructor permission.
- Emails: Emails will be received from Monday to Friday (9am to 5pm). Emails received after 5pm on Friday through Sunday will be responded to in the following week. When emailing, please begin the subject line with “CMSC122” followed by a space followed by your name. Failure to use the appropriate subject may result in delayed response.
- Class announcements (e.g., deadlines, project updates, etc.) will be posted on the course webpage often. It is you responsibility to check this.
- No make-up exams will be given. Exception: Hospitalization due to life-threatening medical conditions.
- Request to re-grade an exam or part of an exam must be submitted within 24 hours after you receive the graded exam. The submitted exam paper for re-consideration MUST be in its original form.
Miscellaneous
Copyright
All course materials are copyright UMCP, Department of Computer Science
© 2019. All rights reserved. Students are permitted to use course
materials for their own personal use only. Course materials may not be
distributed publicly or provided to others (excepting other students in
the course), in any way or format.