Title: CEG 220 M W 5:35 p'm' 6:50 p'm'
1CEG 220M W 535 p.m. 650 p.m.
- C Programming for Engineers
- Dr. Dale E. Nelson
2Instructor Contact Information
- Instructor Dr. Dale E. Nelson, RC 160, 775-5082
- NOTE This number only valid during office hours
- Â E-mail dale.nelson_at_wright.edu
- dale.nelson_at_wpafb.af.mil - fast response
- Â Hours Immediately after class
- 630-730 p.m. T Th
- Other hours arranged by appointment
- use e-mail for establishing
appointments - Course Home Page
- Â http//www.wright.edu/dale.nelson/ceg220/ceg220
.html
3Text Books
- Textbooks
- Â Â Engineering Problem Solving with C, Second
Edition, D. M. Etter and J. A. Ingber, Prentice
Hall, 2000 - Â Â Â Programming with C Second Edition Schaums
Outlines, Byron Gottfried, McGraw-Hill, 1996
(Recommended).
4Software
- Software
- Visual C 6
- Microsoft Corp. Software is available in
on-campus computer labs such as Russ Center 152C. - Students may borrow software media from the
Dunbar Library for installation of Visual C on
a home PC after signing a licensing agreement. - Use of alternate C compilers must be approved by
the instructor.
5Grading
- Exams are closed book, closed notes
- Programming Projects (7) 30
- Mid-Term Exam 30
- Comprehensive Final 40
- You cannot pass this class without ALL
programming projects being completed with a
(S)atisfactory.
6Grading (cont.)
- GRADES
- Â A 100-90
- B 89-80
- C 79-70
- D 69-60
- F 59-0
7Policy
- All work to be turned in is due at the start of
class on date specified. - No late exams unless verifiable emergency.
- Any part of a programming project turned in late
will result in loss of 2 points. - Exceptions to the late policy may be made unusual
circumstances when documentation is provided in
writing..
8Policy (cont)
- All work must be your own sharing of program
code will result in one letter grade reduction in
course for all involved. - Sharing ideas and general computer skills with
others outside of class is encouraged
9Schedule
Topics and project dates may vary. Exams and
Final dates are firm. Specific project due dates
are defined in a special handout.
10Programming Assignments
11Programming ProjectsRequirements
Programming Projects Requirements
12Programmers Block
Programmers Block Style Sheet
13Engineering Problem Solvingwith C
- Chapter 1
- Engineering Problem Solving
14What Are Some Real World Problems
- Why are computers and computer programming so
important today? - We cannot afford (time/cost) to build real
systems - Computational electromagnetics
- Computational aerodynamics (fluids)
- Computational structural analysis/dynamics
- SPICE
- More computers are used everyday
- Controllers
- Software radio (digital signal processing)
- Imagery
15Computing Systems Hardware and Software
- A computer is a machine designed to perform
operations specified with a set of instructions
called a program. - Hardware refers to the computer equipment.
- keyboard, mouse, terminal, hard disk, printer
- Software refers to the programs that describe the
steps we want the computer to perform.
16Computer Hardware
Internal Memory
External Memory
CPU
Processor
Input
Output
ALU
- CPU - Central processing unit
- ALU - Arithmetic and logic unit
- ROM - Read only memory
- RAM - Random access memory
17Computer Software
- Operating System - Provides an interface with the
user - unix, windows, linux, ...
- Software Tools
- word processors (MicrosoftWord, WordPerfect, ...)
- spreadsheet programs (Excel, Lotus1-2-3, ...)
- mathematical computation tools (MATLAB,
Mathematica, ...) - Computer Languages
- machine language
- assembly language
- binary language
- high level languages (C, C, Ada, Fortran,
Basic, java, COBOL, - SNOBOL, LISP, Simscript,
PL1, Prolog, ALGOL)
18History of Personal Computer I
- 1971 First microprocessor Intel 4004
- 1972 Xerox PARC begins development of
workstation - 1972 MITS Altair 8800 on cover of
Popular Electronics - 1977 Apple computer introduces Apple II
- Radio Shack ships TRS-80
- Commodore exhibits PET computer
19History of Personal Computer II
- 1979 VisiCalc first electronic spreadsheet
- 1980 IBM-Microsoft deal for Acorn Project
- 1981 IBM PC introduced
- 1983 Lotus 1-2-3 spreadsheet
- 1984 Apple Macintosh
- 1990 MS Windows 3.0
- 1991 Linus Torvalds Linux operating system
- 1994 Mosaic Communications Netscape Web
Browser
20History of Personal Computer III
- 2000 PCs reach 50 penetration in U.S.
households - 2001 Federal appeals court reverses
proposed Microsoft breakup - 2002 CEG220 students develop next killer
application. - 2002 Suddenly Stupid Syndrome Recognized
21Executing a Computer Program
Input data
Compile
Link/load
Execute
Machine language program
C language program
Program output
- Compiler
- Converts source program to object program
- Linker
- Converts object program to executable program
22Key Terms
- Source Program
- printable/Readable Program file
- Object Program
- nonprintable machine readable file
- Executable Program
- nonprintable executable code
- Syntax errors
- reported by the compiler
- Linker errors
- reported by the linker
- Execution/Run-time errors
- reported by the operating system
- Logic errors
- not reported
23The C Programming Language
- General purpose, machine-independent language
- Developed at Bell Labs in 1972 by Dennis Ritchie
- American National Standards Institute(ANSI)
approved ANSI C standard in 1989
24Why C?
- Popular language in industry and schools
- Very powerful almost anything that can be done
can be done in C - Designed for top-down programming (programs
easier to design) - Designed for structure (programs easier to read
and debug)
25Why C?
- Allows modular design (easier for others to
understand and debug) - Efficient language (small and fast)
- Portable (programs operate on different computers
with few changes) - Computer control (almost absolute control over
computer)
26Why C?
- Flexibility can create other languages and
operating systems. - Disadvantage code can be written so briefly
that it is almost unreadable!
27Software Life Cycle Phases
- 3 Definition
- 15 Specification
- 14 Coding and modular testing
- 8 Integrated testing
- 60 Maintenance
28Programming Project 1
- Open C compiler
- File new
- Files
- C Source
- Type program in
- Build
- Compile
- Active workspace (answer yes)
- Execute program (!)
- Use Alt-PrtScr to copy window on clipboard
- Paste into Word document
29An Engineering Problem-Solving Methodology
- 1. PROBLEM STATEMENT
- 2. INPUT/OUTPUT DESCRIPTION
- 3. HAND EXAMPLE
- 4. ALGORITHM DEVELOPMENT
- 5. TESTING
30Major Parts of a C Program
- include ltstdio.hgt - preprocessor directive
- main point where execution begins
- () immediately follows main information used
by program is contained here - / / - comment
- - each C statement ends with a semicolon
- required indicates beginning and end of
program instructions