ECE 2036: Engineering
Dr. Benjamin Klein
Office: TSRB 438
Office hours 1- 2 pm
& 3 – 4 pm Wednesdays in Van Leer E378
is designed to cover the C++ programming language in detail, with emphasis on
engineering applications and efficient algorithms. Additionally we will cover
programming methods for embedded systems using C++. There are numerous
programming assignments, each of which enforces some aspect of efficient
programming in C++. The course covers object oriented programming including
polymorphism, C++ references, C++ operator overloading, and templates.
syntax, structure of a program
types, pointers and arrays, data structures
member functions, constructors, destructors
hierarchies and inheritance
and the Standard Template Library (STL)
programming with C and C++
Textbook, supporting materials, and resources
textbook: C++ How to Program, 9th
Edition by Paul Deitel and Harvey Deitel (required).
This includes a code to access a website with instructional videos and
other supporting materials.
Supporting textbook (free): Thinking in C++, 2nd Edition by Bruce Eckel.
Available at: http://original.jamesthornton.com/eckel/
materials will be posted to t-square.gatech.edu
Hamblen’s ECE2036 website: http://users.ece.gatech.edu/~hamblen/2036/
to read C++ introduction and reference at http://cplusplus.com
Mbed handbook and cookbook at mbed.org
Mbed module and parts kit (required): the mbed
module is a embedded
processor / microcontroller and associated parts that you will program as part
of some assignments. This may prove
useful in other labs as well; for example, your senior design project. You may purchase this kit
‘used’ from a student, or
‘new’ mbed kits will arrive in a few
Jinx computing cluster is a Linux-based system that can be accessed by using ssh (a good Windows ssh client is
PuTTY) and connecting to jinx-login.cc.gatech.edu
. This cluster can be used
for writing, compiling, and running your code. However, you are free to use any of the
available computing resources at GT, as well as your personal computing
hardware, and any operating system.
You have access to computers running the Linux operating system in Klaus
Grading, policies and procedures
projects will be posted to t-square.gatech.edu. There will be roughly 5-7 of them over
the course of the semester. It is
the responsibility of the student to check for projects on t-square
frequently. The last project may be
due during the last week of classes (‘dead week’). The procedure for turning in each
project may vary and will be detailed at the time the project is assigned. In general, you will have to provide
your source code.
student must turn his or her own work. You MAY NOT copy code from others in any
way. You MAY NOT use solutions that others have developed as the basis for your
solutions. However, you ARE allowed to discuss the problems with others,
including fellow students, teaching assistants, and the instructor. You ARE
allowed to solicit and obtain help in design and debugging your solutions. You
CAN show others your code and ask for advice about why it is not working or how
to make it work better. But to be totally clear, you MUST implement your own
solution. If someone helps you, you still MUST enter every line of code of your
solution personally, and you MUST fully understand every part of your
submission. Copied code, or code
copied with trivial changes (renamed variables and the like) is not allowed.
Assignments / Projects: 35%
Exam 1: 20%
Exam 2: 20%
course will be graded on a ‘curve’, so that the final course GPA is
in the range 2.4 – 2.8, per School of ECE guidelines.
class lectures will cover the material in a discussion format, where the
instructor will explain how to achieve certain goals using C++, and will expect
the students to participate with discussion and suggestions. The instructors
encourage (and expect) you to participate actively in the learning process. In
particular, we welcome your comments and questions as we cover material in
class. One-way lectures quickly becoming boring, both for you
and for me.
dates and other important announcements may be made in class, on t-square, or both.
Students are responsible for making themselves aware of the content of
all such announcements.
do not tell me what grade you need to earn in order to stay in school / receive
a scholarship / etc. Also, please don’t
ask about additional work you can perform to improve your grade. All students will be graded equally on
the basis outlined above. Grading
individual students on any other basis would be unfair and inappropriate.