ECET 264 C Programming Language Applications, 3. cr. ... C How to Program,
6th Edition, by P. J. Deitel and H. M. Deitel, 2010, ISBN 0-13-612356-2, Pearson.
CRN# 12308 ECET 26400-02 C Programming Language Applications Fall 2011 Prof. Paul I. Lin Professor of Electrical and Computer Engineering Technology
Department of Computer and Electrical Engineering Technology & Information Systems and Technology Indiana University-Purdue University Fort Wayne Course Description ECET 264 C Programming Language Applications, 3. cr. P: MA 154. Examination of fundamental principles and issues in embedded applications: instrumentation, data acquisition, robots, and real time systems. Overview of the C programming environment. Introduction to C language syntax, basic data types, complex data types (pointer, array, structure, bit fields, union enum) storage classes, operators, preprocessor directives, macros, functions, flow control, and file I/O. Programming using a structured approach. Emphasis on the use of mathematical functions (routines) libraries and numerical algorithms needed in embedded applications. Instructor Information: Prof. Paul Lin, P.E. (EE) Professor of Electrical and Computer Engineering Technology Indiana University-Purdue University Fort Wayne Office ET 205C Email:
[email protected] (O) 260-481-6339 Course Web site: www.ecet.ipfw.edu/~lin Office Hours: Monday 3:00 - 5:30pm Tuesday 9:30 – 10:30am; 6:00-8:00pm Thursday 3:00 - 5:30pm Other weekday hours – by appointment Mr. MengWei Li, Graduate Teaching Assistant Room ET 224 Office Hours: Wednesday 4:00-5:30 pm, Thursday 12:00-1:30 pm Class Lecture Dates/Time Tue & Thur 10:30-11:45 am, Room ET 305 Exam 1 Exam 2 Exam 3 Labor Day Holiday Fall Break Thanksgiving Recess Final Project
Sept. 20 Oct. 18 Nov. 22 Begins Friday, Sept. 2 at 4:30 pm; Class resume Monday, Sept. 6 Classes suspended Oct. 10-11 (Monday, Tuesday); Class resume Wednesday Oct. 12 Begins Tuesday Nov. 22 after last class; Class resume Monday, Nov. 28 December 13, Tuesday (10:30 am – 12:30 pm) - Final Project Presentation
Text Book C How to Program, 6th Edition, by P. J. Deitel and H. M. Deitel, 2010, ISBN 0-13-612356-2, Pearson Education, Inc.
1 of 5
Supplementary and Reference Materials: Web Sites: www.deitel.com and http://wps.prenhall.com/wps/media/access/Pearson_Default/8191/8387977/login.html The C programming Language, 4nd, Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall, 2003 Programming Languages C++, International Standard ISO/IEC 14882, 1st Edition, 776 pages, 199809-01, Information Technology Council (NSITC). Washington, DC, USA, http://wwwd0.fnal.gov/~dladams/cxx_standard.pdf Computer Hardware/Software Usage: 1. World Wide Web and Internet information search and Web browser. 2. Microsoft Windows XP, Vista, 7-based PCs 3. Linux OS 4. Microsoft Visual Studio, Express Edition with SP1, 2008 5. MS Word processing required for lab and project reports 6. MS Visio 7. Microsoft Visual Studio 2010 Grading Policy:
Programming homework assignments - 35% Three Exams (make up exams will not be given) - 30% Class Q/A participations and attendance – 10% Final Project & Presentation 25%
Late Homework Policy: Homework must be turned in on time to receive full grade; One day late – 20% off; Two days late - 50% off; Three days late – 80% off; Homework will not be accepted after three days. Grading scale: A: 90 -100, B: 89 – 80, C: 79 – 70, D: 69 – 60, F: 59 and below. * Purdue University’s new grading scale with + and – will not be used. Student Behavior: Any student caught plagiarizing (copying another student’s work and presenting that work as their own) will be punished to the full extent of University Regulations.) Services for Students with Disabilities: If you have a disability and need assistance, special arrangements can be made to accommodate most needs. Contact the Director of Services for Students with Disabilities (Walb, room 113, telephone number 481-6658), as soon as possible to work out the details. Once the Director has provided you with a letter attesting to your needs for modification, bring the letter to me. For more information, please visit the web site for SSD at http://new.ipfw.edu/disabilities/ Course Outcomes: This course provides EET/CPET majors with a "hands-on" experience in the computer programming, algorithms, and software design using the ANSI C programming language. We emphasize fundamental techniques and strategies for solving scientific and engineering technology problems with computer. A student who successfully fulfills the course requirements will have demonstrated the following knowledge, skills, ability: 1. An ability to use modern C application development tools and good knowledge of C’s keywords, data types and structures, control structures, and program organization (TAC/ABET Criterion 3 Student Outcomes, item a) 2. An ability to apply knowledge of mathematics, science, engineering and technology in problem solving using C programming language (TAC/ABET Criterion 3, item b)
2 of 5
3. Knowledge and skills of applying structure programming methods and techniques and using various library functions for developing and integrating industrial-strength ANSI C programs (TAC/ABET Criterion 3, item c) 4. An ability to apply the principles of software engineering to design and implement a complex application task or project as a C program (TAC/ABET Criterion 3, item d) 5. Work and collaborate with others in project teams (TAC/ABET Criterion 3, item e) 6. Knowledge of problem solving and software development process including analysis, design, implementation, and maintenance (TAC/ABET Criterion 3, item f) 7. Ability to prepare written memos, documentation, reports, etc; and communicate orally with team members (TAC/ABET Criterion 3, item g, k) 8. To understand professional and ethical responsibility (TAC/ABET Criterion 3, item i) Accreditation Board of Engineering Technology (ABET/TAC) 2011-2012 Criteria for Accrediting Engineering Technology: Criterion 3. Student Outcomes (a – k) for baccalaureate degree programs, these student outcomes must include, but are not limited to the following learning capabilities: (http://www.abet.org/Linked%20Documents-UPDATE/Program%20Docs/abettac-criteria-2011-2012.pdf) a. an ability to select and apply the knowledge, techniques, skills, and modern tools of the discipline to broadly-defined engineering technology activities; b. an ability to select and apply a knowledge of mathematics, science, engineering, and technology to engineering technology problems that require the application of principles and applied procedures or methodologies; c. an ability to conduct standard tests and measurements; to conduct, analyze, and interpret experiments; and to apply experimental results to improve processes; d. an ability to design systems, components, or processes for broadly-defined engineering technology problems appropriate to program educational objectives; e. an ability to function effectively as a member or leader on a technical team; f. an ability to identify, analyze, and solve broadly-defined engineering technology problems; g. an ability to apply written, oral, and graphical communication in both technical and nontechnical environments; and an ability to identify and use appropriate technical literature; h. an understanding of the need for and an ability to engage in self-directed continuing professional development; i. an understanding of and a commitment to address professional and ethical responsibilities including a respect for diversity; j. a knowledge of the impact of engineering technology solutions in a societal and global context; and k. a commitment to quality, timeliness, and continuous improvement.
Tentative Schedule/Activities I: A Tutorial Introduction to Software Development using C/C++ a. Tutorial Introduction to C/C++ A brief history of C, Characteristics of C, Basic Elements of the C programming Language Examples b. C/C++ Environment Operating systems and C/C++/C# Environments Introduction to Windows operating systems Linux environment Managing system information
3 of 5
C/C++ programming environment Examples
c. Principles and issues in embedded applications Instrumentation Data acquisition Robots, and Real time systems. c. Software Development Process Identify problems Analysis Design Coding and Unit Testing Integration and System Testing Deployment Maintenance II: C Programming Language --- Basics a. Data Types, Operators, and Expressions Data Types and Sizes Constants Declarations Operators Arithmetic operators Relational operators Logical operators Increment, and Decrement operators Bit-wise operators Type Conversions Conditional expressions Programming Examples b. Loop Controls, Decision Making, and Data Array Processing Flow of Control Decision Making Multiple Decision Making Data Array Processing Programming Examples c. Standard Libraries, User Defined Functions and Arrays Standard Libraries Functions Arrays Command Line Arguments Programming Examples III: C Programming Language – Advanced Topics Pointers Bit-wise Manipulations Enumerations, Structures, Unions File Processing Data Structures C Preprocessor
4 of 5
Introduction C++
V: C Programming Language -- Applications Logic Circuit Simulation Solving Simultaneous Equations Artificial Intelligence Applications Numerical Methods Serial I/O Applications File Processing Embedded C Applications Data Acquisitions, Measurement, and Monitoring Applications Industrial Control Applications System programming and Memory Utilization
VI. Possible Applications and Project Ideas
Signal processing and data acquisition applications (using ADC, DAC) Measurement and Monitoring applications (using ADC and DAC) Graphics and Monitor control applications Window XP/Vista/7 Programming and C/C++ Microcontroller with Industrial Control Applications Communications and Networking Web applications
5 of 5