Spring, 2011

Dave's Course
Policies & Philosophy

Conduct

The goal here is simple: to foster a positive learning environment.

Classroom decorum

You are expected to behave in a professional, courteous manner during class. Arrive on time. Turn off cellphones and other disruptive devices. Stay focused on class activities--engaging in non-class related activities (e.g., checking e-mail, IMing, surfing the web, having non-class related conversations) is prohibited. Don't let the door slam should you arrive late or leave early.

Warning

Failure to abide by these guidelines will—without further warning—adversely affect your grade.

Attendance

This is not an online course. Should you choose to miss class—and it is a choice—you are fully responsible for the consequences.

Come to class

You are expected to attend all class meetings—which includes the weekly discussion sessions (if any). You are responsible for all materials covered and announcements made in the class meetings.

Should you miss class

It is your responsibility to determine what you missed from your fellow students—lectures will not be repeated. I will be glad to help you resolve any question you may have, but only if you have first studied the material you acquired from another student.

No make-ups

As a rule: there are no make-ups. In certain exceptional circumstances approved by the instructor—e.g., jury duty, military service, documented long term illness, etc.—accommodations will be made. It is the student's responsibility to immediately contact the instructor and supply documentation in a timely manner.

Lecture notes

Taking your own notes will help you in many ways.

Take notes

