ECE/CS 151 - Introduction to Programming I w/ Embedded Control Lab
Spring 2012 Section 001
T/TH 8:00 - 9:20am, COVL 216
Professor: Dr. Jennifer Parham-Mocello
2101 Kelley Engineering Center
Office Hours - 2101 KEC
9:30-11:00am Tuesday & Thursday (or by appointment)
Website - http://classes.engr.oregonstate.edu/eecs/spring2012/cs151-001
Class Email - cs151-001-sp12@ENGR.ORST.EDU (distributed to whole class, TAs, and instructor)
TA Email - cs151-ta@ENGR.ORST.EDU (distributed to all TAs and instructor)
(required) Kernighan, B. & Ritchie, D. (1988). The C Programming Language (2nd Ed.). Upper Saddle River, NJ: Prentice Hall. ISBN 0-13-110362-8
(optional) Oualline, S. (1997). Practicle C Programming (3rd Ed.). Sebastopol, CA: O'Reilly Media, Inc. ISBN 978-1-56592-306-5
(MTH 111 or MTH 112) or (MTH 251 or MTH 251H) or Placement Test
Write a program to include and use library functions such as those in the <stdio.h>, <stdlib.h>, <math.h>, <ctype.h>, and <string.h> standard C libraries.
Write a program that uses expressions involving variables and constants combined with the arithmetic, relational, logical, and/or assignment operators including expressions with mixed data.
Write a program that alters the sequence of execution using control statements involving selection (switch), condition (if-else, ?:), and repetition (for, while, do-while).
Write a program that includes one or more user-defined functions with input formal parameters for which a written specification is given. The program will include function prototypes and calls to the function(s).
Write a program that uses 1-D and 2-D arrays for storing and retrieving collections of data of one of the basic C types.
Write a program that manipulates strings via pointers and uses pointer types for passing string or other array data, by reference, to functions.
Write a program that creates a new structured data type using typedef, reads and/or writes data of this type from or to a file and passes data of this type to one or more functions.
A detailed description and timeline of the topics covered in this course can be on the calendar page. This
calendar is strictly a guide for the course. It is tenative and subject to change. You can find the topics covered in the daily
lectures on the slides page, and the assignments with their corresponding actual due dates are located on
the assignments page.
Class attendance is not required, but it is STRONGLY ENCOURAGED.
When a class is missed, it is the STUDENT'S responsibility to obtain any notes, assignments, etc. from classmates.
Lab attendance is required. YOU WILL RECEIVE A ZERO FOR ANY UNEXCUSED MISSED LABS.
Excused absences must be approved by your lecture instructor.
Students are still responsible for lab work missed even when their absence was excused.
Students can ONLY makeup quizzes given in lecture with an approved absence.
Please be on time for lecture because it can be disruptive to other students, as well as the instructor.
If the instructor is late for a lecture or a TA is late for lab, please remain in the classroom for 10 minutes.
You must remain in the lab until your work is complete and viewed/graded by a lab instructor or until the lab period has ended.
Scores for labs, quizzes, assignments, and exams will be posted on Blackboard as they are graded.
Labs - 10%
There are 10 total labs in this course, i.e. one to be completed each lecture week.
Labs are graded on a 10-point scale and primarily based on participation and effort,
rather than correctness.
You are required to bring a laptop to the lab.
These labs are supposed to enhance the lectures using hands-on learning.
Labs are designed to be finished in 70-90 minutes and graded during lab time by your lab instructor.
If you do not complete the lab during the allotted time and/or do not like your grade, you can finish the lab at home and bring it with you to the next week's lab for a grade.
If you have a problem with a lab grade, you must contact your lab instructor through EMAIL within ONE WEEK of receiving your grade.
Quizzes - 10%
There is not a set number of quizzes.
The quizzes are designed to take 10 minutes and cover prior lecture material.
They are unannounced and given during lecture time.
The quizzes are used to periodically check for class and student understanding.
Assignments - 40%
There are 8 total assignments to be completed over the course of this class.
All assignments include writing a computer program MUST compile and execute on ENGR. There will be written explanations of the solution to turn in (as a pdf) with each implementation.
Assignments are to be turned in before Midnight (by 11:59pm) on the date they are due, otherwise an assignment is considered late.
Programs are evaluated on how well they solve the assigned problem (adherence to program specification), proper formatting/use of comments, and creativity:)
Programming assignments that do not compile will receive a grade of zero.
Late assignments are accepted, but there is a 5 point deduction for each day the assignment is late up to 1 week past the assignment due date, otherwise the grade is a zero!!!
You will turn in your assignments through handin on the
If you have a problem with an assignment grade, you must contact your TAs through EMAIL within ONE WEEK of receiving your grade.
Remember to use your TAs because they are the ones who execute, read, and grade the assignments.
Exams - 25% (12.5% each exam)
The are 2 total exams for this course.
The exams are written exams, and they will be given during lecture time.
A student must notify the instructor BEFORE the exam to schedule a makeup.
Final Exam- 15%
There will be a cummulative final exam.
The final exam may include amy combination of programming, written work, and explanation of existing code.
A student must notify the instructor BEFORE the final to schedule a makeup.
* REMINDER: A passing grade for core classes in CS is a C or above. A C-, 72 or below, is not a passing grade for CS majors.
| A || 93 or greater
| A- || 90 - 92
| B+ || 87 - 89
| B || 83 - 86
| B- || 80 - 82
| C+ || 77 - 79
| C || 73 - 76*
| C- || 70 - 72
| D+ || 67 - 69
| D || 63 - 66
| D- || 60 - 62
| F || less than 60
I encourage students to work together and learn from one another on labs and assignments. However, I do expect you to turn in your OWN work.
Working with someone does not include copying someone else's work and changing a small amount of that work, such as variable names, comments,
spacing, etc. During group assignments you and your partners may turn in one assignment per group with everyone's name attached. Working
together is discouraged on exams and the final. At NO point should you copy work from the internet, and if you do copy material
from an external resource, then you need to cite the resource and author(s). Cheating and plagerisim are not taken lightly! You will receive
a zero on your first abuse of these rules. In the case of sharedf work, the student sharing the work and the student copying the work will both
recieve zeros. On the second abuse, your name(s) will be given to the EECS department, where they will handle the details. Please
read the department,
university dishonesty policies.
Students with Disabilities
"Accommodations are collaborative efforts between students, faculty and Disability Access Services (DAS). Students with accommodations
approved through DAS are responsible for contacting the faculty member in charge of the course prior to or during the first week of the
term to discuss accommodations. Students who believe they are eligible for accommodations but who have not yet obtained approval through
DAS should contact DAS immediately at (541) 737-4098."
Students with documented disabilities who may need accommodations, who have any
emergency medical information the instructor should be aware of, or who need special
arrangements in the event of evacuation, should make an appointment with the instructor
as early as possible, and no later than the first week of the term. Class materials will be
made available in an accessible format upon request.