EECE.2160 ECE Application Programming

Slides:



Advertisements
Similar presentations
Microprocessor Systems Design I
Advertisements

COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Course Introduction CSCI Software Engineering II Fall 2014 Bill Pine.
MIS 300: Introduction to Management Information Systems Yong Choi School of Business Administration CSU, Bakersfield.
1 Software Systems Development CEN Spring 2011 TR 12:30 PM – 1:45 PM ENB 116 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering.
Bilgisayar Mühendisliği Bölümü CENG 102 – Computer Programming Melek OKTAY Syllabus Administrative Information.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
BIT 143: Programming – Data Structures It is assumed that you will also be present for the slideshow for the first day of class. Between that slideshow.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
WELCOME TO MICRO ECONOMICS AB 224 Discussion of Syllabus and Expectations in the Class.
1 1.Log in to the computer in front of you –Temp account: 210class / 2.Update your in Cascadia's system –If I need to you I'll use.
INTE 290 Summer 2015.
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
Microprocessor Systems Design I
Andy Wang Object Oriented Programming in C++ COP 3330
ENCM 369 Computer Organization
CS101 Computer Programming I
CSc 020: Programming Concepts and Methodology II
ECE Application Programming
ECE Application Programming
ECE Application Programming
EECE.2160 ECE Application Programming
ECE Application Programming
Microprocessor Systems Design I
EECE.2160 ECE Application Programming
Welcome to MATH FALL 2016.
CMPT 238 Data Structures Instructor: Tina Tian.
Course Overview CSE8313 Object-Oriented Analysis and Design
Send the professor (This is also listed in the syllabus)
Computer Science 102 Data Structures CSCI-UA
Log in to the computer in front of you
Cpt S 471/571: Computational Genomics
Lecture 1: Introduction
Welcome to CS 1010! Algorithmic Problem Solving.
Andy Wang Object Oriented Programming in C++ COP 3330
Welcome to CS 1010! Algorithmic Problem Solving.
CSC215 Lecture Orientation.
Welcome to CS 1301! Principles of Programming I.
Cpt S 471/571: Computational Genomics
Log in to the computer in front of you
Accelerated Introduction to Computer Science
Log in to the computer in front of you
CSC215 Lecture Orientation.
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
CS 2530 Intermediate Computing Dr. Schafer
ECE Application Programming
BIT 115: Introduction To Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2017
EECE.2160 ECE Application Programming
Course Overview CSE5319/7319 Software Architecture and Design
EECE.4810/EECE.5730 Operating Systems
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
CS Computer Science II: Data Structures and Abstraction Fall 2009
CMPT 238 Data Structures Instructor: Tina Tian.
Presentation transcript:

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

ECE Application Programming: Lecture 1 Lecture outline Announcements/notes Program 1 due Wednesday, 1/25 10 points: e-mail Dr. Geiger for shared Dropbox folder 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 Course overview Instructor information Course materials Course policies Resources Course outline Introduction to C programming Program development cycle 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Course meeting times Lectures: 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/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Course instructors Dr. Michael Geiger E-mail: Michael_Geiger@uml.edu Phone: 978-934-3618 (x43618 on campus) Office: 118A Perry Hall Office hours: M 9:30-11, W 9:30-11, Th 1:30-3 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 E-mail: Peilong_Li@uml.edu Office: 402 Ball Hall Office hours: M 2:30-5, F 2:30-5 2/15/2019 ECE Application Programming: Lecture 1

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

ECE Application Programming: Lecture 1 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) 2/15/2019 ECE Application Programming: Lecture 1

Additional course materials Course websites: http://mjgeiger.github.io/eece2160/sp17/index.htm http://mjgeiger.github.io/eece2160/sp17/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 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Academic honesty 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 Must acknowledge assistance from classmate in submission 2/15/2019 ECE Application Programming: Lecture 1

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 2/15/2019 ECE Application Programming: Lecture 1

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 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Course “rules” A couple of unofficial rules: Please call me “Dr. Geiger” “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 Doing so distracts your classmates and me If you have a question, please raise your hand and ask—I want questions during lecture! 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Grading and exam dates Grading breakdown Programming assignments: 60% Minimum of Exam 1/Exam 2: 10% Maximum of Exam 1/Exam 2: 15% Exam 3: 15% Exam dates 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/15/2019 ECE Application Programming: Lecture 1

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 Creating new data types: structures Dynamic memory allocation File & general input/output Bitwise operators 2/15/2019 ECE Application Programming: Lecture 1

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 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 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!!! 2/15/2019 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 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 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 2/15/2019 ECE Application Programming: Lecture 1

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 2/15/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Final notes Next time: 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/25 10 points: e-mail Dr. Geiger for shared Dropbox folder 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 2/15/2019 ECE Application Programming: Lecture 1