1 / 21

EECE.2160 ECE Application Programming

EECE.2160 ECE Application Programming. Instructors: Dr. Michael Geiger & Dr. Lin Li Spring 2019 Lecture 1: Course overview Program basics. Lecture outline. Announcements/notes Chapter 1 exercises due Monday, 1/28 Program 1 due Wednesday, 1/30

elmerj
Download Presentation

EECE.2160 ECE Application Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EECE.2160ECE Application Programming Instructors: Dr. Michael Geiger & Dr. Lin Li Spring 2019 Lecture 1: Course overview Program basics

  2. Lecture outline • Announcements/notes • Chapter 1 exercises due Monday, 1/28 • Program 1 due Wednesday, 1/30 • 10 points: register for access to the course textbook • 10 points: introduce yourself to your instructor • 30 points: complete simple C program • Today’s lecture • Course overview • Instructor information • Course materials • Course policies • Resources • Introduction to C programming • Basic C program ECE Application Programming: Lecture 1

  3. Course instructors • Dr. Lin Li (Section 201) • E-mail: Lin_Li@uml.edu • Office: 402 Ball Hall (desk #17) • Office hours: MW 9:30-11 AM • Dr. Michael Geiger (Section 202) • E-mail:Michael_Geiger@uml.edu • Phone: 978-934-3618 (x43618 on campus) • Office: 301A Ball Hall • Office hours: MWF 1-1:50 PM, TTh by appointment • Additional instructional support • Tutoring through CLASS center • Grader TBD ECE Application Programming: Lecture 1

  4. Course materials • Required Textbook: Programming in C with zyLabs, EECE.2160, Spring 2019 • Electronic textbook + IDE for writing programs • 10% of grade assigned to exercises from text • To access text: • Sign in or create account @ learn.zybooks.com • Enter zyBook code: UMLEECE2160GeigerSpring2019 • Subscribe ($77 this term; lasts until 5/25/19) • Textbook registration requires you to supply • student.uml.edu e-mail address • Section in which you are enrolled • May want to use other IDE (Visual Studio, xCode) • Directions on use to be posted to web ECE Application Programming: Lecture 1

  5. Additional course materials • Course websites: http://mjgeiger.github.io/eece2160/sp19/index.htm http://mjgeiger.github.io/eece2160/sp19/schedule.htm • Will contain lecture slides, handouts, assignments • Discussion group through Blackboard • Do not post code to the discussion group • All course announcements will be posted on Blackboard as well ECE Application Programming: Lecture 1

  6. Grading and exam dates • Grading breakdown • Programming assignments: 50% • No programs will be dropped • Textbook activities: 10% • Participation activities: 5% • Challenge activities: 5% • Lowest of first 2 exams: 10% • Highest of first 2 exams: 15% • Exam 3: 15% • Exam dates • Exam 1: Friday, February 22 in class • Exam 2: Monday, April 1 in class • Exam 3: Date/time TBD (during finals; common exam) ECE Application Programming: Lecture 1

  7. Academic honesty • All assignments are to be done individually • Don’t share code with one another • Don’t write programs together • Any copied solutions, whether from another student or an outside source, are subject to penalty ECE Application Programming: Lecture 1

  8. Textbook activities • Activities associated with each lecture • Must be completed within 3 days of lecture • Activities completed >3 days after lecture: 0 credit • No extensions given for these activities • Two activity types • Participation activity: may retry until correct • Challenge activity: problems may change if incorrect certain number of times ECE Application Programming: Lecture 1

  9. Programming assignments • Will submit all code through textbook IDE • Brief “submission” to Blackboard for style grading • Penalty after due date: -(2n-1) points per day • i.e., -1 after 1 day, -2 after 2 days, -4 after 3 days … • Grading generally split as follows: • 60%: Code compiles & generates correct output • Output correctness auto-graded within textbook IDE • 40%: Programming style • Instructor/grader will examine code and grade accordingly • May resubmit each program once for regrade ECE Application Programming: Lecture 1

  10. Course “rules” A couple of unofficial rules: • Please address your instructor appropriately • For example, “Dr. Li” or “Professor Geiger” • Please don’t talk when I’m talking • Doing so distracts your classmates and me • If you have a question, please raise your hand and ask—I want questions during lecture! ECE Application Programming: Lecture 1

  11. Course questions General notes/questions about the course: • How many of you have prior programming experience? • If so, hopefully you become a better programmer • If not, don’t worry—course assumes no prior programming experience • Fair warning for all of you: material builds on itself throughout course • Difficulty increases as course goes on • If (when) you get stuck, ask for help!!! ECE Application Programming: Lecture 1

  12. Course questions (continued) • How many of you are taking this course only because it’s required? • 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: • Automation of tasks • Circuit simulation • Test procedures • Programming skills highly sought by employers ECE Application Programming: Lecture 1

  13. Our first C program #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  14. ECE Application Programming: Lecture 1

  15. Our first C program # indicates pre-processor directive include is the directive stdio.h is the name of the file to "insert" into our program. The <> means it is part of the C development system #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  16. Our first C program main is the name of the primary (or main) procedure. All ANSI C programs must have a main routine named main The () indicates that main is the name of a procedure. All procedure references must be followed with () #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  17. Our first C program { } enclose a "block". A block is zero or more C statements. Note that code inside a block is typically indented for readability—knowing what code is inside the current block is quite useful. #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  18. Our first C program printf() is a "built-in" function (which is actually defined in stdio.h). "Hello World!" is the string to print. More formally, this is called the control string or control specifier. #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} Every statement must end with a ";". Preprocessing directives do not end with a ";" (but must end with a return). ECE Application Programming: Lecture 1

  19. Our first C program The \n is an escape character used by the printf function; inserting this character in the control string causes a “newline” to be printed—it’s as if you hit the “Enter” key #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  20. Our first C program The int tells the compiler our main() program will return an integer to the operating system; the return tells what integer value to return. This keyword could be void, indicating that the program returns nothing to the OS. #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1

  21. Final notes • Next time: • Continue basic C program structure • IDE demonstrations • zyBooks IDE • Visual Studio • Reminders: • Chapter 1 exercises due Monday, 1/28 • Program 1 due Wednesday, 1/30 • 10 points: register for access to the course textbook • 10 points: introduce yourself to your instructor • 30 points: complete simple C program ECE Application Programming: Lecture 1

More Related