EECE.2160: ECE Application Programming Spring 2019

Similar documents
EECE.2160: ECE Application Programming Spring 2017

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

Course Syllabus. Course Information

Cleveland State University

CS 241 Data Organization using C

CSC 111 Introduction to Computer Science (Section C)

CS Computer Science I

ESET 349 Microcontroller Architecture, Fall 2018

Internet Web Technologies ITP 104 (2 Units)

AE Computer Programming for Aerospace Engineers

ISM 324: Information Systems Security Spring 2014

GET 433 Course Syllabus Spring 2017

ITP489 In-Memory DBMS for Real Time Analytics

CIS*1500 Introduction to Programming

ESET 369 Embedded Systems Software, Spring 2018

Introduction to Information Technology ITP 101x (4 Units)

CISC 3130 Data Structures Spring 2018

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

CS 375 UNIX System Programming Spring 2014 Syllabus

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

CSCE 441 Computer Graphics Fall 2018

COURSE SYLLABUS AND INSTRUCTOR PLAN

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Course Syllabus - CNT 4703 Design and Implementation of Computer Communication Networks Fall 2011

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

CSCE 206: Structured Programming in C

CSCI 201L Syllabus Principles of Software Development Spring 2018

CS503 Advanced Programming I CS305 Computer Algorithms I

Compilers for Modern Architectures Course Syllabus, Spring 2015

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

Introduction to Programming System Design CSCI 455x (4 Units)

Course Syllabus. Course Information

Advanced Topics in Database Systems Spring 2016

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

ESET 369 Embedded Systems Software, Fall 2017

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Web Programming Fall 2011

ECE573 Introduction to Compilers & Translators

MGMT 4336 Networks & Data Communication Section D10

Web Programming Spring 2010

CS 0449 Intro to Systems Software Fall Term: 2181

CS 3230 Object Oriented UI Development With Java Syllabus

COSC 115A: Introduction to Web Authoring Fall 2014

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

CSc 2310 Principles of Programming (Java) Jyoti Islam

VIS II: Design Communication Graphic Design Basics, Photoshop and InDesign Spring 2018

CS 241 Data Organization. August 21, 2018

Gerlinde Brady Phone: Office Hours: see Web at:

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Central Washington University Department of Computer Science Course Syllabus

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

ITS310: Introduction to Computer Based Systems Credit Hours: 3

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

Introduction to UNIX

Advanced Programming CMPS 109

CS 4230 Java Application Development Syllabus

CS 4230 Java Application Development Syllabus

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

CSE 504: Compiler Design

ECE 467 Section 201 Network Implementation Laboratory

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

Valeria Martinovic, 330 Latimer. Concurrent enrollment in Chem 1A or a C- in Chem 1A. Tuesday April 28th - 7:00-9:00pm

CIT110 A+ Hardware Spring 2015

Operating Systems, Spring 2015 Course Syllabus

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

SAMPLE. Course Description and Outcomes

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

You must pass the final exam to pass the course.

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

CS 471 Networking and Distributed Operating Systems

COMP-202A: Introduction to Computing 1

Instructor: Anna Miller

COSC 115: Introduction to Web Authoring Fall 2013

Computer Science Technology Department

BCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER COURSE WEBSITE

ITSY Information Technology Security Course Syllabus Spring 2018

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Syllabus -- CIS Computer Maintenance / A+ Certification

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

CSCE 5013: Cloud Computing Spring 2017

Syllabus Revised 03/05/2015

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

INFS 2150 (Section A) Fall 2018

CPSC 5157G Computer Networks

Sprint 2017, Sul Ross State University

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

INF 315E Introduction to Databases School of Information Fall 2015

Database Design and Management - BADM 352 Fall 2009 Syllabus and Schedule

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ROUTING/SWITCH CONFIGURATION CSIT 2750

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

Transcription:

