1 / 17

EECE.2160 ECE Application Programming

This lecture provides an overview of the course and covers the basic structure of C programs. Topics include course materials, policies, program development cycle, and introduction to C programming.

ncastro
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 & Peilong Li Spring 2016 Lecture 1: Course overview Basic C program structure

  2. Lecture outline • Announcements/notes • Program 1 due Wednesday, 1/27 • 10 points: e-mail Dr. Geiger for shared Dropbox folder • 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 • Course outline • Introduction to C programming • Program development cycle • Basic program structure ECE Application Programming: Lecture 1

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

  4. Course instructors • Dr. Michael Geiger (Section 202) • E-mail:Michael_Geiger@uml.edu • Phone: 978-934-3618 (x43618 on campus) • Office: 118A Perry Hall • Office hours: M 1-2:30, W 1-2:30, Th1:30-3 • Student questions are top priority during these hours • Will be in office at other times TBD • Available by appointment • Peilong Li (Section 201) • E-mail:Peilong_Li@student.uml.edu • Office hours: MWF 3-4, Ball 402 ECE Application Programming: Lecture 1

  5. Course materials • Textbook: K.N. King, C Programming: A Modern Approach, 2nd edition, 2008, W.W. Norton. • ISBN: 978-0-393-97950-3 • Course tools:Need integrated development environment (IDE) that compiles/runs C code • Recommended IDEs (all free; links on web) • 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 • Course websites: http://mjgeiger.github.io/eece2160/sp16/index.htm http://mjgeiger.github.io/eece2160/sp16/schedule.htm • Will contain lecture slides, handouts, assignments • Discussion group through piazza.com: • Allow common questions to be answered for everyone • Do not post code to the discussion group • All course announcements will be posted here • Will use as class mailing list—please enroll ASAP ECE Application Programming: Lecture 1

  7. Academic honesty • All assignments are to be done individuallyunless 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 • Must acknowledge assistance from classmate in submission ECE Application Programming: Lecture 1

  8. Programming assignments • Will submit all code via shared Dropbox folder • Will not get confirmation unless you explicitly ask • Must e-mail Dr. Geiger if submitting late • Penalty after due date: -(2n-1) points per day • 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: • Grading rubric • Common deductions • Regrade policy • Example grading ECE Application Programming: Lecture 1

  9. Programming assignments: regrades • You are allowed one penalty-free resubmission per 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 • In other words, don’t turn in a virtually empty file just to avoid late penalties—it won’t count ECE Application Programming: Lecture 1

  10. Grading and exam dates • Grading breakdown • Programming assignments: 60% • Exam 1: 10% • Exam 2: 15% • Exam 3: 15% • Exam dates • Exam 1: Wednesday, February 17 in class • Exam 2: Wednesday, March 30 in class • Exam 3: TBD (during finals; likely common to all sections) ECE Application Programming: Lecture 1

  11. Tentative course outline • 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 • File & general input/output • Bitwise operators • Creating new data types: structures • Dynamic memory allocation ECE Application Programming: Lecture 1

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

  13. Course questions General notes/questions about the course: • 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 • Difficulty increases as course goes on • If (when) you get stuck, ask for help!!! ECE Application Programming: Lecture 1

  14. 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

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

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

  17. Final notes • Next time: • Finish basic C program structure • Data in C • Data types • Constants • Variables • Reminders: • Sign up for the course discussion group on Piazza! • Program 1 due Wednesday, 1/27 • 10 points: e-mail Dr. Geiger for shared Dropbox folder • 10 points: introduce yourself to your instructor • 30 points: complete simple C program ECE Application Programming: Lecture 1

More Related