- Instructors
-
Richard Perry,
richard.perry@villanova.edu
- sections 1 & 2 lectures; section 1 lab
Office Hours: Tolentine 435, M/Tu/W/Th 11-2,
https://www.ece.villanova.edu/fmp/cgi/auth/appt
Caroline Ross,
cross9@villanova.edu - TA
Office Hours: Tu 12:30-2, Th 12-2,
https://villanova.zoom.us/j/96550566205
Xun Jiao,
xun.jiao@villanova.edu
- section 2 lab
Office Hours: Tolentine 415, Wed 1-3,
https://villanova.zoom.us/j/96733068309
Dongning Ma,
dma2@villanova.edu - TA
Office Hours: F 3-5,
https://villanova.zoom.us/j/8751255640
- Course Website
-
http://fog.misty.com/perry/fc/
- Course Description
-
Engineering problem solving using the C programming
language. C control structures, data files, debugging,
functions, arrays, elementary data structures, and pointers.
- Course Grading
- The course grade will be based on ten programming projects.
Course assignments are to be done individually and independently.
The University policies and procedures on
attendance,
academic integrity,
and
students with disabilities
will be followed.
In particular,
late assignments will not be accepted without an
excused absence approval
from the Dean.
- Textbook
- Engineering Problem Solving with C, Fourth Edition,
Delores M. Etter, Prentice Hall, 2013, ISBN: 978-0136085317
- Chapter 1: Engineering Problem Solving
- 1.1 Engineering in the 21st Century
1.2 Computing Systems: Hardware and Software
1.3 An Engineering Problem-Solving Methodology
- Chapter 2: Simple C Programs
- 2.1 Program Structure
2.2 Constants and Variables
2.3 Assignment Statements
2.4 Standard Input and Output
2.5 Problem Solving Applied: Estimating Height from Bone Lengths
2.6 Numerical Technique: Linear Interpolation
2.7 Problem Solving Applied: Freezing Temperature of Seawater
2.8 Mathematical Functions
2.9 Character Functions
2.10 Problem Solving Applied: Velocity Computation
2.11 System Limitations
- Chapter 3: Control Structures and Data Files
- 3.1 Algorithm Development
3.2 Conditional Expressions
3.3 Selection Statements - if/else, switch
3.4 Problem Solving Applied: Face Recognition
3.5 Loop Structures
3.6 Problem Solving Applied: Wave Interaction
3.7 Data Files
- Chapter 4: Modular Programming with Functions
- 4.1 Modularity
4.2 Programmer-Defined Functions
4.3 Problem Solving Applied: Computing the Boundaries of the Iris
4.4 Problem Solving Applied: Iceberg Tracking
4.5 Random Numbers
4.6 Problem Solving Applied: Instrumentation Reliability
- Chapter 5: Arrays and Matrices
- 5.1 One-Dimensional Arrays
5.2 Problem Solving Applied: Hurricane Categories
5.3 Problem Solving Applied: Molecular Weights
5.4 Statistical Measurements
5.5 Problem Solving Applied: Speech Signal Analysis
5.6 Sorting Algorithms
5.7 Search Algorithms
5.8 Two-Dimensional Arrays
5.9 Problem Solving Applied: Terrain Navigation
- Chapter 6: Programming with Pointers
- 6.1 Addresses and Pointers
6.2 Pointers to Array Elements
6.3 Problem Solving Applied: El Nino-Southern Oscillation Data
6.4 Pointers in Function References
6.5 Problem Solving Applied: Seismic Event Detection
6.6 Character Strings
6.7 Problem Solving Applied: DNA Sequencing
- Chapter 7: Programming with Structures
- 7.1 Structures
7.2 Using Functions with Structures
7.3 Problem Solving Applied: Fingerprint Analysis
7.4 Arrays of Structures
7.5 Problem Solving Applied: Tsunami Analysis
- Appendix A: ANSI C Standard Library
- Appendix B: ASCII Character Codes
- Semester Schedule
-
Section 1: M/W 9:30-10:20, F 12:30-2:10
Section 2: T/R 10:00-10:50, F 12:30-2:10
Mon Tu Wed Th Fri Week#
January 10 11 12 13 14 1 A1.1
- - 19 20 21 2 A1.2
24 25 26 27 28 3 A2
31 1 2 3 4 4 A3
February 7 8 9 10 11 5 A4
14 15 16 17 18 6 A5
21 22 23 24 25 7 A6.1
- - - - - 8 Spring Break
March 7 8 9 10 11 9
14 15 16 17 18 10 A6.2
21 22 23 24 25 11 A7
28 29 30 31 1 12 A8
April 4 5 6 7 8 13 A9
11 12 - - - 14 Easter Break
- - 20 21 22 15 A10
- - 27 28 - 16
Tu April 26 = Friday schedule
Wed April 27 = Monday schedule