Basics of programming in C. Data types, operators, control, functions, arrays, pointers, file processing, testing and debugging.
Attendance at scheduled laboratory sessions is mandatory. Repeatedly missing laboratory sessions will reduce your final grade (see below).
The two-hour scheduled laboratory sessions are coordinated by Teaching Assistants, and are used to complete laboratory exercises and to consult with Teaching Assistants about other aspects of the course, e.g. projects.
The laboratory exercises are designed to be learning tools that complement the lectures. They are designed to be collaborative experiences where students work with each other and the Teaching Assistant to complete the lab exercises. Students who are habitually late will not receive credit when they arrive late to lab.
In person communication can be done at help room (see the homepage). Private appointments with the instructor (only for matters that can't be discussed publicly) can be arranged on Piazza.
Emails will not be responded to. Please make a Piazza post (public or private) for electronic communication.
You will be expected to ensure that you can receive communications via Piazza as that is how class announcements will be made.
The intent of this class is to teach the fundamentals of programming using the low-level computer language "C". After this class, you should be able to solve simple programming problems, but more importantly, you will have an understanding of how programming works at a practical level.
There will be 1000 points distributed thoughout the course via homeworks, exam, lab exercises and participation. Extra credit doesn't figure into the grade calculation (see below).
To be eligible to earn a non-zero grade in the course, a student normally must do ALL the following:
Important: Contact your instructor, if you have any concerns about your performance in the class.
There will be at least 12 weekly homework assignments. The homeworks are intended to be straightforward if you have done the lab exercises and attended the lectures. Only your top 10 homework scores will count toward your final grade; all others will be dropped. The counted scores will each be worth 70 points for a total of 70% of your final grade. Homeworks are always due the Thursday after they are assigned at 10pm.
The exam will occur approximately 2/3 of the way through the semester (see the Schedule) and will cover all of the material to that point. It will be worth 300 points (30% of your final grade). We will hand out a sample exam at least one week before the actual exam that will closely resemble it so that you know exactly what to expect. There will be no final exam.
Attendance during lab is mandatory. However, as there are two lab sessions covering the same material, you may request a temporary seat in the other section if you are compelled to miss yours. During the lab, exercises will be distributed and you will be asked to complete or at least make progress during the lab session. Upon completing the exercise or at the end of the session, the TA will award a point for participation on the exercise. You can fail to receive credit for two labs with no grade penalty.
However, if you fail to receive credit for more than two labs, we will deduct 0.5 GPA from for each lab that you don't receive credit after the allowed 2. Example: your grade is a 3.5, however you didn't receive credit for 4 of the labs, so your final grade is 3.5 - (0.5 * (4 - 2)), which is a 2.5.
As a Spartan, I will strive to uphold values of the highest ethical standard. I will practice honesty in my work, foster honesty in my peers, and take pride in knowing that honor in ownership is worth more than grades. I will carry these values beyond my time as a student at Michigan State University, continuing the endeavor to build personal integrity in all that I do.
If their occur unfortunate circumstances that would lead you to have unexpected absences, MSU has a Grief Absence Policy. You need to contact the Associate Dean, and we will make every effort to aid you in continuing the class after we recieve confirmation from the administration.
Plagiarism (unsourced use of other's intellectual property) is not allowed. However, citing and using other's works is generally fine (please ask if uncertain) as long as the material wasn't made specifically for solving assignments for this class. Additionally, the use of material from previous semesters and code from other students in the class are instances of academic dishonesty. Intellectual (non-code) collaboration with other students in the class is allowed, but each student should write (and not share) their own code. If a student submits code that they don't understand, such is also an act of academic dishonesty.
Because a goal of this course is to teach professionalism, any academic dishonesty will be viewed as evidence that this goal has not been achieved, and will be grounds for receiving a final grade of 0.0. Examples of academic dishonesty include (but are not limited to):
See Academic Dishonesty and Attribution for more details.
According to the university, the grade of "incomplete" is reserved for "exceptional cases, where an unanticipated event beyond one's control interferes with a student's completion of course requirements."
Requests for regrading can go in either direction; we are often generous when we first grade something, so please be sure that we did make a mistake before you submit your request. On the other hand, our goal is for you to understand the course material, so we will always be willing to explain to you any portion that you are stuck on. All requests for regrades must come within one week of the return of the graded item. Thereafter, no requests will be considered, so be sure to pick up your returned assignments on time.
Those who participate in class provide us with another source of information as to how well they are learning the material, and how much effort they are putting into the course. We can use this information to help counterbalance a difficulty with exams or projects. Let's have an active class! Class participation will never harm your grade; always ask any questions you may have about the material. We strongly encourage students to ask and answer each others questions on Piazza. Although there aren't points associated with participation in this class, providing helpful answers on Piazza or giving constructive criticism on the class can improve your grade. Once initial grades are assigned, participation can boost grades up one step (that is, one-half letter grade or 0.5 on a 4-point scale). If your grade is borderline, we may consider your participation to sway our decision to your advantage.
Michigan State University is committed to providing equal opprotunity for participation in all programs, services and activities. Requests for acommodations by persons with disabilities may be made by contacting the Resource Center for Persons with Disabilities at 517-884-RCPD. Once your eligibility for an accommodation has been determined, you will be issued a verified individual services accommodation ("VISA") form. Please present this form to me at the start of the term and/or two weeks prior to the accommodation date (exam, project, etc.). Requests received after this date will be honors whenever possible.
The goal of this class is for you to learn. If you find that anything is coming in your way of that goal, please talk with us about it. We plan to keep the class flexible to the learning styles that seem to work best for the students, so feedback is always appreciated.