Introduction to Programming with C and MATLAB,
4001-211-01
Spring 2012-2013 (2123)

Course Web Page

http://www.cs.rit.edu/~fxk/courses/211.01.html

Instructor

Fereydoun Kazemian
Bldg. 70, Room 3537
Email: fxk at cs.rit.edu
http://www.cs.rit.edu/~fxk

Office hours:

Check my schedule

Asking questions via email seems to work well for many students.

Lectures

M, T, R: 11:00-11:50AM, 70-3445.

Required Text

C: How to Program, Seventh Edition,
Deitel & Deitel,
Prentice Hall(2013).

Prerequisites

1016-281 Project-based Calculus I.

Attendance

Attendance is optional. However, if you miss a class it is your responsibility to get notes from another student. Lectures will not be repeated during office hours for someone who missed class. In accordance with Institute policy you may withdraw from the course until 04/26/2013. That is a Friday. I follow the official CS department policy regarding Incomplete grades.

Course Description

An introduction to structured programming using C and MATLAB. Basic problem-solving techniques and algorithm development through the process of top-down, stepwise refinement are introduced throughout the course. Classical algorithms for the solution of numerical problems encountered in science and engineering are used to demonstrate the development of algorithms and their implementations in C and MATLAB. Basic topics such as data types, operators, expressions and standard C and MATLAB control structures will be covered. Additional topics such as arrays, structures, pointers and memory allocation will also be introduced. Programming assignments will be required. Most of the assignments will focus on problems related to science and engineering. This course may not be taken for credit by Computer Science, Software Engineering, and Computer Engineering majors.

Intended Learning Outcomes

After successful completion of this course, students will be able:

Tests

There will be three tests, two in-class tests and a final exam. The tests will be cumulative, closed notes, closed books, and given on the following dates:
Tests Dates
Test 1 28-March-2013
Test 2 25-April-2013
Test 3 16-May-2013
Tests CANNOT be made up except for real emergencies, in which case, proper documentation will be required.

Programming Projects

There will also be a number of programming projects to be completed. Each programming project will be graded according to whether your work passes a set of tests. Each programming project is worth a certain number of points, which you earn by successfully completing the project. Late projects will receive a grade of zero. Your grade for the programming projects will be the number of points you earned divided by the available points. In addition to the programming projects, there will also be a number of MATLAB assignments, some of which will have a programming component. Reading assignments and end of chapter exercises from the C text are considered as learning tools that help you understand the topics, and show where you need work. For this reason, the assigned exercises will not be graded.

Evaluation

Your grade for the course will be computed based on the following: You know that computer systems have a propensity to go down just before projects are due so take this into account when planning your work.

Disputing Your Grade

If you feel that an error was made in grading your homework or exam, you have one week from the time the graded work is handed back to dispute your grade.

Course Content

The goal is to cover most of the first fourteen chapters of the required text followed by MATLAB topics listed below. It is expected that you read the material assigned for a given week before the class on Monday.

Department of Computer Science
Policy on Academic Honesty

The DCS Policy on Academic Honesty will be enforced.

As an institution of higher learning, RIT expects students to behave honestly and ethically at all times, especially when submitting work for evaluation in conjunction with any course or degree requirement. The Department of Computer Science encourages all students to become familiar with the RIT Honor Code (a general statement that sets high standards of behavior for all members of the RIT community), which may be found online at:

RIT Honor Code

and with RIT's Academic Honesty Policy, which may be found online at:

RIT Academic Honesty Policy

As RIT's Academic Honesty Policy points out, "Academic Dishonesty falls into three basic areas: cheating, duplicate submission, and plagiarism [emphasis added]." While many occurrences represent clear violations, there are also many situations that can occur which are less clear cut. For every section of a course taught in the Department of Computer Science, the instructor will make known to students his or her expectations related to such matters as cheating, duplicate submission, or plagiarism.

Student behavior deemed by an instructor (in the Department of Computer Science) to violate RIT's Academic Honesty Policy will be subject to disciplinary action. Such behavior will be treated as follows:

  1. For a first offense the student involved will receive, at a minimum, a grade of zero for the assigned work.

  2. For a second offense, in the same or a different course, the student will receive, at a minimum, a failing grade for that course.

  3. For a third offense, a student will be suspended and their case will be referred to judicial affairs.

Stronger penalties may be exacted in cases (1) or (2) above if, in the judgment of the instructor, the offense involves a flagrant violation of policy. Furthermore, both undergraduate and graduate students may incur additional, non-academic penalties. Graduate students in cases (1) or (2) above will lose financial aid, although the graduate program coordinator, at his or her discretion, may choose to override this penalty. The undergraduate program coordinator, at his or her discretion, may choose to impose academic actions in cases (1) or (2) above for undergraduate Computer Science majors.

According to section D5.0 (Grades) of the RIT Institute Policies and Procedures Manual, "A student may not withdraw from a course ... to avoid charges of academic dishonesty." The Department of Computer Science will enforce this policy. Finally, for each student involved in an incident of dishonest academic behavior, the course instructor will file an academic dishonesty report detailing the incident. If the student is a Computer Science major, a copy of the report will be placed in the student's departmental file; otherwise, a copy of the report will be forwarded to the student's department chair or program coordinator.