EECE 2160 ECE Application Programming Instructor Dr Michael

  • Slides: 19
Download presentation
EECE. 2160 ECE Application Programming Instructor: Dr. Michael Geiger & Dr. Peilong Li Spring

EECE. 2160 ECE Application Programming Instructor: Dr. Michael Geiger & Dr. Peilong Li Spring 2017 Lecture 1: Course overview

Lecture outline n Announcements/notes q Program 1 due Wednesday, 1/25 n 10 points: e-mail

Lecture outline n Announcements/notes q Program 1 due Wednesday, 1/25 n 10 points: e-mail Dr. Geiger for shared Dropbox folder q q n n n Please specify e-mail address associated with Dropbox account You will receive invitation to join shared folder—must accept invitation 10 points: introduce yourself to your instructor 30 points: complete simple C program Today’s lecture q Course overview n n n q Instructor information Course materials Course policies Resources Course outline Introduction to C programming n 2/24/2021 Program development cycle ECE Application Programming: Lecture 1 2

Course meeting times n Lectures: n n Section 201: MWF 8 -8: 50, Ball

Course meeting times n Lectures: n n Section 201: MWF 8 -8: 50, Ball 314 Section 202: MWF 12 -12: 50, Kitson 305 You are welcome to attend either lecture Please go to your assigned section for exams 2/24/2021 ECE Application Programming: Lecture 1 3

Course instructors n Dr. Michael Geiger q q E-mail: Michael_Geiger@uml. edu Phone: 978 -934

Course instructors n Dr. Michael Geiger q q E-mail: Michael_Geiger@uml. edu Phone: 978 -934 -3618 (x 43618 on campus) Office: 118 A Perry Hall Office hours: M 9: 30 -11, W 9: 30 -11, Th 1: 30 -3 n n Student questions are top priority during these hours Will also be in office MW 11 -11: 45, F 9: 30 -11: 45 Available by appointment other days/times Dr. Peilong Li q q q E-mail: Peilong_Li@uml. edu Office: 402 Ball Hall Office hours: M 2: 30 -5, F 2: 30 -5 2/24/2021 ECE Application Programming: Lecture 1 4

