ICEN 200: Programming for Engineers
Course Description

This course serves as an introduction to programming for Electrical & Computer Engineering (ECE) majors and others with a strong interest in the discipline of ECE. 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. The course will focus heavily on applications, tie every aspect of programming to specific applications. Students will design, write, and debug computer programs. No prior knowledge of programming is assumed. Regular and frequent practice will help understand the concepts of programming. The course will usually require 10 to 15 hours per week of programming.

This class has two parts: 1) Lecture session followed by 2) Lab session in the same room. Both are MANDATORY to attend.

Lecture Time: MWF 9:20-10:15AM
Lab Time: MWF 10:25-11:20AM
Location: Science Library (SL) G03

Instructor Teaching Assistant
Prof. Dola Saha
Prof. Dola Saha
Email: dsaha AT albany DOT edu
Office hours: In LI 89B
Monday: 12:30PM-1:30PM
Wednesday: 11:30AM-12:30PM
Jorge Gomez
Jorge Gomez
Email: jgomez4 AT albany DOT edu
Office hours: In LI 89
Tuesday: 1:15PM-2:15PM
Thursday: 4:15PM-5:15PM

Blackboard: ICEN 200: Programming for Engineers
Books

Required: "C How to Program, 8th Edition", Paul Deitel and Harvey Deitel, Pearson
Reference:

  1. "The C Programming Language", Brian W. Kernighan and Dennis Ritchie, Pearson
  2. "Problem Solving and Program Design in C", Jeri R. Hanly and Elliot B. Koffman, Pearson

Grading Information
  1. Attendance - 5%
  2. Lab Assignments - 15%
  3. Homework Assignments - 20%
  4. Midterm 1 - 20%
  5. Midterm 2 - 20%
  6. Final Exam - 20%
Grading Scale
A: 100-95 points A-: 94-90 points
B+: 89-87 points B: 86-84 points B-: 83-80 points 
C+: 79-77 points C: 76-73 points C-: 72-70 points
D+: 69-67 points D: 66-63 points D-: 62-60 points
E: 59 points and below
Policies

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.


Course Calendar

Subject to change as per travel schedule, material progreess and unforseen events

Week Date Discussion Topic
1 Jan 24Introduction
Jan 26Introduction to C
2 Jan 29Data Types
Jan 31Number System
Feb 02Structured Program
3 Feb 05
Feb 07Snow Day
Feb 09
4 Feb 12Iteration
Feb 14
Feb 16
5 Feb 19Functions
Feb 21
Feb 23Arrays
6 Feb 26Midterm 1 - Closed Book, closed notes, in-class coding exam.
Feb 28
Mar 02Snow Day
7 Mar 05
Mar 07
Mar 09Pointers
8 Mar 12Spring Break
Mar 14
Mar 16
9 Mar 19
Mar 21Recursion
Mar 23
10 Mar 26Strucures, Unions
Mar 28
Mar 30Bit Manipulation
11 Apr 02Easter Break
Apr 04
Apr 06Midterm 2 - Closed Book, closed notes, in-class written exam.
12 Apr 09Characters and Strings
Apr 11
Apr 13
13 Apr 16File Processing
Apr 18
Apr 20Formatted I/O
14 Apr 23Preprocessor
Apr 25
Apr 27Dynamic Memory Allocation
15 Apr 30Command Line Argument
May 02Multiple Source Files
May 04Data Structure, Object Oriented Programming
16 May 07Revision
May 09Mock Test
May 17Final Examination (10:30am-12:30pm) - Closed Book, closed notes, in-class written exam.