210 likes | 223 Views
Get a comprehensive overview of the ECE Application Programming course, including instructor information, course materials, grading breakdown, academic honesty policy, and more. Dive into basic C programming concepts and understand the course rules and expectations.
E N D
EECE.2160ECE 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 • 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
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
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
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
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
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
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
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
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
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
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
Our first C program #include <stdio.h>int main(){ printf("Hello World!\n"); return 0;} ECE Application Programming: Lecture 1
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
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
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
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
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
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
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