Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

ECE 2036: Engineering Software Design, Lecture notes of Data Structures and Algorithms

The course objectives and outline for ECE 2036: Engineering Software Design offered by the School of Electrical and Computer Engineering at Georgia Tech Lorraine during the Spring Semester of 2020. The course aims to teach students how to write efficient and correct programs in C/C++ and covers topics such as basic syntax, classes, inheritance, dynamic memory, templates, and parallel processing. The course includes weekly assignments and a final programming project.

Typology: Lecture notes

2019/2020

Uploaded on 05/11/2023

laskhminaran
laskhminaran 🇺🇸

4.7

(6)

224 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
GEORGIA TECH LORRAINE
GEORGIA INSTITUTE OF TECHNOLOGY
School of Electrical and Computer Engineering
ECE 2036
Engineering Software Design
Spring Semester 2020
Course objective The purpose of this course is foster the skill to write efficient and correct programs in
C/C++ as needed in your career as an engineer. Students will understand how to write efficient code, and
how to effectively debug code during the development process.
Course outline
Review of C basic syntax, compilation, linking, libraries, etc.
Defining and implementing classes, constructors, destructors etc.
Member functions, virtual functions, pure virtual functions
Argument passing variations (by value, by pointer, by reference)
Managing dynamic memory (new, delete)
Inheritance and subclassing
Using common tools, gdb, make, gprof, valgrind, emacs etc.
Floating Point precision and numerical analysis
Introduction to Templates, including data structures and algorithms in the Standard Template Library
Parallel processing and concurrency
Lectures
Lectures are 1:30 hour long twice a week; an assignment will be due every week.
Instructor St´ephanie ARAVECCHIA, office 220
Email: stephanie.aravecchia@georgiatech-metz.fr
Office hours The office hours will be scheduled every Tuesday from 2:00 pm to 4:00 pm (to be confirmed
at the beginning of the semester)
Courses prerequisite ECE 2020/2030, ECE 2025/20261
Class Website https://canvas.gatech.edu/
Books, hanbooks The two reference books are:
C++ How to Program, by Deitel, 10th edition, ISBN-13: 978-0-13-444823-7
Mbed handbook and cookbook at mbed.org
Projects C/C++ assignments will use GNU C++, already installed on most Linux systems. It can also
be installed on Mac OSX and Windows. It is available at: https://gcc.gnu.org/ You can choose another
environment, as specified on page XXXV of the textbook.
A couple of projects will require the use of the mbed LPC1768 module and the protoboard and jumper wires
used in 2031, 2035 and other classes, which will be provided to you at no cost at GTL. C/C++
software will run on the mbed module and downloaded from any PC using a USB cable. Software for the
mbed module is free and a cloud compiler and file server is used for software development.
You will have a final programming project that will be due during the last week (reading week) of classes.
1may be taken concurrently
1
pf2

Partial preview of the text

Download ECE 2036: Engineering Software Design and more Lecture notes Data Structures and Algorithms in PDF only on Docsity!

GEORGIA TECH LORRAINE

GEORGIA INSTITUTE OF TECHNOLOGY

School of Electrical and Computer Engineering

ECE 2036

Engineering Software Design

Spring Semester 2020

Course objective The purpose of this course is foster the skill to write efficient and correct programs in C/C++ as needed in your career as an engineer. Students will understand how to write efficient code, and how to effectively debug code during the development process.

Course outline

  • Review of C basic syntax, compilation, linking, libraries, etc.
  • Defining and implementing classes, constructors, destructors etc.
  • Member functions, virtual functions, pure virtual functions
  • Argument passing variations (by value, by pointer, by reference)
  • Managing dynamic memory (new, delete)
  • Inheritance and subclassing
  • Using common tools, gdb, make, gprof, valgrind, emacs etc.
  • Floating Point precision and numerical analysis
  • Introduction to Templates, including data structures and algorithms in the Standard Template Library
  • Parallel processing and concurrency

Lectures Lectures are 1:30 hour long twice a week; an assignment will be due every week.

Instructor St´ephanie ARAVECCHIA, office 220 Email: stephanie.aravecchia@georgiatech-metz.fr

Office hours The office hours will be scheduled every Tuesday from 2:00 pm to 4:00 pm (to be confirmed at the beginning of the semester)

Courses prerequisite ECE 2020/2030, ECE 2025/2026^1

Class Website https://canvas.gatech.edu/

Books, hanbooks The two reference books are: C++ How to Program, by Deitel, 10th edition, ISBN-13: 978-0-13-444823- Mbed handbook and cookbook at mbed.org

Projects C/C++ assignments will use GNU C++, already installed on most Linux systems. It can also be installed on Mac OSX and Windows. It is available at: https://gcc.gnu.org/ You can choose another environment, as specified on page XXXV of the textbook. A couple of projects will require the use of the mbed LPC1768 module and the protoboard and jumper wires used in 2031, 2035 and other classes, which will be provided to you at no cost at GTL. C/C++ software will run on the mbed module and downloaded from any PC using a USB cable. Software for the mbed module is free and a cloud compiler and file server is used for software development. You will have a final programming project that will be due during the last week (reading week) of classes.

(^1) may be taken concurrently

Honor code GT Academic Honor Code is strictly enforced at GT Lorraine. Adherence to the Georgia Tech Honor Code is expected and all suspected instances of academic misconduct will be reported to the Dean of Students. It is your responsibility to ask for clarification if collaboration guidelines, test-taking policies, etc. are not clear. You will find detailed information at http://osi.gatech.edu/content/honor-code. Although students are encouraged strongly to work together to learn the course material, all students are expected to complete exams, program and complete their mbed projects individually. 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. You MAY NOT use old assignments from students in previous ECE2036 classes. However, you ARE allowed to discuss the problems with fellow students in the class this semester and with 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. Students should be prepared to explain each assignment and their work when demoing selected assignments to the instructor.

Grading Your grade will be determined using the following weighting.

Attendance & Participation 10% Mbed, C/C++ Assignments, Final Programming Project 30% Test #1 20% Test #2 20% Final 20%

Exams are closed books, closed notes, no computer or cell phone allowed.

Attendance policy Attendance will be taken at the beginning of each class. For more information about class attendance at Georgia Tech, you may go to http://www.catalog.gatech.edu/rules/4/.

Student Outcomes ”P” for primary indicates the outcome is a major focus of the entire course, ”M” for moderate indicates the outcome is the focus of at least one component of the course, but not majority of course material.

  1. (P) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics;
  2. (M) An ability to apply engineering design to produce solutions that meet specified needs with con- sideration of public health, safety, and welfare, as weel as global, cultural, social, environmental, and economic factors;
  3. (M) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Student-Faculty Expectations Agreement At Georgia Tech we believe that it is important to strive for an atmosphere of mutual respect, acknowledgement, and responsibility between faculty members and the student body. See http://www.catalog.gatech.edu/rules/22/ for more information.

Disabilities Georgia Tech offers accommodation to students with disabilities, this policy is extended to GT Lorraine. If you need any accommodation, then inform your instructor and Mrs Corinne Guyot with a certificate from the Office of Disability Services.

Assignments Assignments will be posted periodically on Canvas.