Syllabus for Foundations of Engineering II (ENGR 112)
Spring 2009
Class Time: MW 9:10 am – 10:00 am, Zachry 102
Course web page: (all information about the course will be there): 
   http://courses.cse.tamu.edu/teresa/engr112/engr112-index.html
Check the class web site later for TAs and PTs assignments.

Lab location: CVLB 418

InstructorsGuest Lecturer
Dr. Ronnie Ward
Dr. Teresa Leyk
Dr. Bjarne Stroustrup
sections: 205, 516–518, 521
sections: 519, 520, 522, 523
holder of College of Engineering
office: HRBB 315-B
office: Richardson 901E
Endowed Chair in Computer Science
e-mail: ward@cse.tamu.edu
e-mail: teresa@cse.tamu.edu
creator of C++ and author of the text for ENGR 112
phone: (979)845-5534
phone: (979)845-4456
phone: (979)845-4094
office hours: MW 1:00 pm – 3:00 pm
office hours: W 10:15 am – 11:15 am

F 9:00 – 10:00 am

office: 517 Bright Bldg
other times by appointment
other times by appointment
e-mail: bs@cs.tamu.edu
homepage: http://faculty.cse.tamu.edu/ward/
homepage: http://courses.cse.tamu.edu/teresa/
homepage: http://parasol.tamu.edu/people/bs/

Course Description: (2 credit hours) Computer programming syntax for primitive types, control structures, vectors, strings, structs, classes, functions, file I/O, exceptions and other programming constructs, use of class libraries; practice in solving problems with computers; includes the execution of programs in C++ written by students.

This course is only for students with majors in ELEN, CECN, and CEEN.

Prerequisites: ENGR 111 and MATH 151
Required Textbook: "Programming – Principles and Practice Using C++” by Bjarne Stroustrup, Addison-Wesley, ISBN 978-0321543721, December 2008.
Book support website: http://www.stroustrup.com/Programming
Learning Objectives: After this course students should be able to:
  1. Understand computer program structure, design and development.
  2. Use primitive data types and control structures in computer programs.
  3. Understand and apply vectors, strings, and structs.
  4. Declare and use functions in computer programs.
  5. Understand object-oriented programming concepts: objects, classes, inheritance, polymorphism, and encapsulation.
  6. Design and create simple graphic user interfaces.
  7. Understand and apply file I/O in computer programs.
  8. Understand and use basic algorithms for searching, sorting, lists, trees and maps.
  9. Navigate and make use of class libraries.
  10. Write simple computer programs in a high-level programming language, C++.
  11. Complete a team design project using knowledge and principles from the course.
Learning objectives 1 through 10 will be assessed using homework, quizzes and exams. Objective 11 will be assessed by evaluating a student group programming project and written report.
Grading:
Grading Scale: Grades will be assigned according to the following scheme:
   90% –100% —→ A, 80% – 89% —→ B, 70% – 79% —→ C, 60% – 69% —→ D, 0% – 59% —→ F
To check grades during the spring semester use this link: http://php.cs.tamu.edu/teresa/grades.php
Learning process: From the class objectives you may have noticed that this course focuses on obtaining a computer science background and developing programming skills. Programming is not something what you can learn overnight by reading a textbook or lecture notes; it requires a lot of practice. We expect from you to spend around 15 hours per week in addition to class time. The class TAs, PTs and Instructors are willing to help you to learn and understand the course material and master your programming skills so please see us during our office hours.
A few hints that will help you to succeed in this course:

In general, Computer Science and Engineering is not an easy area but it will pay off after graduation. CNNMoney posted the result of the survey called "The most lucrative college degrees in 2007". The value of degree was measured by the average starting salaries for the class 2007. The top salary offers are:

Chemical Eng. – $59,361+5.4%

Computer Engineering – $56,201+4.8%

Electrical Eng. – $55,292+3.2%,

Mechanical Eng. – $54,128+4.6%

Computer Science – $53,369+4.1%, …, Psychology – $31,631+4.7%.
I think that you are aware that the four years you spend in college sets the stage for your life. You must learn how to balance school and fun.

Schedule for ENGR 112, Sections 205 H and 516–523
Spring 2009 (tentative)
All changes in the schedule will be announced in the class
No.DateDayTopicChap.HW/ProjectWk
   coveredreadinghand-in 
1Jan. 21WedIntroduction1 1 (RW)
   Computers, People, and Programming   
2Jan. 26Mon“Hello, Word!” 2 HW 12 (TL)
3Jan. 28WedObjects, Types, and Values3P12 (TL)
4Feb. 02MonComputation4 3 (RW)
5Feb. 04WedComputation (cont)4HW 23 (RW)
6Feb. 09MonErrors5 4 (BS)
7Feb. 11WedWriting a Program6 4 (TL)
 Feb. 12ThurIndustry Night 7–9 pm Zachry Lobby   
   (attendance required)   
8Feb. 16MonCompleting a Program7 5 (TL)
9Feb. 18WedExam 11–7 5
10Feb. 23MonFunctions8 6 (BS)
11Feb 25WedClasses9 6 (RW)
12March 02MonI/O Streams10 7 (TL)
13March 04WedCustomizing I/O11 7 (TL)
14March 09 MonIndustry representative talk  8
 Midterm grades due     
15March 11WedA Display Model12 8 (RW)
 March 16-20MWSpring Break – No Classes   9
16March 23MonGraphics Classes13P2 10 (RW)
17March 25WedGraphics Class Design14 10 (RW)
18March 30MonExam 2 1–13 11
19April 01WedGraphing Functions and Data15  11 (TL)
20April 06MonGraphical User Interfaces16 12 (RW)
 Last day to Q-drop     
21April 08WedGraphical User Interfaces16 12 (RW)
22April 13MonVector and Free Store17 13 (TL)
23April 15WedVectors and Arrays18 13 (TL)
24April 20MonVectors, Templets and Exceptions19 14(TL)
25April 22WedReview  14
26April 27MonProject presntation  15
27April 29WedExam 31–14,16,17-19 15
28May 04MonProject presentation  16
29May 11MonFinal Exam for ENGR 112 (waived)  17