Course Meetings Section 201: MWF 8-8:50, Kitson 305 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp19/ Schedule: http://mjgeiger.github.io/eece2160/sp19/schedule.htm All course announcements will be posted on the course Blackboard page. You are responsible for checking that site, as well as the sites listed above, on a regular basis. Instructors Dr. Lin Li (Sec. 201) E-mail: Lin_Li@uml.edu Office: Ball 402 (desk #17) Office hours: Monday/Wednesday 9:30-11 AM Dr. Michael Geiger (Sec. 202) E-mail: Michael_Geiger@uml.edu Office: Ball 301A Phone: 978-934-3618 (x43618 on campus) Office hours: Monday/Wednesday/Friday 1-1:50 PM; Tuesday/Thursday by appointment only During office hours, student questions are our top priority. Feel free to stop by the office, e-mail questions, or schedule a one-on-one appointment. Office hours are subject to change. Required Textbook Programming in C with zylabs, EECE.2160, The text is required because (a) part of your grade depends on completing its interactive examples, and (b) you will submit all programming assignments through the textbook IDE. To obtain access to the textbook, please follow the instructions below: 1. Sign in or create account at learn.zybooks.com 2. Enter zybook code: UMLEECE2160GeigerSpring2019 3. Subscribe ($77 for this term; lasts until 5/25/19) You must use a student.uml.edu e-mail address to subscribe and select the course section (201, 202) for which you are registered Previous Textbook (recommended for anyone who wants a traditional, hardcopy textbook) K.N. King, C Programming: A Modern Approach, 2nd edition, 2008, W.W. Norton. ISBN: 978-0-393-97950-3

Course Overview Catalog Description: Introduces C programming for engineers. Covers fundamentals of procedural programming with applications in electrical and computer engineering and embedded systems. Topics include variables, expressions and statements, console input/output, modularization and functions, arrays, pointers and strings, algorithms, structures, and file input/output. Introduces working with C at the bit manipulation level. Laboratories include designing and programming engineering applications. 3 credits. Course Objectives: By the end of this course, you should understand how to use the following: 1. Basic C Language Concepts: constants, variables, operators, expressions and assignment statements 2. Input and Output: Reading data from the keyboard and displaying formatted results on the screen 3. Flow of Control 1 Decisions and selection: if and switch statements 4. Flow of Control 2 Repetition: while, do-while, and for loops 5. Functions: Defining and calling functions. Using arguments to pass data to a function. Using arguments to obtain results from a function. Return values. 6. Data Structures 1: One and two-dimensional arrays. Character strings. 7. Data Structures 2: Structures, collections of data components of differing types. 8. File Input / Output: Writing programs which obtain input from a file rather than the keyboard, and which write results to a file rather than to the screen Grading: Grades will be computed on an A to F scale; no A+ grades will be assigned, in accordance with UMass Lowell policy. The weights assigned to the various items are: Programming assignments 50% Lowest Exam 1/Exam 2 grade 10% Textbook participation activities 5% Highest Exam 1/Exam 2 grade 15% Textbook challenge activities 5% Exam 3 15% Incomplete grades will only be given in exceptional situations, and the student must be passing the class at the time the grade is requested. The following rubric describes how grades will be assigned if no grading curve is applied. A grading curve may be used at the instructors discretion, depending on the overall course average at the end of the term. Grades will not be curved down, meaning that the table below describes the minimum letter grade you will earn for a final average in each of the ranges shown: Range Grade Range Grade > 92 A 78-79 C+ 90-92 A- 73-77 C 88-89 B+ 70-72 C- 83-87 B 68-69 D+ 80-82 B- 60-67 D < 60 F Your grade is based strictly on the work you do during the semester. Please do not ask for extra credit work to improve your grade any extra credit work we give is available to the whole class, not just the students who ask for it. 2

