_________________

  

CITY COLLEGE OF SAN FRANCISCO

DEPARTMENT OF ENGINEERING & TECHNOLOGY

ENGN 38 - Introduction to Computing for Engineers (using C++)

INSTRUCTOR INFORMATION

Wendy Kaufmyn

Email: wkaufmyn@ccsf.edu

Phone: (415) 239-3159

Website: http://fog.ccsf.edu/~wkaufmyn

Office: S143A

Please Note:    The access to my office is through the classroom S143. Do not be shy about walking through the classroom, even if there is a class in session, to get to my office.

 

OFFICE HOURS

Please see my current schedule for my office hours.

If my office hours are not convenient for you please make an appointment with me.

 

COURSE INFORMATION

Title:  Introduction to Computing for Engineers

Identifier: ENGN 38

Lecture 3 hr, Lab 1 hr

Please see my current schedule for section number and CRN

 

COURSE DESCRIPTION

Engineering problem solving using computer programming. Problem solving strategies, algorithm development and structured programming design. Solution of a variety of engineering problems from valuating a simple function to modeling and simulation. Applications from mechanical, electrical and civil engineering.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

 

PREREQUISITES

Basic computer literacy and completion or concurrent enrollment in any of the following: Math 110A, Calculus I, ET 51, Math 100A.

 

TEXT

Custom Bundle of Absolute C++ by Walter Savitch C++ available at CCSF bookstore.

This is a pared down (cheaper) version of the textbook available from Pearson/Addison-Wesley Publishers.

 

MATERIALS

C++ compiler software and spreadsheet software (e.g. Excel)

 

COURSE STUDENT LEARNING OUTCOMES

Every course has a list of items called "Student Learning Outcomes". These SLOs are what the student should have learned after completing the course.

 

Upon completion of this course a student will be able to:

  1. Describe the basics of the architecture of a computer and its components.
  2. Describe the principles of structured programming.
  3. Compare and contrast Object Oriented Programming with Procedural Programming.
  4. Describe, design, implement, test and fully document structured programs using currently accepted methodology, and in particular for programs that control or otherwise interface with hardware by means of software.
  5. Explain the concept of an algorithm and its importance in computer programming.
  6. Apply numerical techniques to analyze and solve engineering-related problems.
  7. Predict the results of programming code based on its structure and its environmental variables.

 

SLO ASSESSMENT

We teachers need to assess how well our students have achieved these outcomes. (In other words: How well have we taught our students?!) I need your input to improve my teaching. Please help me assess the SLOs of this course by filling out two surveys. One at the beginning of the semester, and the other after you take the final. I also need this input for reporting purposes to the school administration. Hence, this is a mandatory requirement for completion of this class. You will not get a grade if you do not fill out these surveys. Please know that your grade is absolutely not affected by your answers! Thank you in advance for your thoughtful and well considered answers to this survey.

 

ASSIGNMENTS

Assignments include reading, programming exercises, and quizzes.

 

The reading assignments are extremely important, possibly more important than the lab programming assignments. You should re-read the assignment before attempting to do the lab.

                                                       

The lab programming exercises will have the student develop, run and document a C++ language program. There will be some time given during class hours to work on the lab assignments, however, students will be expected to spend the needed extra time outside of class hours to complete the labs.

 

The lab programs will be collected on a random basis. This means that you should have each lab completed and ready to be turned in when it is due. If it is collected, the grade is based solely on the effort made and the professional appearance of the work, not on the correctness of the solution. The professional appearance includes strict adherence to the formatting instructions given on each lab assignment.

 

Absolutely no late labs will be accepted. Please note that I do not accept assignments via email.

 

It is the student's responsibility to ensure that they clearly understand each lab.  Students are encouraged to ask questions in class about any lab assignments that they don't understand, or come and get extra help during office hours.

 

QUIZZES

Quizzes are given on a random "surprise" basis. Be prepared to take a quiz on material already covered.

 

QUIZ #0 (CCSFmail)

When you register at CCSF you are automatically given a Google email account, which we call CCSFmail. It is the only way that teachers, administration, etc. can contact you so you will need to check it regularly. To make sure that you have access to it, I will send an email to you at this account by the end of the second week of the semester. You will need to follow the instructions in the email to receive credit for the quiz by the end of the third week of the semester. This is worth one quiz score. Moreover, if you do not successfully complete this quiz you may be dropped from the course. For more information about this email: http://www.ccsf.edu/ccsfmailFAQ

 

EXAMS

Exams are graded for correctness of solution and for clearly showing the method of solution. Your grade will suffer if you cannot present a clear, legible solution.

 

You should expect the exams to be closed book/closed note, although this is subject to change at the last minute. In either case, you will be allowed one single-sided sheet of paper no larger than 8 1/2" x 11" with no staples, glue or tape.

 

At the completion of any testing time (quizzes included) I will announce that the test is over and that you should put your writing implements down. Your exam will not be graded if you do not put your implement down immediately. If your exam is not graded you will receive zero points for it.

 

Make-up exams are given only for extremely extenuating circumstances that can be documented.

 

MIDTERM EXAM
There will be a two-hour midterm exam during the semester.

 

FINAL EXAM

There will be a two-hour comprehensive final exam during final exam week.

Note: The final exam date is set by the college and cannot be changed. Please mark your calendars now.

 

CHEATING POLICY

Cheating is an egregious offense. You will suffer profoundly if found cheating. Don't do it.

 

GRADING

Assignments, quizzes, class participation . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 20% 

Midterm Exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40%

Final Exam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . .40%

 


 ENGN 38 SCHEDULE 
_________________

WEEK:

DATE

READING

TOPIC
(Note: Chapter designations may differ in the custom edition - make sure you read the right topic)

Lab Programming Assignment


Week 1

Chapter 1

Introduction

 

 


Week 2

Chapter 1

 

C++ Basic Programming Concepts

 

Lab #1


Week 3

 

Chapter 2

Flow Control - Branching

Flow Control - Looping

Lab #2


Week 4

Chapter 3

Function Basics and Procedural Abstraction

 

Lab #3


Week 5

Chapter 4

Function Parameters:

Call By Value / Call By Reference

 


Week 6

Chapter 4

Functions Continued - Overloading

 

Lab #4


Week 7

Chapter
12.1 - 12.2

File Stream Objects,  File I/O

Lab#5

 


Week 8

Chapter
5.1 - 5.3

Intro to Arrays (single subscript)

Parallel Arrays

Lab#6


Week 9

Chapters
1-5, 12

Midterm Exam

 

Lab #7


Week 10

See teacher's resource

Math Algorithm

 


Week 11

Chapter 6

Structures/Classes/Object

Object Oriented Programming (OOP)

Lab #8


Week 12

Chapter 7.1

Constructor Functions (Constructors)

 


Week 13

Chapter 9

 

String Variables, File Name Reading

I/O Formatting Basics

Lab #9


Week 14

Chapter
10.1 - 10.2

Integration

Bar Plots, Pointers and Dynamic Arrays

Lab #10


Week 15

Chapter 11

Separate Compiling

Namespaces

 


Week 16

Chapter
12.3 , 14.1

Inheritance Basics

 

Lab #11


Week 17

Chapter
8.1  -  8.2

Overloading Operators

 


Week 18

Comprehensive

Final Exam

 

 


  Note:  Labs are usually due the Monday of the following week, unless otherwise negotiated.