This course serves as an introduction to programming for computer engineering majors and others with a strong interest in the discipline of computer engineering. The course will focus on broad theoretical concepts as well as language syntax. Students will learn how to program in this course by using C programming language. This course will help students develop the critical thinking skills to design the logic flow for a program, irrespective of the programming language. Students will learn how to create structured, procedural programs using variables, functions, control statements and structures, memory management, and pointers. By the end of the course, students will be comfortable with the key concepts, techniques, and software development tools used for writing programs in C to solve engineering problems. Students will also get exposed to programming in Arduino platform, an open-source electronics platform, to utilize the fundamental knowledge of programming for physical computing. The course will focus heavily on applications, tie every aspect of programming to specific applications, either in an independent field, or a part of some large software.
This is a hands-on, cumulative skill practice and development kind of course – not a course of just learning facts. The critical thing you must do to succeed is to actively participate (not just listen, read and study). The course plan gives incentives for regular, frequent and sometimes challenging engagement with the subject’s intellectual work, but also makes it more fun and easier to maintain the necessary attention. You need to practice constantly to understand the concepts of programming, which usually requires 10 to 15 hours per week aside from the classes.
Time and Location: T/Th 11:45-01:05PM @ Arts & Sciences (AS) 013
Instructor |
---|
Prof. Dola Saha Email: dsaha AT albany DOT edu Office hours: In BA 312 Tuesday: 1:15-2:15PM Thursday: 2:00-3:00PM |
Required: "C How to Program, 8th Edition", Paul Deitel and Harvey Deitel, Pearson
Reference:
Assignments: Assignments will be posted in Blackboard. No late assignments will be accepted. All assignments are due by 11:59PM on the due date in Blackboard (unless otherwise specified). Any re-grading requests will be considered up to 5 business days after posting the grades for the corresponding assignment. No re-grading requests will be entertained after the 5-day period has passed.
Academic Honesty and Overall Regulations: Every student has the responsibility to become familiar with the standards of academic integrity at the University. Plagiarism and any act of academic dishonesty will be punished. Read the Standards of Academic Integrity and Policies in the Undergraduate Bulletin.
Date | Discussion Topic | Assignment |
---|---|---|
January 24 | Introduction | |
January 26 | Simple Program, Arithmetic | |
January 31 | Data Types, Decision Making | |
February 2 | Structured Programming | |
February 7 | Selection | |
February 9 | Class cancelled due to snow | |
February 14 | Selection & Iteration | |
February 17 | Iteration | |
February 21 | Function | |
February 23 | Midterm 1 | |
February 28 | Recursion | |
March 2 | Arrays | |
March 7 | Multidimensional Array | |
March 9 | More Arrays, Pointers | |
March 14 | No classes, Spring Break | |
March 16 | No classes, Spring Break | |
March 21 | Pointers, Array of pointers | |
March 23 | Structures and Unions | |
March 28 | Bit Manipulation, Enumeration | |
March 30 | Characters and Strings | |
April 4 | Strings | |
April 6 | Midterm 2 | |
April 11 | No classes, Passover | |
April 13 | File Processing | |
April 18 | Programming embedded system - Overview, Digital Write | Resources: Language Reference, Tutorials, Book, Lessons from Adafruit, Slides from Sparkfun |
April 20 | Programming embedded system - PWM, Analog Write | |
April 25 | Programming embedded system - Digital Read, Analog Read, Serial In | |
April 27 | Data Structure | |
May 2 | Programming embedded system - Project Presentation | Jorge Gomez - slides, video Lucas Henry - slides, video Hun Heo - slides, video Bradey Liverio - slides, video Ian Walter - slides, video |
May 4 | Object Oriented Programming | |
May 9 | Review | |
May 18 | Final Exam 8:00-10:00AM |