ECE 1620 - Engineering Programming and Applications - Spring 2022


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