Textbook activities: Each lecture has a related reading assignment, which contains a set of participation and/or challenge activities. These activities must be completed no more than three days after the associated lecture, including weekends and holidays, to receive credit. (For example, activities related to the lecture on Friday, 1/25 must be completed by the end of the day (11:59:59 PM) Monday, 1/28.) Activities completed after the due date receive a grade of 0. Programming assignments: Typically, you will have about one week to complete each assignment. Late assignments will lose 2 n-1 points per n days late, including weekends and holidays. (So, -1 for 1 day late, -2 for 2 days late, -4 for 3 days late, etc.) You will submit your code directly through the class zybook, while also submitting a brief assignment via Blackboard that will allow the grader to assign points for programming style. For each program, grades are broken into two categories output (60%) and programming style (40%) unless otherwise specified in the assignment. Output grades are immediately available after submission the zybooks IDE auto-grades your output, using test cases given with each program, and displays your score. For programming style, an instructor will manually review your program and assign points according to a predetermined rubric. For each program, you are allowed one resubmission to improve your grade without penalty. You must resubmit your code by the given deadline for that assignment; late penalties apply to late resubmissions. Late penalties on the original submission still apply to the resubmission for example, an assignment that is 3 days late has a maximum score of 96 for the resubmission. Exams: Make-up exams will only be offered in exceptional circumstances. You must notify your instructor as early as possible in order to determine an appropriate make-up date. Class participation: You are responsible for all material discussed or announced in class. You are expected to attend class regularly and participate in any in-class discussions, as such exercises are essential to your learning. Although lecture attendance is not explicitly required, regular attendance will improve your understanding of the course concepts. Academic Honesty All assignments and exams must be completed individually unless otherwise specified. You may discuss concepts or material covered in class, but may not share any details of your solutions to assigned problems, including algorithms and code. Plagiarism (in this course, copying code from an outside source) is also unacceptable and will be treated as an instance of cheating. Students are allowed to discuss assignments in general terms and to help one another fix specific errors, such as compiler errors or output formatting. In this case, students must note in their program header that they received assistance from a classmate. However, any code sharing even if used only to help a classmate solve a specific error is an academic honesty violation. Any assignment or portion of an assignment violating this policy will receive a grade of 0 for all parties concerned. Depending on the severity of the infraction, or in cases of repeat violations, the instructor may give additional penalties, up to and including a failing grade in the course. Further information on the University Academic Integrity policy can be found at: https://www.uml.edu/catalog/undergraduate/policies/academic-policies/academic-integrity.aspx 3

Course Schedule This schedule contains a tentative schedule of topics we will cover throughout the term; the course website will contain the most up-to-date version. The web page will also describe which section(s) of the textbook are associated with each lecture, as well as the due date for each programming assignment due dates for textbook exercises will not be on the website, only in the textbook. You should expect to complete approximately 10 programs this term. Please note that several days are denoted as "PE#" these classes will contain an in-class programming exercise. While students will be able to participate even if they do not have a computer, I encourage anyone with a laptop to bring it to class on these days. Please note that the exam dates are fixed the first exam will be held on Friday, February 22 in class, the second exam will be held on Monday, April 1 in class, and the third exam will be held during final exams, at a date and time to be determined by the registrar s office. Week Date (M) 1 1/21 2 1/28 3 2/4 4 2/11 5 2/18 6 2/25 7 3/4 Lecture Topics No Monday lecture classes start 1/22 1. Course introduction/overview 2. Basic C program structure; IDE demo 3. Data types; variables 4. Operators; output with printf() 5. Input with scanf() 6. PE1 (Flowcharts, debugging) 7. If statements 8. Range checking 9. Switch statements; while loops 10. Do-while loops; loop examples 11. PE2 (Conditionals, while loops) No Monday lecture Presidents Day 12. For loops (Tuesday, 2/19) 13. Exam 1 Preview Friday, 2/22: EXAM 1 14. Exam 1 Review -or- Functions 15. Functions -or- Exam 1 Review 16. Function examples 17. Pointer arguments 18. Pointer argument examples 19. PE3 (Functions) 8 3/11 No classes Spring Break 9 3/18 10 3/25 20. One dimensional and two dimensional arrays 21. Arrays and functions 22. Character arrays and strings 23. String functions and examples 24. Topics TBD 25. Exam 2 Preview Programs Program 1 (due 1/30) Program 2 (due 2/8) Program 3 (due 2/19) Program 4 (due 3/4) Program 5 (due 3/20) Program 6 (due 3/29) Program 7 (due 4/8) 4

Course Schedule (continued) Week Date (M) 11 4/1 12 4/8 13 4/15 14 4/22 15 4/29 TBD Lecture Topics Monday, 4/1: EXAM 2 26. Structures 27. Nested structures -or- Exam 2 Review 28. Exam 2 Review -or- Nested structures Tuesday, 4/9: Last day to withdraw 29. PE4: Structures 30. File I/O No Monday lecture Patriots Day 31. Character and line I/O 32. Bitwise operators 33. Common bitwise operations 34. Dynamic memory allocation 35. Dynamic memory allocation (continued) 36-37. Topics TBD 38. Exam 3 Preview Classes end Friday, 5/3 EXAM 3: during finals; time/location TBD Programs Program 8 (due 4/19) Program 9 (due 4/29) Program 10 (extra credit due TBD) 5