Teaching assistants n Zhendong Wang (e-mail: Zhendong_Wang@student. uml. edu) n Li Zhou (e-mail: Li_Zhou@student.

Teaching assistants n Zhendong Wang (e-mail: Zhendong_Wang@student. uml. edu) n Li Zhou (e-mail: Li_Zhou@student. uml. edu) n Office hours TBA—will be based on Doodle poll 2/24/2021 ECE Application Programming: Lecture 1 5

Course materials n Textbook: K. N. King, C Programming: A Modern Approach, 2 nd

Course materials n Textbook: K. N. King, C Programming: A Modern Approach, 2 nd edition, 2008, W. W. Norton. q n ISBN: 978 -0 -393 -97950 -3 Course tools: Need integrated development environment (IDE) that compiles/runs C code q Recommended IDEs (all free; links on web) n n n 2/24/2021 Windows: Microsoft Visual Studio Express (MS website) Mac: Xcode (Mac App Store) Linux: gcc/gdb (text-based; can run through terminal on Mac as well) ECE Application Programming: Lecture 1 6

Additional course materials n Course websites: http: //mjgeiger. github. io/eece 2160/sp 17/index. htm http:

Additional course materials n Course websites: http: //mjgeiger. github. io/eece 2160/sp 17/index. htm http: //mjgeiger. github. io/eece 2160/sp 17/schedule. htm q n Will contain lecture slides, handouts, assignments Discussion group through piazza. com: q Allow common questions to be answered for everyone n q q Do not post code to the discussion group All course announcements will be posted here Will use as class mailing list—please enroll ASAP 2/24/2021 ECE Application Programming: Lecture 1 7

Academic honesty n n n All assignments are to be done individually unless explicitly

Academic honesty n n n All assignments are to be done individually unless explicitly specified otherwise by the instructor Any copied solutions, whether from another student or an outside source, are subject to penalty You may discuss general topics or help one another with specific errors, but do not share assignment solutions q Must acknowledge assistance from classmate in submission 2/24/2021 ECE Application Programming: Lecture 1 8

Programming assignments n Will submit all code via shared Dropbox folder q q n

Programming assignments n Will submit all code via shared Dropbox folder q q n Penalty after due date: -(2 n-1) points per day q q n Will not get confirmation unless you explicitly ask Must e-mail Dr. Geiger if submitting late i. e. , -1 after 1 day, -2 after 2 days, -4 after 3 days … Assignments that are 8+ days late receive 0 See grading policies (last three pages of today’s handout) for more details on: q q Grading rubric Common deductions Regrade policy Example grading 2/24/2021 ECE Application Programming: Lecture 1 9

Programming assignments: n regrades You are allowed one penalty-free resubmission per n n assignment

Programming assignments: n regrades You are allowed one penalty-free resubmission per n n assignment Each regrade after the first: 1 day late penalty Must resubmit by regrade deadline, or late penalties will apply Late penalty still applies if original submission late “Original submission” first file submitted containing significant amount of relevant code q In other words, don’t turn in a virtually empty file just to avoid late penalties—it won’t count 2/24/2021 ECE Application Programming: Lecture 1 10

Course “rules” A couple of unofficial rules: 1. Please call me “Dr. Geiger” q

Course “rules” A couple of unofficial rules: 1. Please call me “Dr. Geiger” q q 2. “Professor Geiger” is okay (although I’m technically not a professor, I’m a lecturer) “Michael, ” “Mike, ” or “Geiger” is not okay Please don’t talk when I’m talking q q 2/24/2021 Doing so distracts your classmates and me If you have a question, please raise your hand ask—I want questions during lecture! ECE Application Programming: Lecture 1 11

Grading and exam dates n Grading breakdown q q n Programming assignments: 60% Minimum

Grading and exam dates n Grading breakdown q q n Programming assignments: 60% Minimum of Exam 1/Exam 2: 10% Maximum of Exam 1/Exam 2: 15% Exam 3: 15% Exam dates q q q Exam 1: Wednesday, February 15 in class Exam 2: Wednesday, March 29 in class Exam 3: TBD (during finals; likely common for both sections) 2/24/2021 ECE Application Programming: Lecture 1 12

Tentative course outline n n n n n Basic C program structure and development

Tentative course outline n n n n n Basic C program structure and development Working with data: data types, variables, operators, expressions Basic console input/output Control flow Functions: basic modular programming, argument passing Pointers, arrays, and strings Creating new data types: structures Dynamic memory allocation File & general input/output Bitwise operators 2/24/2021 ECE Application Programming: Lecture 1 13

Programming exercises n Note on course schedule: several days marked as “PE#” q Those

Programming exercises n Note on course schedule: several days marked as “PE#” q Those classes will contain supervised, in-class programming exercises n q We’ll write/complete short programs to illustrate previously covered concepts If you have a laptop, feel free to bring it 2/24/2021 ECE Application Programming: Lecture 1 14

Course questions General notes/questions about the course: 1. How many of you have prior

Course questions General notes/questions about the course: 1. How many of you have prior programming experience? For those that do, can improve programming style, efficiency, potentially learn new items For those that don’t, course assumes no prior programming experience Fair warning for all of you: material builds on itself throughout course q q q n n 2/24/2021 Difficulty increases as course goes on If (when) you get stuck, ask for help!!! ECE Application Programming: Lecture 1 15

Course questions (continued) How many of you are taking this course only because it’s

Course questions (continued) How many of you are taking this course only because it’s required? 2. q q Follow-up: how many of you hope you’ll never have to program again once you’re done with the course? Both computer and electrical engineers commonly program in industry—some examples: n n n q Automation of tasks Circuit simulation Test procedures Programming skills highly sought by employers 2/24/2021 ECE Application Programming: Lecture 1 16

Program development n n . . . which is a good approach for your

Program development n n . . . which is a good approach for your assignments, too! Average student’s approach to programming q Read specification (assignment) n q q q . . . at least some of it, anyway. . . Attempt to write complete program Find output error and fix related code Repeat previous step until either n n 2/24/2021 Code completely works. . . or code is such a mess that problem(s) can’t be fixed ECE Application Programming: Lecture 1 17

Program development (cont. ) n A more structured approach to program development q q

Program development (cont. ) n A more structured approach to program development q q Read specification Identify requirements n n q Plan design that implements requirements n n q q What results should program produce? How can I test correctness of those results? Using flowchart, pseudocode, etc. Plan for tests as well Translate design into actual code Test program and fix errors 2/24/2021 ECE Application Programming: Lecture 1 18

Final notes n Next time: q q Basic C program structure Data in C

Final notes n Next time: q q Basic C program structure Data in C n n Data types Constants Variables Reminders: q q Sign up for the course discussion group on Piazza! Program 1 due Wednesday, 1/25 n 10 points: e-mail Dr. Geiger for shared Dropbox folder q q n n 2/24/2021 Please specify e-mail address associated with Dropbox account You will receive invitation to join shared folder—must accept invitation 10 points: introduce yourself to your instructor 30 points: complete simple C program ECE Application Programming: Lecture 1 19