| CMSC 122 | ![]() |
| Intro to Programming via the Web |
12/10/14 As was mentioned in class (twice) there is a limit to the size of your project. If your zip file is too large it will be rejected. Under 8MB should be okay. If your project is rejected by the server you will have to trim some things down. Please see the previous announcement about reducing the size of photos. We will not be granting extensions for students whose projects are rejected by the server because they are too large, so it would be a good idea not to wait until the last day to attempt to submit the project.
12/09/14 For anyone who is using multiple photos in the Term Project but is concerned about the file size limit for submission: I found a cool utility online that resizes photos and allows you to save them with "lower quality", which makes the file size a lot smaller. It has default sizes that are limited, but note that there is a small (hard to see) link that says "More options", which will allow you to resize the photo to any size you want. The utlity is here.
12/08/14 The final exam will be on Monday 12/15 from 4:00PM to 6:00PM in room TYD 0130. Please arrive at 3:50 so that we can get everything underway at 4:00PM precisely.
11/13/14 Although a little late to be of use for our Term Paper, I want to make sure you know about the UMCP Writing Center. These folks can help you improve your writing in a variety of ways.
11/13/14 Please bring laptops to class on Friday for an in-class exercise on HTML forms.
11/09/14 The Term Project assignment has been posted.
11/06/14 Some additional exercises on arrays can be found here. Feel free to drop by office hours (mine or one of the TAs) if you are not sure how to solve any of these.
11/02/14 Please bring laptops to class on Wednseday for an in-class exercise about arrays.
10/30/14 Project #4 has been posted.
10/29/14 Please bring laptops on Friday, if you have one. Also, please don't forget that we will be having a quiz that day.
10/29/14 Regarding Project #3: You should be trying to make your tables look as close to the example as possible. The font we used was arial.
10/21/14 It has been brought to my attention that at least one of the TAs misunderstood my intentions for grading Project #1 and penalized too much for validation errors. The TAs are going through to correct any students who were affected. The maximum penalty for validation errors should have been 10 points.
10/20/14 Project #3 has been posted.
10/19/14 If you have a laptop, please bring it to class with you on Wednesday.
10/10/14 The midterm exam is on Monday. Be sure to arrive on time, and bring pencil(s) with working eraser(s).
10/06/14 If you have a laptop, please bring it to class on Wednesday 10/08.
10/01/14 Project #2 hint: If you are having trouble getting an element to align either at the top or the bottom of its container, you might try setting the "vertical-align" property instead of adjusting margins/borders.
09/29/14 The due date for the Term Paper was posted incorrectly. The term paper is due at the beginning of class on Wednesday 11/19.
09/29/14 The Term Paper assignment has been posted.
09/29/14 Project #2 has been posted.
09/23/14 There will be another in-class exercise on Friday, so please bring a laptop with you if you have one.
09/23/14 For project #1, you are not permitted to use CSS for your main page, but you may use CSS for your additionalInfo page, if you choose to. Be sure that no matter what you do, your code still validates succesfully!
09/16/14 Project #1 has been posted! There is a link to the project specification in the "Assignments" section of this page. We will give an overview of the project in class tomorrow.
09/16/14 The first quiz will be on Friday of this week. It will cover everything we've talked about in class up through Monday's lecture.
09/11/14 Please bring a laptop (if you have one) to class again on Monday of next week.
09/08/14 If you have a laptop, please bring it to class on Wednesday. There are two applications that you should try to install on your computer as soon as possible. Both are available on the "Resources" area of this web site. They are: Komodo Edit, and one of the File Transfer Clients.
09/02/14 All students are required to attend the lecture for which they are registered. Sorry, but the course is quite full, so we will be adhering to this policy very strictly.
09/02/14 Welcome to CMSC 122 for the Spring 2014 Semester. Important announcements will appear here as the semester goes on. Be sure to look every day.
Welcome to CMSC 122. This course provides an introduction to the internet/web capabilities and trends, and to computer programming in the context of building simple web pages. Intended for students with no previous programming experience who wish to understand the technologies making web sites possible, this course will provide a set of practical problem solving skills necessary for the development of dynamic client-side web content. This class provides non-majors with a basic skill set for leveraging web technologies and limits of such resources.
- History of the Web/Internet
- Internet and Society
- Web/Internet Fundamentals
- HTML/CSS for dynamic web sites
- Web authoring tools
- Design (pseudocode)
- Input/Output/Expressions in JavaScript
- Conditional/Iteration Statements in JavaScript
- Testing/Debugging
- Aggregate types in JavaScript
- Web Page Evaluation
- Research-Quality Web Searching
- Basics of usability and art theory in web page design
- Basics of e-commerce and tool integration in the web
Fawzi Emad
Title Authors ISBN JavaScript: A Beginner's Guide, Second Edition John Pollack 9780071809375 HTML and XHTML Pocket Reference Jennifer Niederst Robbins 9781449363352 CSS Pocket Reference (Any Edition) Eric A. Meyer 9781449399030
Textbook Notes:
- The books listed here are recommended not required.
- A textbook may be available as an eBook (EBK). This version is the actual text, costs less than the text,and is available for 180 days. It is downloaded directly to the students computer and sent via email.
Final grades will be computed according the following weights.
40% Projects 8% Research Paper 10% Quizzes (Some Pop Quizzes) 11% Midterm #1 11% Midterm #2 20% Final Exam
Programming Projects
The due dates for these assignments are rigid. Programming assignments will be due at 11:00PM on the date specified at the top of the project description. You may submit a programming assignment up to 24 hours after the due date, but you will be penalized 20 points (we will subtract 20 points from your total). No assignments will be accepted after the late deadline. Exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. These assignments are to be submitted electronically according to the instructions provided in the project description. We will not accept programming assignments via email.Written Assignments
Assignments that are to be handed in on paper will be due at the beginning of class. These assignments will not be accepted after the due date unless there are very extraordinary circumstances.
Projects in this class must be completed individually and collaboration is not permitted. 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 and our computer environments, you must work with us to get your program to work in our environment.
You are responsible for reading the class announcements that are posted on this webpage often (at least once a day). Important information about the course (e.g., deadlines, project updates, etc.) will be posted in this section.
- Any student who needs to be excused for an absence from a single class session , due to a medically necessitated absence shall:
- Make a reasonable attempt to inform the instructor of his/her illness prior to the class. If you are going to miss an in-class assignment then we expect to hear from you (either email or a telephone message) 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
All assignments/exams must be done individually. Please visit the webpage of the Student Honor Council for a detailed explanation of what constitutes academic dishonesty. Note that it includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. You are allowed to use the Web for reference purposes, but you may not copy code from any website or any other source. In short, all submitted work must be your own.
Cases of academic dishonesty will be dealt with harshly. Each such case will be referred to the University's Office of Judicial Programs. 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 your instructor.
Your participation in the evaluation of courses through CourseEvalUM is a responsibility you hold as a student member of our academic community. Your feedback is confidential and important to the improvement of teaching and learning at the University as well as to the tenure and promotion process. Please go directly to the website (www.courseevalum.umd.edu) to complete your evaluations. By completing all of your evaluations each semester, you will have the privilege of accessing online, at Testudo, the evaluation reports for the thousands of courses for which 70% or more students submitted their evaluations.
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 Disability Support Services (DSS) 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 and provide to the instructor (before/after class) the form that specifies the scheduled time and date of the requested accommodation. This form must be provided at least four days before the exam. Please note that the time/date of the scheduled exam must overlap with the time/date of the regular in-class exam. You may not schedule the exam at an alternate time or date.
| Monday | Wednesday | Friday | |
|---|---|---|---|
| Week 1 09/01 |
Course overview, Intro to Networks Lecture Slides |
Servers, World Wide Web, DNS Lecture Slides |
|
| Week 2 09/08 |
URL's, HTML, tags, validation Lecture Slides Coding Examples |
HTML Examples, practice session Lecture Slides |
Comments, attributes, lists, links, etc. Lecture Slides Coding Examples |
| Week 3 09/15 |
Last day for schedule adjustment (drop/add) Images, Practice session Lecture Slides Coding Examples |
Tables, block vs. inline elements, intro to CSS Lecture Slides Coding Examples |
Quiz #1 CSS syntax, colors, size units Lecture Slides Coding Examples |
| Week 4 09/22 |
Children, parent, descendants; comments; selectors
Lecture Slides Coding Examples |
Pseudo-classes, box model, fonts, backgrounds, Fun with Text
Lecture Slides Coding Examples |
Practice Session Lecture Slides Coding Examples |
| Week 5 09/29 |
Conducting research using Web resources Lecture Slides Coding Examples |
Quiz #2
Intro to JavaScript; output, comments, strings, variables Lecture Slides Coding Examples |
Input (prompt), variable names, type conversions, math functions Lecture Slides Coding Examples |
| Week 6 10/06 |
Comparison operators, boolean variables, if and if/else statements, logical operators Lecture Slides Coding Examples |
Practice Session
Lecture Slides |
Review for midterm Lecture Slides Coding Examples |
| Week 7 10/13 |
Midterm #1 | Return and go over Midterm Java Error Console; Intro to loops Lecture Slides |
While loops; Nested loops Lecture Slides Coding Examples |
| Week 8 10/20 |
More Nested loops, Do-while loops, Intro to functions Lecture Slides Coding Examples |
Practice session (guessing game)
Lecture Slides Coding Examples |
More functions, parameters, return values; local vs. global variables
Lecture Slides Coding Examples |
| Week 9 10/27 |
Event driven programming, Javascript events and event handlers, dynamically updating HTML elements
Lecture Slides Coding Examples |
Another dynamic example; "Pausing" with setTimeout; for loops
Lecture Slides Coding Examples |
practice session (Whack-A-Mole) Quiz #3 Lecture Slides |
| Week 10 11/03 |
Arrays Lecture Slides Coding Examples |
Practice Session (arrays)
Lecture Slides Coding Examples |
Intro to forms; buttons, text boxes
Lecture Slides Coding Examples |
| Week 11 11/10 |
Last day to Withdraw from course is Tuesday 11/11 Intro to Color Theory; Measuring and Improving "Usability" Lecture Slides |
Forms: Multi-line text box, checkboxes, radio buttons, selection boxes Lecture Slides Coding Examples |
Practice session (payment calculator) Quiz #4 Lecture Slides Coding Example |
| Week 12 11/17 |
Labels, Fieldset, Legend, Client-side form submission, get vs. post, separating JavaScript form HTML Lecture Slides Coding Examples |
Large scale software, dramatic softare failures, tips for becoming a better programmer! Lecture Slides |
Review for Midterm |
| Week 13 11/24 |
Midterm #2 | TBA | Thanksgiving Holiday (No class) |
| Week 14 12/01 |
Go over Midterm | Rounding errors, 2-dimenensional arrays, increment/decrement operators Lecture Slides Coding Examples |
Variations on assignment operator, break/continue, intro to Recursion Lecture Slides Coding Examples |
| Week 15 12/08 |
Continue recursion Lecture Slides Coding Examples |
Continue recursion Quiz #5 Lecture Slides Coding Examples |
Review for final Lecture Slides |
| Week 16 12/15 |
Final Exam |
Fawzi Emad
Email:
Office: 1201 A.V. Williams
Office Hours: MWF 11:00-11:50
| Office Hours | ||
|---|---|---|
| Bor-Chun (Sirius) Chen | (See table below) | |
| Rahmatri Mardiko | (See table below) | |
| Konstantinos Zampogiannis | (See table below) |
All TA office hours take place in room 1112 A.V. Williams. Please note that a TA may need to leave 5 minutes before the end of the hour in order to go to his/her class. Please be understanding of their schedules.
| MON | TUE | WED | THU | FRI | |
|---|---|---|---|---|---|
| 9:00 | Sirius | ||||
| 10:00 | Sirius | Mardiko | |||
| 11:00 | Kostas | ||||
| 12:00 | Kostas | ||||
| 1:00 | Sirius | Kostas | |||
| 2:00 | Mardiko | Sirius | Kostas | ||
| 3:00 | Mardiko | ||||
| 4:00 | Mardiko |
| Assignment | Due Date |
|---|---|
| Term Paper | Wednesday 11/19, at the beginning of class |
| Term Project | Friday 12/12, 11:00PM |
| Assignment | Due Date |
|---|---|
| Summer Camp Webpage (HTML) | Sunday 09/28/14, 11:00PM |
| My Major (HTML & CSS) | Thursday 10/09/14, 11:00PM |
| Hiding Game | Thursday 10/30/14, 11:00PM | Hiding Game, Part II | Sunday 11/09/14, 11:00PM |