You are expected to take your own lecture notes. My lecture notes will not be posted. My reasons for this policy are:

  • it's been shown that when people take notes they retain more information,
  • it helps keep the audience engaged in the lecture, and
  • the ability to take good notes is a valuable professional skill.
  • Rectifying grading errors

    I am very interested in ensuring the accuracy of all grades and unfortunately, there are times when problems are graded incorrectly (either too harshly or leniently), points are mistotaled, or scores are inaccurately recorded.

    The clock is ticking

    Regrade and retotal requests must be made within 1 week of the item's original return date--after that week has passed you have forfeited the right. You may either bring the item to Dave's office hours or give him the item with a coversheet explaining what you believe was incorrectly graded or mistotaled.

    Regrades

    If you ask for a regrade, I may (and usually will) regrade the entire exam/homework/quiz, not just the part that you are specifically questioning. Why? Because it is often the case that if a grader took off too many points on one question, s/he often awarded too many on another.

    Many students misconstrue the intent of this policy so let me be clear: I have no desire to "punish" you for requesting a regrade; my sole objective is to ensure that materials are graded as accurately as possible. Do you really want a "random number" that doesn't reflect your performance? If grades are not accurate, what is the point of grading? I hope you'll understand.

    Note: just asking to have an incorrectly totaled item retotaled does not count as a regrade request.

    Save everything

    Please retain all graded items that are returned to you. If the score recorded for an item is recorded incorrectly in the spreadsheet, you'll need to bring the original item to Dave so that he can fix the error.

    Petitions

    I've found that students who are making a good faith effort to succeed rarely need to drop the course.

    Good faith effort defined

    A good faith effort to succeed is officially defined as making a serious attempt to do well on all quizzes, homeworks, and bonus exercises, as well as regularly (at least once per week) seeking help from the instructor and/or the TAs, or the Academic Tutoring Center—there will be no exceptions to this definition.

    Supportive letters and petition endorsements will only be written for students who have made a good faith effort. If your life would be adversely affected by a poor grade or a "drop"—e.g., you are on academic probation, required to carry a certain number of hours because of a visa, have scholarship requirements, etc.—ensure that you make a good faith effort to succeed.

    Homework & other deliverables

    The cover page will be removed and kept by Dave, so be sure your name appears on both the cover page and the page that follows it!

    Deliverable format

    Unless specifically instructed otherwise, all homework must be mechanically printed (use a laser, inkjet, etc.) and stapled in the upper right-hand corner. Homework submissions must include a cover page that contains:

    Important note: the cover page will be removed and retained; be sure that on the second page in the upper right corner that you again include:

    1. your name
    2. the course prefix+number (e.g., CGS 3460)
    3. the date the homework will be collected
    4. the homework number

    Should you forget to do so, it may become impossible to identify you as the author of the deliverable.

    If the deliverable is a program, the cover sheet shall be followed by a separate page that contains a clear and complete responses to the following questions:

    1. Does the program compile without errors?
    2. Does the program compile without warnings?
    3. Does the program run without crashing?
    4. Describe how you tested the program.
    5. Describe the ways in which the program does not meet assignment's specifications.
    6. Describe all known and suspected bugs.
    7. Does the program run correctly?

    Program submissions shall include both the source code—which is expected to be well documented—and output—which, when appropriate, includes screenshots (e.g., the assignment is to create a GUI driven program or one that produces images).

    Team submissions

    Unless otherwise explicitly stated, all assignments are individual efforts. However, in the case of a team/group assignment, the deliverables must

    I don't want students waiting until the last minute to do the assignment, running out of time, and missing part of class as they rush to finish.

    Due at the start of lecture

    Homework is due at the start of lecture. Submissions made after the lecture begins are late: at the discretion of the instructor, a grade penalty may be assessed or the item may not even be accepted.

    Special accommodations

    If you will be requesting special accommodations, let me know during the first week of class.

    Students requesting classroom accommodation must first register with the Dean of Students Office. The Dean of Students Office will provide documentation to the student who must then give that documentation to the instructor when requesting accommodations. Students who will be requesting accommodations must notify the instructor during the first week of class that they shall be making the request and provide the documentation in a timely manner.

    Study tips

    Want to maximize your learning experience and improve your chances of success in your courses?

    Study effectively

    Here are some simple things you can do that will deepen your understanding of the material and will likely improve your grade:

    1. Take notes in lecture (and as you read the text and other materials). The more senses you have involved (writing involves vision and touch), the more likely you are to retain information.
    2. Read the text (and other materials). Every evening after lecture review the appropriate section(s) in the textbook and take notes. Pay attention to details not mentioned in lecture and be sure to make special note of any (seeming) contradictions.
    3. Recopy your notes. Every evening after lecture, neatly transcribe your notes and think about them as you do. If there are things that aren't clear or questions that arise, write them down so you will remember to ask them.
    4. Review your notes. Once a week (or more) review all your (transcribed) notes and questions. Again, if anything isn't clear or new questions arise, write them down.
    5. Write practice exams/quizzes. Based on your notes and lists of questions, write exams meant to determine if someone really understands the material. (Note: most exams I've seen written by students are too superficial in that they don't really test to see if one understands the implications of a topic and can apply the principles.)
    6. Form a study group. Meet once a week (or more) and go over the notes and your list of questions. Work each others practice exams and discuss the answers.
    7. Go to office hours. If you didn't get your questions answered during lecture or in the study group, go to office hours and get them answered!

    Philosophy

    My job is to prepare you for the future.

    You are a bright and capable person — else you wouldn't be here at UF. It won't be long until you are out in the "real world." It would be so very simple for me to be "easy" on you, to spoon feed you knowledge, to itemize exactly what you are expected to do. I wouldn't be doing you any favors: the consequences (for you) could be disastrous!

    I don't have to tell you that we live in a global economy and that a lot of tech jobs are moving overseas because labor costs are cheaper. If you want to land and keep a good job, you're going to need to be able to do something that the folks willing to work for a third of what you expect to be paid can't do.

    At a minimum, you need to be an excellent problem solver and critical thinker — it wouldn't hurt if you are creative/innovative to boot. Analysis and design are the heart of software development — they are the skills that will keep you employed. Unfortunately, I don't believe that they get enough attention in the curriculum (as evidence I cite the number of times I hear students say, "I don't know where to begin" after reading a project description).

    Raising the bar

    The higher the level of the course, the more independent I'll expect you to be. In earlier courses I tend to give a lot of direction, so you can learn to how an "expert" attacked a particular problem — in hopes that you will generalize the techniques and model your problem solving behavior after the examples that you've seen. In later courses, the scope of the problems increase and the amount of direction decreases. Why? In the real world, your going to be given a problem and told to solve it. Your boss isn't going to sit down and lead you step-by-step to a solution — if she did, she'd be probably find it faster just to go ahead and solve it on her own.

    At some point one must move away from following a trail blazed by another (i.e., an assignment that lays out the steps to solve it) and start figuring out how to reach a goal on one's own. The only way I know to build those skills is to try and keep on trying despite the failures, despite the time spent chasing dead-ends and circuitous routes.

    Practice and study

    Many of you will struggle with the homeworks and projects and some will feel quite badly about not completing them. If you don't complete an assignment by the due date, I suggest that rather than looking at it as a defeat, consider it an opportunity to learn. Try to figure out why you weren't successful. If you have the time, keep working on solving the problem until you get it (yes, that means completing it for the learning experience, not a grade). Don't be afraid to start again from scratch. Often trying to badger a poorly designed program into working is much harder than starting over with a better design.

    Practice is essential but, for almost everyone, it's not enough to become a expert: one must study the writings (and code) of the masters. Learn from their insights (which are usually born from their mistakes) and then assimilate them by applying them to your own programming problems.

    It's not about how hard you tried

    Many people believe that if they put in a lot of time and effort that they will be rewarded — especially when it comes to school work (which I believe is the fault of the school system). But real life doesn't work that way. Ditch diggers work hard, but are they well paid? Does the world class swimmer who comes in 10th in the Olympics get the sweet endorsement deals? Every year millions of people bust their tails starting a new business: according to MasterCard, "About 60 percent of all businesses fail within the first two years" and a Wells Fargo/NFIB study "estimates that over the lifetime of a business, 39% are profitable, 30% break even, and 30% lose money, with 1% falling in the 'unable to determine' category."

    I'm not saying that there aren't personal rewards and benefits to working hard (there are) — indeed, I want you to work hard. What I am saying that simply trying is not enough. If you want to thrive, you must produce results! The sooner that you internalize that lesson, the more prepared you are going to be to meet the challenges that await.

    When you wonder why you didn't get much (if any) partial credit for a broken deliverable, remember that I'm trying to get you ready for an unforgiving world, now, while it's safe, where the consequences of messing up aren't so serious. Or to put it another way: would you rather learn the lesson now or learn it when you suddenly find yourself out of a job — with big payments due on that shiny new car, great apartment, etc. that the job was supposed to pay for?

    This website is an original work, Copyright © 2011 by Dave Small. All rights reserved.