“I never teach my pupils; I only attempt to provide the conditions in which they can learn.”
-- Albert Einstein, 1879–1955, Physicist
“The secret of education lies in respecting the pupil.”
-- Ralph Waldo Emerson, 1803–1882, in The Complete Writings of Ralph Waldo Emerson, edited by Edward Emerson (published posthumously in 1904)
“The mind is not a vessel to be filled, but a fire to be kindled.”
-- Plutarch, 46–120
https://piazza.com/uml/fall2015/91461/home
|
|||||||||||
Prerequisite: | 91.201 Computing III | ||||||||||
Professor: |
Dr. Jesse M. Heines
Please note that due to the roles that I fulfill in addition to my teaching duties, I receive a flood of email every single day, including on weekends. In addition, there are multiple filters on my incoming email to auto-delete junk mail and pornography, and messages without subject headers typically end up in our Junk Mail folders. It is therefore critical that you always include a subject header on all your email messages to me. In addition, to get me to read and respond to your email before all others, always begin your subject header with our course number (91.461) followed by a few words that clearly identify what your email is about. These guidelines are for your benefit, and following them will get your questions answered as quickly as possible. |
||||||||||
Class Hours: | Tuesday and Thursday, 12:30 PM to 1:45 PM |
||||||||||
Required Text: |
CSS3: The Missing Manual, 3rd edition
JavaScript & jQuery: The Missing Manual, 2nd edition
|
This is the 13th time that I am teaching this course, and it underwent its 6th complete overhaul the last time I taught it. This year we will work on GUI programming for web pages, primarily using HTML5, CSS, JavaScript, and jQuery. Web pages have come a long, long way in recent years, from both design and functionality points of view. We will attempt to create web pages that take advantage of these new features of the web and exploit the capabilities that they make available.
The course covers:
Throughout the course I will stress the use of Application Programmer Interfaces (APIs) and the critical need to document your work. Since this is a senior capstone project course, also note at that you will be evaluated on programming style and robustness almost as much as on the usability of the interfaces that you create.
GUI programming goes far beyond putting windows, icons, and menus on the screen and accessing them with a pointing device. (That level of GUI programming is called a “WIMP” interface!) The essence of GUI programming is the U part, that is, the quality of the user’s interaction with the system. My own programs — the ones that I really put effort into and the ones I get paid to write — are probably only 10-15% “algorithm” at most. The rest is error-checking, contingency-handling, and documentation. (Yes, I’ve now emphasized documentation twice now...) This mix and the meticulous attention to detail that it involves help me create programs that actually work: not only in the sense that they do not crash, but more importantly in the sense that they actually help the user get a job done, even when the user makes mistakes.
Thus you can see that we will cover much more than how to create WIMP interfaces. The philosophy of programming is also important, and this theme will pervade virtually all of our discussions.
This course helps students attain the following outcomes mandated by the Accreditation Board for Engineering and Technology (ABET).
(b
) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
(c
) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
(k
) An ability to apply design and development principles in the construction of software systems of varying complexity.
Upon completion of this course, students will be able to:
My office hours are listed on the first page of this syllabus. Unless I make announcements to the contrary, I expect to be in my office or at least around our department during those hours to help you or meet with you about this course. If these hours are not convenient, I will be happy to make an appointment to meet with you at other times.
Some students are reluctant to contact professors personally, especially those from cultures in which professor-student relationships are very formal. That is not the case here. If you have any problem at all concerning the course or your work, it is your responsibility to contact me. There are many things I can do during the semester to assist you with the course material or help you catch up if you fall behind. But once the semester is over, it’s over, and you will not be able to make up for lost opportunities. I monitor my email multiple times per day, even when I am traveling, so there really is no excuse for not contacting me if you need help.
Of all the aspects of our jobs, teaching and interacting with students are certainly the ones I enjoy most. Your success in this course is a joint effort between you doing the assigned work and me assisting you, so please don’t be shy about contacting me. This is the second time that I am teaching this course, and while things will be more structured than the first time, there are still many things that will develop as the semester progresses. At times you may be confused as to what is expected of you, and I understand that. In those cases, please ask for clarification. Never assume anything. Always ask.
Your grade in this course will be made up of programming assignments, exams, and a rating based on your attendance (see below). You must complete the coursework to earn a passing grade. As a rule, I do not give incompletes. I have only given incompletes on one or two occasions in my entire 28-year career as a UMass Lowell professor, and these were for truly extenuating personal circumstances outside of the classroom, for example, serious illness. Do not expect to get an incomplete if you do not finish the coursework. Assignments not turned in and exams missed will be recorded as grades of 0 and will significantly impact your final grade.
Final course grades will be determined by the weighted average of all assignments, quizzes, and other activities. As we begin the semester, I anticipate that all assignments and quizzes will carry a weight of 1.0. That is, a homework assignment counts exactly the same as a quiz or exam. Thus, the best way to get a good grade in this course is to plan your time so that you can come to class every day and put major effort into the assignments.
Put simply, you cannot do well in this course without doing well on the assignments. You simply cannot pass this course without handing in the assignments.
Important Note: I reserve the right to change this grading system as the course progresses and various circumstances develop.
Attendance is required. This course involves a great deal of discussion, particularly of issues raised by students. The classroom is a dynamic environment, and you must be present to take advantage of this important learning activity. I will take attendance in almost every class. If you come on time you get 2 points. If your come late you get 1 point. If you don’t come at all and have not contacted me beforehand to request an excused absence, you get 0 points. The total number of points you earn is then divided by twice the number of classes in which I took attendance and that percentage is averaged into your grade with a weight of 1.0 just like an assignment or quiz.
If you must miss a class, you may ask to be excused by contacting me via email before that class and explaining the reason for your required absence. However, please note that “I have to work” is not an acceptable reason for absence. While I appreciate the need for money and I understand that we must all make difficult choices about how we spend our time, I do not excuse absences for work reasons because I know of no other way to convince you that work is temporary, while education is permanent. Thus, attending class has to have the higher priority.
I have written a web-based Grade Display Program that you can use this program at any time to see exactly where you stand in this course. The program summarizes your grade status with a display like this:
|
You Are Registered for Course: | 91.461 |
Grade File Last Updated: | 5/1/2015 at 11:44 AM | |
Total Number of Grades To Date: | 4 | |
Number of Grades We Have for You: | 4 | |
Your Current Weighted Average: | 80.50 | |
Class Mean Weighted Average: | 71.08 | |
Class Median Weighted Average: | 75.00 | |
Assignment Resubmission Option: | Still Available | |
The program then provides complete details on each grade like this: |
||
Grade No. 2: | Assn 3: Styling Your First Web Page With CSS | |
Due Date: | 4/27/2015 | |
Your Raw Grade: | 12 (out of a possible 20) | |
Raw Grade Multiplier: | 5.00 (to convert to a 100 point scale) | |
Your Standardized Grade: | 60 (this is Your Raw Grade times the Raw Grade Multiplier to convert your grade to a 100 point scale) | |
Relative Weight: | 1.00 (1.00 = normal) | |
Class Mean Raw Grade: | 15.32 | |
Class Median Raw Grade: | 15.00 | |
Range of Class Raw Grades: | 11.00 to 20.00 | |
Standard Deviation: | 2.75 |
To try the program out yourself, click here, enter your UMass Lowell email address and password, and click the Show My Grades button.
I make a precise determination of final grade cutoffs only at the very end of the semester, after all assignments and exams have been graded. At that point I sort all students’ grades by their weighted average and look for “breaks” in the differences between adjacent averages. For example, I don’t give a student with an 89.93 average a different grade from a student with a 90.00 average, as these two averages do not differ significantly. Rather, I look for significant differences of a point or more at which to set the precise grade cutoffs and break the letter grades.
As a rule of thumb, if your weighted average is 90.00 or higher, you are probably doing A or A– work. If your weighted average is between 80.00 and 90.00, you’re probably in the B range. Below that, you’re in danger of a C. However, it is critical to understand that there are no absolute grade boundaries. That is, there is no guarantee, for example, that a grade of 90 or above will be an A. Grade boundaries are only determined at the very end of the semester.
The exact grade cutoffs change from semester to semester. As a better indicator of where you stand, look at your class rank rather than your weighted average. Again as a rule of thumb based on experience teaching for many years, about 25% of the students get A or A– and 50% get B+, B, or B–. The rest typically get C+ or below. The only students who truly fail with Fs are those who don’t show up at all or who drop out during the semester without officially withdrawing or who cheat (see more on this below).
I try to be flexible and understanding during the semester with assignment due dates, etc., if you contact me before an assignment is due. At the end of the semester, however, I adhere very strictly to the policies detailed in this syllabus. Do not procrastinate. If you have a problem, contact me immediately. I have given you all of my contact information above and provided extensive information on the course website. There is absolutely no reason for you not to know the course policies.
I will not negotiate grades with you under any circumstances. I will not even discuss grading issues with you after the last day of class. As I will undoubtedly say numerous times in class, I can “play ball” on virtually all issues related to this course during the semester, but once our last class is over, so is the semester (except, of course, for the final exam).
Homework assignments are due at midnight in the evening of their due date. Assignments handed in late will lose points from their overall grades.
If you are not able to hand in an assignment on time, contact me before the due date. I will allow assignments to be handed in late with valid excuses. (Note that “I was too busy at work” is not a valid excuse.) Do not simply ignore homework assignments. An unexcused assignment is averaged in as a 0. Even a 1 on a homework assignment is better than that. It is impossible to pass this course without doing the homework assignments, even if you get 100s on all the other evaluated activities.
In worlds outside the classroom, people seldom work completely on their own. They typically work in teams and help each other extensively. I have no objection to you getting help from me, the teaching assistant, or your fellow students. I encourage you to do so and I have set up a Piazza discussion forum for this very purpose. However, unless otherwise stated, work in this course is to be each student’s own.
You are responsible for understanding the full meaning of plagiarism. The Merriam-Webster Dictionary defines the verb plagiarize as follows:
There are many ways in which students plagiarize, all of which are cheating. The Web makes if phenomenally easy to find other people’s work and copy-and-paste it into your own program or your own paper without visibly indicating that the code or text is copied and without citing or crediting the original author. Such practices are illegal and are not allowed in this or any other course at the University of Massachusetts Lowell or any other institution of learning. If you are not sure how to cite and credit another person’s work, ask. But if you plagiarize, you will fail.
I will not tolerate plagiarism or cheating of any kind. Every few semesters I am forced to fail a student or two for handing in work that they claimed was their own but was not. The following actions are all examples of cheating.
You are also responsible for being familiar with the University’s definitions and policies on academic dishonesty. You are encouraged to get all the help you need, but you are required to hand in your own work.
It is worth repeating: IF YOU CHEAT, YOU FAIL. There are no second chances.
An assignment on which you receive a poor grade can be resubmitted for additional points subject to the following rules. (Quizzes and exams may not be resubmitted or taken a second time.)
Please note that your use of the course website is tracked in a database. This is why you must log in to access any pages on the course website. Each time you access a page the database stores:
My research assistants and I analyze this data to learn how the course website is used and how it might be improved. We do not analyze the browsing patterns of individual students and your use of the course website will not affect your grade. We are only interested in aggregate data, that is, general browsing patterns of all students as a group. Such analyses help us understand how much students use the course website, which parts of it they use most often, and whether there is any correlation between students’ use of the site and their performance in the course.
It is important to stress that information that identifies you individually is not be used in our research, as we are only interested in aggregate data. Even so, we still need your permission to use the data we collect on your browsing. We therefore need for you to explicitly grant or deny permission for us to use this data. The granting of permission is completely voluntary and will have no effect on your grade in this course. I obviously hope that you will grant permission, but there will be no negative consequences if you do not.
While the choice to grant or deny permission is yours, you are required to indicate your choice explicitly by completing a form posted on Google Docs. This form also requires you to certify that you have read and understand the contents of this document, including all the policies it spells out. The form is posted at
https://docs.google.com/forms/d/166cx_uRhYJ24qoI-zMrs1dpWVyOw5iloQ-ojjF41lv4/viewform
In closing, I sincerely hope that you enjoy this course and that we all learn from each other this semester. Thank you.