KEMBAR78
Syllabus | PDF | Engineering | Software Engineering
0% found this document useful (0 votes)
10 views9 pages

Syllabus

Uploaded by

Oscar Wang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views9 pages

Syllabus

Uploaded by

Oscar Wang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

ENGR-UH 1000

Computer Programming for Engineers


Fall 2020

Credits: 4
Prerequisites: None
Corequisites: None
Faculty Details Professor Instructor
Name Mohamad Eid Muhammad Hassan Jamil
Email mohamad.eid@nyu.edu mhj5@nyu.edu
Telephone +971 2 6284590 +971 2 6284045
Workspace A1-189 A1-10
Office Hours Mon. 1:30-2:30pm (GST) Sun. 9:30-11:30am (GST)
Wed. 1:30-2:30pm (GST) Tues. 9:30-11:30am (GST)

Course Details Day/Time Location


Lecture Mon/Wed 11:50AM – 1:05PM (GST) Online
Lab Mon-Thurs 2:40-5:20pm (GST) Online

Course Description
This course counts toward the following NYUAD degree requirements:
Majors > Civil, Computer, Electrical, General, Mechanical Engineering > Required

The objective of the course is for students to acquire the fundamental knowledge of computer
programming, develop transferable programming skills, and learn to solve engineering problems via
programming. The course is primarily based on the C++ programming language and an introduction to
another programming language such as MATLAB (to demonstrate transferring programming knowledge
from one language to another). The course explores the application of engineering computation in
various engineering domains including mechanical, civil, computer, and electrical engineering. The
following topics are covered: introduction to computer systems, standard input/output, file input/output,
decision structures, loop structures, functions, arrays, addressing, dynamically allocated memory,
structures, introduction to object-oriented programming, problem solving via programming algorithm
design, and applications in another programming language such as MATLAB.

Page 1 of 9
Course Learning Outcomes and Link to Program Learning Outcomes (PLOs)
Linked to
Course Learning Outcomes Engineering
PLOs1
1. Apply basic programming principles and algorithmic thinking in 1.c, 2.c
engineering problem solving
2. Produce software systems and documentation using C++ programming 2.c, 3.a
language
3. Develop software components using MATLAB modern engineering tool to 2.c, 5.a
solve engineering problems
4. Acquire basic skills in transferring programing knowledge from one 7.a
programming language to another

Required Bookstore Texts (Available in a digital format through the course website)

• Delores M. Etter and Jeanine A. Ingber, Engineering Problem Solving with C++, Pearson, 4th
edition, ISBN-13: 9780134484532, 2016.
• Stormy Attaway, Matlab: A Practical Introduction to Programming and Problem Solving,
Butterworth-Heinemann, 4th Edition, ISBN: 9780128045251, 2016.
• William Palm III, MATLAB for Engineering Applications, McGraw-Hill Education, 4th Edition,
ISBN-13: 978-1260084719, 2018.

Teaching Methodologies

The course will be taught online through the “remote plus” format. The course involves synchronous and
asynchronous learning activities. Synchronous activities are the lectures and the lab sessions. The lecture
time will be devoted to introducing and discussing course topics. Interactive laboratory sessions are
dedicated for reinforcing course topics via solving representative problem sets. A self-assessment quiz is
provided by the end of every lab session. The asynchronous learning activities include completing five
assignments, a term project, and a learning log. Participation will be graded based on active contributions
to online forum discussions (asking and responding to questions posted by class peers).

Graded Activities
Grade Frequency / Due Linked to Course
Activity Detail Percentage Data Learning Outcome(s)
Participation (class and forum) 10 % Weekly 5
Assignments 50 % Five assignments 2
Term project 30 % Week 14 1, 7
Learning log 10 % Weekly 3

1
See Appendix 1

Page 2 of 9
Laboratory Descriptions

The course has a weekly lab session to practice concepts covered during the lecture on the previous week.
The lab session will be conducted online. Each lab session will start with a brief summary of the covered
material, then students are expected to practice a number of exercises. After every lab session, a short quiz
will be available to assess the student’s understanding of the particular topic. The quiz grade will be
communicated to the students but will not be included in the course grade.

