Principles of Programming - Department of Electrical and Computer

advertisement

McMaster University

Dept. Electrical and Computer Engineering

COE 2SH4 - Term I (Fall) 2007

Course Outline

Principles of Programming

Instructor: Dr. Sorina Dumitrescu, ITB-A317

(905) 525-9140 ext. 26486, sorina@mail.ece.mcmaster.ca

Lectures:

Tutorials:

Monday, Wednesday 11:30-12:20pm, JHE/264

Friday 13:30-14:20pm, JHE/264

T01: Friday 10:30-11:20am, HSC/1A6

T02: Wednesday 12:30-13:20pm, CNH/B107

Laboratories: L01: EOW Monday 14:30-17:20am ITB/154

L02: EOW Tuesday 14:30-17:20am ITB/154

L03: EOW Wednesday 14:30-17:20am ITB/154

L04: EOW Thursday 14:30-17:20am ITB/154

L05: EOW Monday 14:30-17:20am ITB/154

L06: EOW Tuesday 14:30-17:20am ITB/154

L07: EOW Wednesday 14:30-17:20am ITB/154

L08: EOW Thursday 14:30-17:20am ITB/154

Course Format :

Three 1h-lectures/week, one 1h-tutorial/week, one 3h-laboratory every other week.

Prerequisite :

Registration in a program in Electrical and Computer Engineering.

Antirequisite : SFWR ENG 2S03

Course Objectives :

To give an understanding of fundamental program design concepts, and handson experience designing and implementing computer programs. Emphasis will be on developing practical skills to write working programs to solve engineering problems, including testing and debugging.

Course Texts :

Harvey M. Deitel, Paul J. Deitel, C How to Program , 5th Ed., Prentice Hall, 2007

(ISBN: 0-13-240416-8).

S. Dumitrescu, ”Comp Eng 2SH4 Courseware”, McMaster University, Sept. 2007.

Alternative: Harvey M. Deitel, Paul J. Deitel, C How to Program , 4th Ed.,

Prentice Hall, 2007 (ISBN: 0-13-142644-3), without the courseware pack.

Additional References :

Kernighan, Ritchie, The C Programming Language , 2nd Ed., Prentice Hall, 1998

(ISBN 0-13-110362-8).

S. Zakhour et al., The Java Tutorial: A Short Course on the Basics , 4th Ed.,

Addison-Wesley, (ISBN 0-32-133420-5).

1 of 4

McMaster University

Dept. Electrical and Computer Engineering

COE 2SH4 - Term I (Fall) 2007

Course Outline

Course Web Page : http://www.ece.mcmaster.ca/ ∼ sorina/courses/2sh4/

Assessment :

Assignments (4) – 19%

Laboratories (6) – 6%

Midterm Tests (2) – 35%

Final Exam – 40%.

Project/Assignment Assessment :

Late assignments will be accepted at a penalty of 20% per day. If you believe there is an error in grading your assignment/test, provide a written explanation of the error and resubmit. The instructor reserves the right to administer deferred tests/examinations in an oral format.

Calculators :

The use of calculators or other electronic aids will not be permitted during tests and examinations.

2 of 4

McMaster University

Dept. Electrical and Computer Engineering

COE 2SH4 - Term I (Fall) 2007

Course Outline

Outline of Topics: (approximate)

1.

C programming language and procedural techniques (6-7 weeks):

(a) Built-in data types, arithmetic, relational and logic operators, console and file I/O.

(b) Selection and repetition statements; structured program development.

(c) Functions, mechanism of function call, global vs. local variables, storage classes, scope rules.

(d) One dimensional and multidimensional arrays, passing arrays to functions.

(e) Pointers, pointers and functions, pointer arithmetic, relationship between pointers and arrays.

(f) Double pointers, arrays of pointers, string arrays, dynamic memory allocation, pointers to functions.

(g) Structures, arrays of structures, structures and functions.

(h) Data structures: linked lists, stacks and queues, sorted linked lists.

(i) Recursion; binary file processing; bitwise operators.

2.

Introduction to the Java programming language and object-oriented techniques (4-5 weeks)

(a) Conceptual differences between object-oriented and procedural programming. Objects, messages.

(b) Encapsulation, information hiding, classes, class members.

(c) Inheritance, class hierarchies.

(d) Polymorphism, abstract and concrete classes.

3.

Introduction to Matlab (1 week)

(a) Matrices and arrays manipulation.

(b) Techniques for plotting numerical data.

(c) Programming in Matlab; scripts and functions.

3 of 4

McMaster University

Dept. Electrical and Computer Engineering

COE 2SH4 - Term I (Fall) 2007

Course Outline

Policy Reminders:

The Faculty of Engineering is concerned with ensuring an environment that is free of all adverse discrimination. If there is a problem, that cannot be resolved by discussion among the persons concerned, individuals are reminded that they should contact the

Department Chair, the Sexual Harassment Officer or the Human Rights Consultant, as soon as possible.

Students are reminded that they should read and comply with the Statement on

Academic Ethics and the Senate Resolutions on Academic Dishonesty as found in the

Senate Policy Statements distributed at registration and available in the Senate Office.

Academic dishonesty consists of misrepresentation by deception or by other fraudulent means and can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: ”Grade of

F assigned for academic dishonesty”), and/or suspension or expulsion from the university. It is your responsibility to understand what constitutes academic dishonesty. For information on the various kinds of academic dishonesty please refer to the Academic

Integrity Policy, specifically Appendix 3, located at http://www.mcmaster.ca/senate/academic/ac integrity.htm

The following illustrates only three forms of academic dishonesty:

1.

Plagiarism, e.g. the submission of work that is not one’s own or for which other credit has been obtained.

2.

Improper collaboration in group work.

3.

Copying or using unauthorized aids in tests and examinations.

In this course we will be using a software package designed to reveal plagiarism.

Students will be required to submit their work electronically and in hard copy so that it can be checked for academic dishonesty.

4 of 4

Download