Mark Fischer - cs337-instructors@list.arizona.edu
Office: GS 931
Office Hours: Tuesday & Thursday 2pm - 3pm
Clara Rice - cs337-instructors@list.arizona.edu
Office: GS 938
Office Hours: Mon & Wed 11-12, Fri 1-2
We'll be using Piazza for forums, announcements and more. If you haven't already signed up, do it now! Sign up at https://piazza.com/arizona/spring2016/csc337/home.
The catalog description, with a couple of edits:
Introduction to the techniques and technologies for developing dynamic web sites. Topics include a web server, PHP as the server-side scripting language, the MySQL database, JavaScript and AJAX for enriching web services, and page layout with HTML and CSS. Security concerns will be considered with details for prevention of such vulnerabilities in web applications. This course includes a team project to deploy a dynamic website.Weekly laboratory.
Team projects in an academic setting seem to make the strong stronger but the weak weaker, and are poor simulations of team dynamics in industry, so all assigned projects will likely have a team size of one.
There is no weekly laboratory, just three class periods a week.
From the catalog: CSC 127A, ISTA 130, ECE 175 or equivalent experience in a high level programming language that includes variables, strings, selection, loops, methods, parameters, and arrays.
The prerequisites are very modest but this is a 300-level computer science class with a lot of diverse content. This is CSC 337, not CSC 137 or CSC 237. Our task is to respect the prerequisites but also cover a body of material that's appropriate for a 300-level CS class.
I've not found a "textbook" that really useful for a class like this. There are certainly books that are worth while as references, or as extra instructional material, but they are strictly optional. Here's a list of some books I think are good. (again, not required!)
All books and other material in which reading is assigned will be either freely available on the web or accessible via the library's O'Reilly Safari subscription. As you may know,the Safari subscription provides for a limited number of concurrent users. In recent semesters that limit has been adequate but usage is steadily increasing. If a persistent crunch on Safari develops, you may need to consider buying books, e-books, or maybe getting a Safari Bookshelf subscription at safari.oreilly.com. I estimate the worst-case expense to be $125 for the semester.
Note that Safari can be accessed from off-campus using the VPN or by using the library's proxy. Here's the proxy-based URL for Head First HTML & CSS: http://proquest.safaribooksonline.com.ezproxy1.library.arizona.edu/book/web-design-and-development/9781449324469/firstchapter
The final grade will comprise the following:
Assignments | ~67% |
Quizzes | ~10% |
Mid-term and final exams | ~23% |
As you can see, the bulk of the points for this course will be from homework assignments. These are typically fairly involved, and you will have a two week period to complete each one. I cannot stress enough how important it is to at least start these assignments early. Assignments will take several hours to complete, and you will likely find them easier to complete if you rest, reflect, and sleep on problems in between. You cannot reflect on the assignment if you are starting it the day it is due.
Final grades will be based on a ten-point scale: 90 or better is an A, 80 or better is a B, and so forth. The lower bounds may be adjusted downwards to accommodate clustering of grades.
It is my goal that you will need to spend no more than ten hours per week, counting lectures, to learn the course material and get an "A" in this course. If you find that you're spending more time than that, let's talk about it.
As its name implies, the mid-term exam will be given somewhere around the middle of the semester. The exact date will be determined by progress through the material, assignment due dates, and other factors. At least one week's notice will be provided. The final examination will be on Friday, May 6th from 3:30pm - 5:30pm.
You are strongly encouraged to contest any assigned score that you feel is not equitable.
There is no attendance component in the grade-if you find that my lectures aren't worth your time, feel free to cut class!
My goal is for everyone to earn an "A" in this course.
For HTML, CSS, and programming problems, great emphasis will be placed on the ability to deliver code that performs according to the specifications of the assignment. My view is that it's a Bad Thing to give any credit for a "solution" that essentially doesn't work. Such a solution will earn a grade of zero regardless of how close to working it might be. Additionally, non-general solutions, which typically have the expected output "wired-in", will very likely earn a grade of zero.
Unless specifically requested in an assignment write-up, no comments are required in any code. Use comments as you see fit.
My view is that programming assignments are to help you learn the course material, I don't view an assignment as a take-home exam. As a rule, you'll learn more if you can get through an assignment without asking for a lot of help; but if you reach a point where you simply aren't making progress and you're running out of ideas or time, please come see myself or one of the TA and ask for help. Unless otherwise specified, assignments are expected to be an individual work. Please do not discuss homework solutions with other students in the class.
Assignments will mostly be due Saturday night (probably 1am Sunday actually). So you will have all day Saturday to cram after you inevitably ignore my prior advice to start early. Due dates and times are not negotiable. You can always turn them in early! In fact I definitely recommend turning in something early, and continue with additional submissions as you finish.
Extensions may be granted to the class as a whole if problems arise with an assignment or with departmental or university computing facilities.
Extensions for individuals may be granted in certain cases. The key factor that leads to an extension is that due to circumstances beyond the student's control, the student's work is, was, or will be impeded, and it is impractical or impossible for the student to make up for the lost time.
Accident, illness, friend/family crises and significantly disruptive failures of technology are examples of circumstances that I generally consider to be beyond a student's control. On the other hand, for example, an extension due to lots of work being due in other classes is extremely unlikely. Travel, such as an interviewing trip, may merit an extension, but pre-trip discussion and approval of the extension is required. Ultimately, however, each situation is unique; you are strongly encouraged to contact me as soon as possible if you believe an extension is warranted. If you believe an extension is warranted, DO NOT work on an assignment (or even think about it) past the deadline; wait for an extension to be granted.
All holidays or special events observed by organized religions will be honored for those students who show affiliation with that particular religion. Absences pre-approved by the UA Dean of Students (or Dean's designee) will be honored. Again, please speak with me before an absence as soon as possible.
There will be some number of quizzes. Quizzes will typically be a handful of questions, and be worth 10 quiz points. Quizes will be scheduled and administered on-line in D2L. You will typically have a two-day window to take a quiz, but the actual quiz time will usually be very short: 10 to 20 minutes. Once you begin the quiz, D2L will show a count-down timer informing you of how much time you have remaining. When the time runs out, your quiz will be auto-submitted as-is. So make sure you are in a location conducive to taking the quiz, and that you have enough un-interrupted time to finish. You cannot re-start or re-take quizes once you've started them.
There are various options for working with the software we'll be using:
Even if you plan to work on your own machine, go ahead and IMMEDIATELY get a CS computing account if you don't have one already. Details on opening an account can be found at www.cs.arizona.edu/computing/accounts/accts-key.html.
The CS computing facilities are described in www.cs.arizona.edu/computing/facilities/. The FAQs at faq.cs.arizona.edu/ have lots of answers but particularly useful is How do I use the Remote Access servers?, at faq.cs.arizona.edu/index.php?solution_id=1014.
I truly enjoy working with students. I believe that interaction with students outside the classroom is a vital aspect of teaching a course. I will do everything possible to make myself accessible to you.
I prefer to conduct office hours in a group-style, round-robin manner. You needn't wait in the hallway if I'm working with another student; you may join us and listen in if you so desire. If several persons each have questions, I will handle one question at a time from each person in turn. I will often give priority to short questions (i.e., questions with short answers) and to persons having other commitments that constrain their waiting time. (Speak up when you fall in either of these categories.) If for some reason you would like to speak with me in private, let me know; I will clear the office. Or make an appointment to meet with me outside of office hours.
Students who make proactive, not reactive, use of office hours usually achieve the best results. Proactive use of office hours includes asking questions about material on the slides and in the texts, asking questions about how to better use tools, discussing how to approach problems, etc. If you're familiar with Covey's The Seven Habits of Highly Effective People you might recognize those as "Quadrant II" activities-important, but not urgent.
Reactive use of office hours is typically centered around simply getting code to work one way or another (Covey's "Quadrant I"-important and urgent).
As mentioned above, we'll be using Piazza. All students are strongly encouraged to participate freely. I hope you'll post questions and comments related to the course material, recommendations for handy tools, URLs for interesting web posts and videos, and whatever else you think is worth mentioning as long as it relates to the course material.
The initial post in any discussion thread that I start is considered to be part of the course material-you are responsible for reading each and every one, and taking action when appropriate. For example, I might ask you to read an article, or experiment with a website of interest. You may learn more by reading follow-ups by classmates and by me, but at exam - or quiz - time I won't expect you to have read each and every follow-up.
When answering questions, the TAs and I will give priority to well-focused questions. And, it's often the case that the task of developing a well-focused question will lead you to an answer on your own.
Needless to say, BE CAREFUL that posts don't give away the solution for a problem. If at all in doubt, make it a private post to "Instructors". A typical penalty for "blowing" a problem is that the guilty student will be required to quickly create an equally great problem as a replacement.
If a private post asks a question or raises a point that a TA or I think should be shared with the class, we'll share it. If we think the post deserves kudos, we'll identify the author unless the post specifically requests anonymity, in which case we'll say something like "A student wrote..."
As you may know, HTML, CSS, and JavaScript cannot be hidden from a person viewing a page. If you want to show a strange result that you're seeing, post a screenshot, not a URL!
You can make anonymous posts, but be aware that such posts are only anonymous to classmates, not the TAs and I.
Part of the idea of Piazza is to facilitate students helping each other, so don't hesitate to answer questions when you're so inclined. If a post is plain wrong, we'll add a correction. If a post is great, we'll endorse it. If the TAs and I are silent, then its quality is probably somewhere in the middle.
If you post a question and later solve it yourself, save everybody some time by saying the question has been resolved.
It is unfortunate that this section need be included but experience sadly shows that some students are willing to sacrifice their integrity to obtain a grade they have not earned. For those students who would never do such a thing, I apologize for the inclusion of this section.
Capsule summary: Don't cheat in my class. Don't make it possible for anybody else to cheat. One strike and you're out!
You are responsible for understanding and complying with the University's Code of Academic Integrity. It can be found at http://deanofstudents.arizona.edu/policies-and-codes/code-academic-integrity. Among other provisions, the Code demands that the work you submit is your own and that submitted work will not subsequently be tampered with. Copying of another student's programs or data is prohibited when they are part of an assignment; it is immaterial whether the copying is by computer, Xerox or other means. Allowing such copying, thus facilitating academic dishonesty, is also a Code violation.
A violation of the Code will typically result in ALL of the following:
It is difficult to concisely and completely describe where reasonable collaboration stops and cheating begins, but are some guidelines:
Cheating almost always starts when one student has easy access to the solutions of another. You are expected to take whatever steps are necessary to guard your solutions from others in the class. For example, you should have an unguessable, uncommon password and never share it. Hardcopy should not go into a recycling bin-take it home and dump it in a recycle bin when the course is over. Personal machines, be them laptops or home desktops, should be behind a hardware firewall or running a software firewall.
Failure to take reasonable precautions to ensure the privacy of your solutions may be construed to be facilitating dishonesty, a Code violation.
Leaving a logged-in and unlocked machine unattended in the presence of another person, even a friend, is questionable. Use a screen locker! Be very careful when typing a password in the presence of others, be them friends or strangers. The single worst cheating case I've ever handled started when the password of a two-fingered typist was surreptitiously observed. Don't hesitate to ask someone, even a friend, to turn their head when you're typing your password.
Students with disabilities, who may require academic adjustments or reasonable accommodations in order to participate fully in course activities or to meet course requirements, must first register with the Disability Resource Center (drc.arizona.edu). DRC staff will qualify students for services and provide a letter to the instructor listing accommodations to be made. This letter should be submitted by the student directly to the instructor as soon as possible during the first week of classes. The student should meet as soon as possible with the instructor by appointment or during office hours to discuss accommodations and how course requirements and activities may impact the student's ability to fully participate.
Threatening behavior is not tolerated. Your classmates here are your peers, and each is due respect. University policies on threatening behavior can be found at policy.web.arizona.edu/threatening-behavior-students.