The syllabus is your friend. Reading the syllabus can easily result in a letter grade improvement. For normal students taking a computer science class just because it is a requirement, just reading the syllabus can turn a failing D into a passing C.
Class identification The beginning of the syllabus will identify the class (including any identification numbers used by the school) and the professor (and any teaching assistants, proctors, or others involved in the class). As trivial as it may sound, make sure that the class ID matches the class you signed up for!
Professors name The syllabus will include the correct spelling of the professors name. Double check this before turning in anything in writing. There are few things more personal to someone than their own name. If you mess up on the professors name, the subconscious resentment will hurt your grade (even if the professor consciously tries to ignore the slight).
Contact information The syllabus will include information on how to contact the professor. This will typically include a telephone number, an e-mail address, and a room/building number for the professors office.
Office hours Every professor will have office hours. These may be set hours with an open door or it may be a notation that office hours are by appointment. Even if there are open office hours, it is worthwhile to arrange an appointment with the professor just to make sure that he or she is there at the appointed time and to gain a priority over students showing up without an appointment. Never be late to an appointment for office hours.
Note that you should make your appointment at the end of class, not at the beginning. A professor is always busy preparing for a class and simply wont have time to focus on student requests. At the end of the class the professor can better handle questions and requests for an appointment.
Professors almost always want their students to succeed. A professor will make a reasonable attempt to help a student learn. Note that if the amount of time and effort exceeds certain limits that the professor may recommend private tutoring. If the professor recommends private tutoring, ask for recommendations on who to take the lessons from. The professor will certainly know some higher level or graduate students who can use the extra income. Also, the school may have free tutoring available.
If you have learning or physical disabilities, set an appointment for office hours so that the professor will be aware of the difficulties. The professor may be able to arrange for alternatives to the regular coursework. Also the professor will be able to refer you to professional staff at the school who can offer you additional assistance in dealing with your learning or physical disability.
If you have life problems that come up (such as death in the family, severe illness, work related problems, etc.), make an appointment for office hours with the professor. While there may be little that the professor can do to help, there are possibilities that the professor may be able to change some deadlines or give an incomplete grade or offer some other kind of assistance. At a minimum the professor will be aware that you are trying your best to keep up with the classwork under difficult circumstances.
Note that in most schools an incomplete grade is at the professors option. Schools discourage incomplete grades. The professor will have the final decision on whether the life difficulty is sufficient to warrant an incomplete and whether the student will have a reasonable ability to make up the incomplete grade in the future. Usually it is a better option to withdraw from the class and take it again when you are prepared.
Website Most professors will provide the URL for the class. This website or webpae(s) may have copies of the syllbus, programming asignments, and other materials.
Some professors may place their sldies and/or lecture notes on their website (usually after each specific class session).
Some professors may place answers to examinations, homework, or other assignments on the website (again, after the specific class session).
Some professors may list recommended websites that will have additional information useful for the class. These recommendations may be printed on the syllabus or may be on a links page on the professors website.
Course description The course description is typically written in edu-speak, but it worth figuring out. This is your best hint for what the class will cover and what you will be expected to learn.
Use the course description to figure out if you are in the right class. Obviously if the class is a required one for your major, then you have no choice in the matter. But if you have a choice, the course description will help you figure out if you are taking the correct class from multiple alternatives.
The course description can also help you prepare your studies by letting you know the highest priorities of the professor. When you prepare for quizes, tests, midterms, and finals, the course description can help answer that vexing question of what is the most likely subject matter to appear on the examination.
Topics The syllabus may have a list of topics to be covered. This is typically easier to understand than the edu-speak of the course description and serves the same uses.
Required materials Check to see what is required. If there are particular forms required for taking examinations, these specific requirements will be listed on the syllabus.
If there are specific requirements for computers, hardware, software, or operating systems, these requirements will be listed. Sometimes you might be arrange for a reasonable alternative, but dont be surprised if the professor rejects alternatives from the requirements on the syllabus. It dramatically increases the work load on the professor to allow custom alternatives, so those typically wont be allowed unless there is a compelling reason (such as a physical disability).
Watch for media requirements, such as CD-Rs, floppy disks, DVDs, or other media. In particular pay attention to formats (such as DVD-R vs. DVD+R). A small mistake in format could result in a drop in letter grade or even failure.
If you do not understand what a required material is, ask the professor in class when he or she asks if anyone has questions about the syllabus. If you do not know where to obtain a particular required material, ask the professor. Professors will often know where you can get the best student discount on each item.
Textbook The syllabus will list required and optional texts.
Required texts are ones that the professor will expect you to obtain, usually by the second time the class meets.
Optional texts are ones that the professor knows will help you understand the material, but arent essential to pass the class. if you can afford these optional texts, you should obtain and read them. Sometimes a professor will list classic reference books that are directly related to the class. These are great books for your long term professional library.
If you cant afford the text books assigned, you should check to see if there are one or more reserve copies available at the school library. You cant take the reserve copy from the library and often there are time limits on how long you can read it at the library, especially near finals.
Reserve copies may not be available because large book publishing corporations refuse to provide school libraries with a free copy and school libraries cant afford to keep purchasing replacement editions every three years. Often the reserve copy was purchased by your professor out of his or her own money. Students who can afford to forego selling books back to the college bookstore may want to consider donating their books to the library at the end of the class.
Grading Every professor will have different criteria for grading. You dramatically improve your chances of obtaining a higher letter grade by carefully reading the grading criteria.
The grading system may be a point system. If so, the syllabus will list the exact range of points needed for each letter grade. There may be limits on how many points can be obtained from particular activities.
The grading system may be a percentage system. If so, the syllabus will list the exact range of percentages needed for each letter grade. Rarely you may find that the possible percentages exceed 100%. In this case the professor is offering some alternatives on the methods for obtaining hgiher grades.
Attendance Almost every professor gives some credit towards mere attendance. This means that you arrived and are in your seat on time as the class starts and that you stay until the end of the class session. Showing up for every class is the easiest way to improve your grade (not merely because of the credit for attendance, but also because of exposure to the professors complete lectures.
Typically there will be a maximum number of absences allowed before the student is either automatically dropped or automatically fails. There may be specific listings of requirements for excused absences. Pay attention to these limits.
Late arrival Also pay attention to the policy regarding being late to class. The professor may give lower credit for late arrival. The professor may give no credit for late arrival.
Even if the professor gives no credit for late arrival, it is better to get at least part of lecture than to miss it entirely. if you do arrive late, be quiet and unobtrusive when taking your seat. Do not distract from the ongoing lecture.
Class participation Most professors also give credit for class participation. This is a very subjective grading standard and somewhat unfair to those who are socially shy.
Always pay attention and take good notes. The professor will notice this, especially in smaller classes.
Try to make sure that you ask relevant questions during class. Asking excessive questions is disruptive and annoying, but professors like a good mix of student questions, if only to get a feel for how well the class is learning the material.
If the professor asks that questions be saved for a question and aanswer period at the end of the class, write down your questions on a separate piece of paper so that you will remember them when the time for Q&A occurs.
If you are too shy to ask questions during class, write down your questions and ask at the end of class or during office hours. Professors generally prefer that questions be asked during class so that the educational experience can be shared by all of the students, but it is better to ask questions later than not at all.
Programming assignments The syllabus will list how many programming assignments will be required, when they will be due, and how much credit you will receive for each. There may be a brief description or title of each programming assignment. There will probably be a breakdown on how each programming assignment is graded.
Generally you will receive the instructions for each programming assignment on separate handouts throughout the class. This gives the professor the flexibility to modify programming assignments based on the progress of each individual class.
Programming assignments are always trivial and artificial in nature. There simply isnt enough time in a typical class to assign large scale programming assignments, so each programming assignment will have specific educational goals in mind. Very artificial standards will be required to focus attention on the specific educational goals of each programming assignement.
When you receive a programming assignment, carefully read all of the requirements. Make sure that you udnerstand exactly what is expected of you. Immediately ask any questions about the requirements of the programming assignment (professors wont answer questions on how to do the assignment, but they will help you understand exactly what you are expected to accomplsih).
Because of the artificial nature of programming assignments the requirements may be highly unusual. You may see restrictions that simply wouldnt exist in real world programming. You may be asked to do specific things that would never occur in real world programming. It doesnt do you any good to rebel against the artififial nature of programming assignments.
The artificial nature of programming assignments can also give you useful feedback on whether you are solving the correct problem. If you find yourself spending a lot of time designing or coding something that isnt explicitly required by the programming assignment you may have wandered away from the assignment into a whole bunch of work that has nothing to do with your grade..
You will also find that the basic knowledge for every programming assignment should be provided in some combination of the lcetures and the textbook(s). You can use the progamming assignments as a guide for particular subject matters to pay attention to during lectures and during reading.
Class schedule Some professors may list the exact topics that will be covered in each class session. You can use this as a guide for what to read and study to prepare for each class.
The important things to notice in the class schedule:
- what topics will be covered in each class (if listed)
- days when the class wont meet
- when reading assignments are due
- when programming assignments are due
- when examinations will occur (especially midterms and finals)
- when writing assignments are due
- any other matters the professor feels is important enough to include in the syllabus
Reading assignments The professor will list the specific chapters of each required text that you are expected to read and the time by which you must have that material read.
Dont fall behind on your reading assignments. While some professors repeat in their lectures the same material covered in the textbook, many professors use the textbook as a starting point and delve into further details and nuance during lecture. If you havent read the assigned text then you may get lost during the lecture. Also asking questions that were covered in the required reading may adversely affect your class participation grade (unless you are asking for a better explanation of something you didnt understand from the required reading).
Writing assignments The syllabus will list any required writing assignments. Introductory classes and classes intended for a general audience will almost always have some kind of written report or essay. Follow all of the rules that you hear in your English composition classes, as well as any custom instructions that appear on the syllabus.
Examinations The syllabus will list all examinations for the class and how much they count for your grade.
Note the exact date and class session of any midterm, final examination, or other major examination. Note any required materials (such as particular answer forms). Note whether the examinations are cumulative or not.
Particularly notice the date and time of the final exam. It is very common for the final exam to be longer than a normal class and to be scheduled at a time (and possibly even day) different than normal class sessions.
You may find an indication that there may be surprise quizes. Quizes, especially suprise quizes, are generally given at the beginning of the class session. This technique helps make sure that students arent late for class. Quizes are also often given at the end of the class, possibly allowing slower students extra time to finish. Quizes at the beginning of a class tend to cover material from the assigned reading, while quizes aat the end of a class tend to cover the material in that sessions lecture.
Academic rules The syllabus will generally have a summary of the schools policies on academic dishonesty and disruptive behavior. If you need a more complete copy, the schools administration can provide you with the full set of academic rules. If you are unclear on any rule, ask your professor.
Often there will be an additional handout that discusses the rules for use of the schools computing resources. Obey all of these rules, even if they seem absurd.
Note that cheating, especially on programming assignments, is extremely easy to spot. Because every student has a different personality and individual programming style, every students work will have a distinctive look, even on the most trivial of programming assignments. Even a stupid grader will immediately notice if two or more student programs have a similar look.
Extra credit The syllabus will list any possibilities for extra credit work. If you think you might need the extra credit, start work early. You simply wont have the time to do extra credit work when finals crunch comes along.
If the professor doesnt list any extra credit, you can ask.
free music player coding example
Coding example: I am making heavily documented and explained open source code for a method to play music for free almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).
View music player in action: www.musicinpublic.com/.
Create your own copy from the original source code/ (presented for learning programming).
Work on this project is very slow because I am homeless. I am available for work if someone can provide an indoor place to work in Costa Mesa, California, electricity, internet connections, a flat raised working surface (such as a table or desk), a sitting device (such as a chair or stool), and a fully functional reasonably modern used computer. Im already homeless, so you dont need to pay me (and I understand how much business people hate the minimum wage law). Just give me a chance to work.
Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.
Names and logos of various OSs are trademarks of their respective owners.