Assignment Description

The assignments consist of five case studies that incorporate the fields of electrical engineering, civil
engineering, mechanical engineering, biomedical engineering, and computer engineering. The
assignments are individual efforts. Every student is eligible for a maximum of ONE pass for 48-hours late
submission, with no penalty. Each assignment tackles a computation problem in a particular discipline
where students develop realistic solution. Examples of case studies topics include: civil engineering case
study such as open channel flow analysis, mechanical engineering case study such as the analysis of forced
pendulum or mechanical suspension systems, electrical engineering case study such as signal/image/video
processing or circuit analysis, biomedical engineering case study such as analysis of physiological data,
and computer engineering case study such as Vigenère Cipher. Each assignment will take approximately
two weeks to complete.

Project Description

The term project involves the design, development and testing of a software application in any of the fields
of electrical engineering, civil engineering, mechanical engineering, biomedical, and computer
engineering. The term project is a group effort of exactly three members and is worth 30% of the final
grade. The theme for the project this year is Augmented Reality (AR) serious games (designing games for
education, training, rehabilitation, physical activity, etc.) using Unity 3D game engine. Students propose
their own project. Three deliverables are expected for the term project: a project proposal (10%), a
midterm report (30%), and a final report (45%) with a project presentation (15%). The term project can
be developed using any programming language (Python, C#, Java, etc.).

Learning Log

The learning log is worth 10% of the course grade. It contains a record of your activities and what you
learned from these activities. The learning log is a document that students must create and share with their
instructor and must be updated on a weekly basis. The document has five columns: the week number,
what you did, what you learned, things you find challenging or need help with, and the instructor feedback.
A template learning log document is uploaded to the course website for your reference.
Academic Policies
Attendance and Participation: Attendance is mandatory. Those who cannot attend the class must inform
the Professor before the class time. The participation grade will be evaluated based on the student active
participation in the lecture, the lab session, and the interactive forums. In the interactive forums, students
are given a platform to post questions related to assignments, projects, or general concepts related to the

Page 3 of 9
course where others may respond to. Instructors will be reviewing the questions/responses and respond
when necessary to simulate realistic programming forums.
Grade Distribution: Grades are not curved. Students need to obtain a grade of C or better to count the
course towards their intended degree for required courses or engineering electives. Course percentages
will be translated into letter grades based on these intervals:
A A- B+ B B- C+ C C- D F
[90;100] [90;85) [80;85) [75;80) [70;75) [65;70) [60;65) [55;60) [50;55) [0;50)

Integrity: At NYU Abu Dhabi, a commitment to excellence, fairness, honesty, and respect within and
outside the classroom is essential to maintaining the integrity of our community. By accepting membership
in this community, students, faculty, and staff take responsibility for demonstrating these values in their
own conduct and for recognizing and supporting these values in others. In turn, these values create a
campus climate that encourages the free exchange of ideas, promotes scholarly excellence through active
and creative thought, and allows community members to achieve and be recognized for achieving their
highest potential.
Students should be aware that engaging in behaviors that violate the standards of academic integrity will
be subject to review and may face the imposition of penalties in accordance with the procedures set out in
the NYUAD policy: https://students.nyuad.nyu.edu/campus-life/student-policies/community-standards-
policies/academic-integrity/
NYU Moses Center for Students with Disabilities (CSD)
New York University is committed to providing equal educational opportunity and participation for
students with disabilities. CSD works with NYU students to determine appropriate and reasonable
accommodations that support equal access to a world-class education. Confidentiality is of the utmost
importance. Disability-related information is never disclosed without student permission. Find further
information at:
https://www.nyu.edu/students/communities-and-groups/students-with-disabilities.html
Contact: mosescsd@nyu.edu

Course Schedule
Below is a provisional schedule of the topics to be covered in this course. Dates are subject to confirmation
and may change.

Page 4 of 9
Week Session Topic Reading Assessment
Schedule

Sept 7 Lecture Introduction to engineering and Etter and Ingber book, Chapter 1 Assignment 1
computer-based problem solving. (Introduction to Computing and out:
Engineering) September
12th.
Sept 9 Lecture Introduction to computers and Etter and Ingber book, Chapter 1
C++ language. (Introduction to Computing and
Engineering)
Lab Lab 0 – Compiler configuration Lab 0 manual
and Running Your First C++
Program.
Sept 14 Lecture Data types, arithmetic operations, Etter and Ingber book, Chapter 2
and basic I/O (Simple C++ Programs) and chapter 3
(Control Structures: Selection)
Sept 16 Lecture Decision structures Etter and Ingber book, Chapter 2 Project
(Simple C++ Programs) and chapter 3 proposal due:
(Control Structures: Selection) Sept 19th.
Lab Lab 1 – Arithmetic operations and Lab 1 manual Lab assessment
basic I/O.
Sept 21 Lecture Loops structures, nested loops Etter and Ingber book, Chapter 4
structures, and applications. (Control Structures: Repetition).
Sept 23 Lecture Loops structures, nested loops Etter and Ingber book, Chapter 4
structures, and applications. (Control Structures: Repetition).
Lab Lab 2 – Decision structures Lab 2 manual Lab assessment
Sept 28 Lecture Files and file processing Etter and Ingber book, Chapter 5 Assignment 1
(Working with Data Files) due: Oct 3rd
Sept 30 Lecture Files and file processing Etter and Ingber book, Chapter 5 Assignment 2
(continued) (Working with Data Files) out: Oct 3rd
Lab Lab 3 – Loops structures, nested Lab 3 manual Lab assessment
loops structures.
Oct 5 Lecture Subprograms and recursion. Basic Etter and Ingber book, Chapter 6
principles of software (Modular Programming with
engineering, structured program Functions).
development.
Oct 7 Lecture Subprograms and recursion. Basic Etter and Ingber book, Chapter 6
principles of software (Modular Programming with
engineering, structured program Functions).
development.
Lab Lab 4 – Files and file processing. Lab 4 manual Lab assessment

Page 5 of 9
Week Session Topic Reading Assessment
Schedule

Oct 12 Lecture Arrays and multi-dimensional Etter and Ingber book, Chapter 7 Assignment 3
arrays, applications in various (One-Dimensional Arrays) and out: Oct 17th
engineering fields. Chapter 8 (Two-Dimensional Arrays).
Oct 14 Lecture Arrays and multi-dimensional Etter and Ingber book, Chapter 7
arrays, applications in various (One-Dimensional Arrays) and
engineering fields. Chapter 8 (Two-Dimensional Arrays).
Lab Lab 5 – C++ Functions. Lab 5 manual Lab assessment
Oct 18 Lecture Algorithms with arrays: sorting (Class meet on Sunday as legislative
and searching. day for Wednesday)
Oct 19- Study break Assignment 2
22 due: Oct 24th
Oct 26 Lecture Pointers and memory Etter and Ingber book, Chapter 9 (An
management, applications in Introduction to Pointers).
various engineering fields.
Oct 28 Lecture Pointers and memory Etter and Ingber book, Chapter 9 (An Project
management, applications in Introduction to Pointers). midterm
various engineering fields. report due:
Oct 31st.
Lab Lab 6 – Arrays and Multiple Lab 6 manual Lab assessment
dimensional arrays.
Nov 2 Lecture Introduction to C++ classes and Provided notes. Assignment 3
objects: Structures, Class string due: Nov 7th
and string stream processing.
Nov 4 Lecture Introduction to C++ classes and Provided notes. Assignment 4
objects: Structures, Class string out: Nov 7th
and string stream processing.
Lab Lab 7 Pointers. Lab 7 manual Lab assessment
Nov 9 Lecture C++ Object oriented programming Etter and Ingber book, Chapter 2 (2.3
and design. C++ Classes) and (2.4 C++ Operators).
Nov 11 Lecture C++ Object oriented programming Etter and Ingber book, Chapter 2 (2.3
and design. C++ Classes) and (2.4 C++ Operators).
Lab Lab 8 – Introduction to C++ Lab 8 manual Lab assessment
Classes: data and function
members.
Nov 16 Lecture MATLAB environment, User Attaway book, chapters (1, 2, 3).
controlled Input/Output,
Selection and Repetition
Nov 18 Lecture MATLAB environment, User Attaway book, chapters (1, 2, 3). Assignment 5
controlled Input/Output, out: Nov 21st
Selection and Repetition

Page 6 of 9
Week Session Topic Reading Assessment
Schedule

Lab Lab 9 – Object oriented design. Lab 9 manual Lab assessment


Nov 23 Lecture Built-in MATLAB functions, user- Attaway book, chapters (4, 5, 6). Assignment 4
defined MATLAB functions due: Nov 28th
Nov 25 Lecture Built-in MATLAB functions, user- Attaway book, chapters (4, 5, 6).
defined MATLAB functions
Lab Lab 10 – MATLAB Lab 10 manual Lab assessment
input/output, selection and
repetition, and functions
Nov 30 Lecture Manipulating MATLAB Matrices Attaway book, chapter 12.
and Plotting in MATLAB
Dec 7 Lecture Manipulating MATLAB Matrices Attaway book, chapter 12.
and Plotting in MATLAB
Lab Lab 11 – Matrices manipulation Lab 11 manual Lab assessment
and plotting
Dec 9 Lecture MATLAB Case Studies Term project Assignment 5
presentation/demonstration guide due: Dec 12th
Dec Term project presentations and Project report
14-17 demonstrations and
presentation
due: Dec 12th

Page 7 of 9
Deliverables Deadline Summary

Term project proposal: September 19th, 2020 @11:55pm (GST).


Assignment 1: October 3rd, 2020 @11:55pm (GST).
Assignment 2: October 24th, 2020 @11:55pm (GST).
Term project midterm report: October 31st, 2020 @11:55pm (GST).
Assignment 3: November 7th, 2020 @11:55pm (GST).
Assignment 4: November 28th, 2020 @11:55pm (GST).
Assignment 5: December 12th, 2020 @11:55pm (GST).
Term project final report and presentation submission: December 12th, 2020 @11:55pm (GST).
Term project online presentations: December 14th – 17th

Page 8 of 9
Appendix 1
Engineering Majors Program Learning Outcomes (PLOs)
1. an ability to identify, formulate, and solve complex engineering problems by applying principles of
engineering, science, and mathematics
a. apply knowledge of mathematics in solving engineering problems;
b. apply knowledge of natural sciences in solving engineering problems.
c. apply knowledge and practices of engineering in solving problems.
2. an ability to apply engineering design to produce solutions that meet specified needs with consideration
of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic
factors
a. analyze and evaluate an engineering design against specific requirements.
b. identify the non-technical constraints related to the engineering design.
c. design an engineering system or component to meet desired needs within realistic constraints.
3. an ability to communicate effectively with a range of audiences
a. demonstrate effective written communication of information, concepts and ideas.
b. demonstrate effective oral or visual presentation of information, concepts and ideas.
4. an ability to recognize ethical and professional responsibilities in engineering situations and make
informed judgments, which must consider the impact of engineering solutions in global, economic,
environmental, and societal contexts
a. demonstrate knowledge of engineering professional code of ethics
b. evaluate the ethical implications of an engineering solution
c. recognize the impact of engineering solutions in economic, environmental, and societal context
5. an ability to function effectively on a team whose members together provide leadership, create a
collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
a. fulfill individual duties.
b. integrates input of team members.
6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use
engineering judgment to draw conclusions
a. conduct or execute experiment in engineering.
b. analyze data and draw conclusions from engineering experiments.
7. an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
a. demonstrate the ability to learn independently.
b. demonstrate the ability to find, evaluate and apply information from a variety of sources.

Page 9 of 9

You might also like