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)
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
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.
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.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
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.
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
IT Project Management MIS419/576 Fall 2017.
Microprocessor Systems Design I
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
ENCM 369 Computer Organization
CS101 Computer Programming I
Principles of Evolution
CSc 020: Programming Concepts and Methodology II
ECE Application Programming
ECE Application Programming
ECE Application Programming
Computer Networks CNT5106C
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
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.
Computer Networks CNT5106C
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
Welcome to CS 1010! Algorithmic Problem Solving.
CSC2310 Principles of Computer Programming
Welcome to CS 1301! Principles of Programming I.
Cpt S 471/571: Computational Genomics
MIS323 Business Telecommunications
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Log in to the computer in front of you
Accelerated Introduction to Computer Science
EECE.2160 ECE Application Programming
Log in to the computer in front of you
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 Fall 2017 Lecture 1: Course overview

ECE Application Programming: Lecture 1 Lecture outline Announcements/notes Program 1 due Monday, 9/11 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/17/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Course meeting times Lectures: Section 201: MWF 8-8:50, Ball 326 Section 202: MWF 1-1:50, Ball 314 Section 203: MWF 12-12:50, Ball 314 You are welcome to attend either lecture Please go to your assigned section for exams 2/17/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: 301A Ball 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 & 2-3, F 9:30-11:45 Available by appointment other days/times 2/17/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Teaching assistants Zhendong Wang (e-mail: Zhendong_Wang@student.uml.edu) Lin Li (e-mail: LiN_Li@student.uml.edu) Office hours TBA—will be based on Doodle poll 2/17/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 Community (MS website) Mac: Xcode (Mac App Store) Linux: gcc/gdb (text-based; can run through terminal on Mac as well) 2/17/2019 ECE Application Programming: Lecture 1

Additional course materials Course websites: http://mjgeiger.github.io/eece2160/f17/index.htm http://mjgeiger.github.io/eece2160/f17/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/17/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/17/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/17/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/17/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/17/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, October 4 in class Exam 2: Wednesday, November 8 in class Exam 3: TBD (during finals; likely common for both sections) 2/17/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/17/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/17/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/17/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/17/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/17/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/17/2019 ECE Application Programming: Lecture 1

ECE Application Programming: Lecture 1 Final notes Next time: Basic C program structure Visual Studio demonstration (Time permitting) Data in C Data types Constants Variables Reminders: Sign up for the course discussion group on Piazza! Program 1 due Monday, 9/11 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/17/2019 ECE Application Programming: Lecture 1