This is an introductory programming course covering the fundamentals of structured programming using the C programming language, and the fundamentals of object-oriented programming using the Java programming language. Topics covered include data types, arrays, multi-dimensional arrays, functions, pointers, strings, structures, static/stack/heap memory, file processing, command line arguments, handling multiple source and header files, classes/objects, code reusability, and inheritance.
After successful completion of this course, students will be able to:
Prerequisites:
A grade of a C or better in both ICEN111/150 and AMAT112 or 118. It is open only to electrical/computer engineering majors.
Electrical and Computer Engineering majors must receive a C or better to avoid repeating this class.
Lecture:
Time: Tuesday and Thursday, 3:00PM-4:20PM
Location: Lecture Center 3B
Lab:
Time: Wednesday, 6:00PM-8:50PM
Location: Lecture Center 3B
Instructor | Teaching Assistant | Teaching Assistant |
---|---|---|
Prof. Dola Saha Email: dsaha AT albany DOT edu Office Hours: HYBRID Monday 10-11AM @ ETEC 213 OR Zoom Tuesday 12:30-1:30PM @ ETEC 213 OR Zoom Wednesday 12-1PM @ ETEC 213 OR Zoom Thursday 1:30-2:30PM @ ETEC 213 OR Zoom |
Xue Wei Email: xwei4 AT albany DOT edu Office Hours: HYBRID Friday 11AM-1PM @ ETEC 220 OR Zoom |
Ehab Albadawy Email: ealbadawy AT albany DOT edu Office Hours: HYBRID Friday 2PM-4PM @ ETEC 220 OR Zoom |
Required:
This course has required readings and interactive exercises using an online textbook.
ALBANYECE141SahaSpring2022
Required:
All Electrical and Computer Engineers majors are required to have a personal laptop (Chrome book is not sufficient).
Additional Details are available here (University at Albany Laptop Program).
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. You are not supposed to collaborate on homework assignments.
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 not be tolerated and will be reported to the Graduate/Undergraduate Education in UAlbany. Read the Standards of Academic Integrity and Policies in the Undergraduate Bulletin or Graduate Bulletin.
Week | Date | Lecture Topic | Lab Topic | Other Topic |
---|---|---|---|---|
Module 1: Programming Fundamentals in C | ||||
1 | Jan 25 | Introduction to C (Branch/Loop) | ||
Jan 26 | Branch and Loops | |||
Jan 27 | Datatypes and User I/O | HW#1 Assigned, Due Feb 4 | ||
2 | Feb 1 | Type conversion, Variable Scope, Logical Operators, Booleans, Constants | ||
Feb 2 | Data types and conversion | |||
Feb 3 | Arrays | HW#2 Assigned, Due Feb 11 | ||
3 | Feb 8 | Strings | ||
Feb 9 | Arrays and Strings | |||
Feb 10 | 2D Array and Nested Loops | HW#3 Assigned, Due Feb 18 | ||
4 | Feb 15 | Functions | ||
Feb 16 | Functions | |||
Feb 17 | Functions with Arrays and Strings | HW#4 Assigned, Due Feb 25 | ||
5 | Feb 22 | Complete System Development | ||
Feb 23 | System using Functions, Arrays/Strings, Loops | |||
Module 2: Dynamic Memory and Files in C | ||||
Feb 24 | Structures and Enumerations | Practice Problems Assigned, will not be graded | ||
6 | Mar 1 | Source and Header Files | ||
Mar 2 | Examination on Module 1 Closed Book, closed notes, in-class exam through zyBooks. | |||
Mar 3 | Pointers | HW#5 Assigned, Due Mar 11 | ||
7 | Mar 8 | Pointers to Arrays, Structures and Strings | ||
Mar 9 | Struct, Header Files | |||
Mar 10 | Function Pointers | HW#6 Assigned, Due Mar 25 | ||
8 | Mar 15 | Spring Break, no lecture or lab | ||
Mar 16 | ||||
Mar 17 | ||||
9 | Mar 22 | Pointer to Pointers | ||
Mar 23 | Pointers | |||
Mar 24 | Memory Regions | HW#7 Assigned, Due Apr 1 | ||
10 | Mar 29 | Files Reading and Writing | ||
Mar 30 | File Handling | |||
Mar 31 | Binary Files | Practice Problems Assigned, will not be graded | ||
Module 3: Java | ||||
11 | Apr 5 | Introduction to Java | ||
Apr 6 | Examination on Module 2 Open Book, open notes, without any Internet, in-class exam through zyBooks. | |||
Apr 7 | Java Datatypes | HW#8 Assigned, Due Apr 15 | ||
12 | Apr 12 | Branch, Loop in Java | ||
Apr 13 | Branch, loop | |||
Apr 14 | Arrays and Methods | HW#9 Assigned, Due Apr 22 | ||
13 | Apr 19 | Object Oriented Programming (objects and class) | ||
Apr 20 | Array, Method and Objects | |||
Apr 21 | Constructor | HW#10 Assigned, Due Apr 29 | ||
14 | Apr 26 | Array List | ||
Apr 27 | Constructor | |||
Apr 28 | Inheritance | HW#11 Assigned, Due May 6 | ||
15 | May 3 | Exceptions and Error Handling | ||
May 4 | Inheritance | |||
May 5 | Reading Day | |||
May 7 | Final Examination (3:30-5:30pm) Open Book, open notes, without any Internet, in-class exam through zyBooks. |