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:
-
To use the basic problem-solving techniques to
develop algorithms and programs for given problems.
-
To demonstrate algorithm development using the
process of top-down, stepwise refinement.
-
To explain what a C or MATLAB program does and how it works
when given the program code.
-
To write complete C or MATLAB programs based on a given
specification.
-
To convert a numerical methods algorithm to a set
of instructions in C or MATLAB.
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:
-
First test (20%),
-
Second test (20%),
-
Third test (final exam) (30%), and
-
C programming projects and MATLAB assignments (30%).
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.
-
Introduction to C
-
Structured Program Development
-
Control Structures
-
Functions and Recursion
-
Arrays
-
Pointers
-
Structures
-
C Preprocessor
-
MATLAB Fundamentals
-
MATLAB Functions and M-files
-
Matrix Operations in MATLAB
-
Graphics in MATLAB
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:
and with RIT's Academic Honesty Policy, which may be found online at:
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:
-
For a first offense the student involved will receive,
at a minimum,
a grade of zero for the assigned work.
-
For a second offense, in the same or a different course, the student
will receive,
at a minimum, a failing grade for that course.
-
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.