EECE.2160: ECE Application Programming

Instructor: Dr. Michael Geiger

Summer 2018

 

Course Schedule

This schedule contains a tentative schedule of topics we will cover throughout the term; this schedule is subject to change. As the semester progresses, I will update the schedule to show the actual dates on which we cover material, as well as provide links to the lecture slides and handouts. Note that most lectures are associated with some section(s) of the textbook, which I suggest you read prior to class.

NOTE: This summer, I am piloting a new electronic textbook from zyBooks. This text is reconfigurable, which means I will likely reorder the sections of the text throughout the term. Each time I change the text, I will post a note to the course discussion group, but those of you working ahead should be advised that the presentation of material in the text likely will change as the summer progresses.

 

While assignments are listed in the right column of the table below, there are no direct assignment links on this page. All assignments can be found in the "Assignments" tab of your textbook. Each program is a section of the text, while participation and challenge activities are associated with each chapter.

 

The exams are currently scheduled as shown below. The first exam will be held on Monday, June 4 in class, the second exam will be held on Monday, June 18 in class, and the third exam will be held Monday, July 2 in class.

 

Lecture Recordings: Echo360 recordings are available from https://echo360.org/. Enter your UML e-mail address on the Echo360 home page, then enter that e-mail address and password in the pop-up that appears. You will then be able to view lecture recordings from all courses in which you are enrolled, including this one.

 

Lecture Date Lecture Topics Handouts Reading Assignments

1

M, 5/21

 Course introduction/overview

 Basic C program structure

 Data in C: constants, variables

 Syllabus

 Program grading guidelines

 Lec. 1 slides

 Lec. 1 questions

 1.1-1.9, 2.1-2.3

 Program 1 (Sec. 1.10)

 (due 5/24)

  

 Ch. 1 activities

 (due 5/25)

2

W, 5/23

 Operators

 Output with printf()

 Input with scanf()

 Lec. 2 slides

 Lec. 2 questions

 2.4-2.16

 Ch. 2 activities

 (due 5/25)

3 Th, 5/24

 PE1 (Flowcharts)

 Conditional statements

 Lec. 3 slides

 Lec. 3 questions

 3.1-3.14

 Ch. 3 activities

 (due 5/28)

 Program 2 (Sec. 2.17)

 (due 5/29)

M, 5/28

 No lecture--Memorial Day

 Ch. 4 activities

 (due 5/30)

4 W, 5/30

 Loops (while, do/while, for)

 Lec. 4 slides

 Lec. 4 questions

 while2.c | while 3.c

 4.1-4.9

 Program 3 (Sec. 3.15)

 (due 6/1)

5 Th, 5/31

 PE2 (Loops and conditionals)

 Exam 1 Preview

 Lec. 5 slides

 Lec. 5 questions

 PE2 code:

 Skeleton code

 Solution

 No new reading

M, 6/4

 EXAM 1

 Ch. 5 activities

 (due 6/7)

6 W, 6/6

 Functions

 Pointers; pointer arguments

 Lec. 6 slides

 Lec. 6 questions

 5.1-5.13

7 Th, 6/7

 Pointers (continued)

 PE3 (Functions)

 Lec. 7 slides

 Lec. 7 questions

 Ch. 6 activities

 (due 6/12)

 Program 4 (Sec. 4.10)

 (due 6/12)

 Spring P4 spec

 dice_example.c

8 M, 6/11

 Arrays

 Lec. 8 slides

 Lec. 8 questions

 6.1-6.13

 Ch. 7 activities

 (due 6/14)

 Program 5 (Sec. 5.14)

 (due 6/21)

 Spring P5 spec

 Spring P5 files

9 W, 6/13

 Character arrays and strings

 Lec. 9 slides

 Lec. 9 questions

 7.1-7.12

 
10 Th, 6/14

 Structures

 Exam 2 Preview

 Lec. 10 slides

 Lec. 10 questions

 8.1-8.5

M, 6/18

 EXAM 2

11 W, 6/20

 Nested structures

 PE4 (Structures)

 Lec. 11 slides

 Lec. 11 questions

 PE4 starter files:

 Main program

 Name.h, Name.c

 SINew.h, SINew.c

 PE4 solutions:

 Name.c, SINew.c

 Program 6 (Sec. 6.14)

 (due 6/27)

 Spring P6 spec

12 Th, 6/21

 File I/O

 Lec. 12 slides

 Lec. 12 questions

 9.1-9.4

 Ch. 9 activities

 (due 6/28)

13 M, 6/25

 Character and line I/O

 Bitwise operators

 Lec. 13 slides

 Lec. 13 questions

 fgets() covered in 7.3; other material not in text

 Program 7 (Sec. 8.6)

 (due 7/3)

 Spring P8 spec

 Spring P8 files

 Summer P7 based on Spring P8

14 W, 6/27

 Uses of bitwise operators

 Lec. 14 slides

 Lec. 14 questions

 Ch. 10 activities

 (due 6/29)

15 Th, 6/28

 Dynamic memory allocation

 Exam 3 Preview

 Lec. 15 slides

 Lec. 15 questions

 Exam 3 preview slides

 10.1-10.6

 Program 8 (Sec. 6.16)

 (XC, due 7/3)

 Spring P7 spec

 Spring P7 files

 Summer P8 based on Spring P7

 Program 9 (Sec. 9.5)

 (XC, due 7/3)

 Spring P9 spec

 Spring P9 files

M, 7/2

 EXAM 3