Faculty
Professors
Xin Li, Ph.D., Princeton University
Paliath Narendran, Ph.D., Rensselaer Polytechnic Institute
Jeff Offutt, Ph.D., Georgia Institute of Technology (Chair)
Associate Professors
Pradeep Atrey, Ph.D., National University of Singapore
Petko Bogdanov, Ph.D., University of California, Santa Barbara
Ming-Ching Chang, Ph.D., Brown University
Charalampos Chelmis, Ph.D., University of Southern California
Mei-Hwa Chen, Ph.D., Purdue University
Chinwe Ekenna, Ph.D., Texas A&M University
Jeong-Hyon Hwang, Ph.D., Brown University
Amirreza Masoumzadeh, Ph.D., University of Pittsburgh
Shaghayegh Sahebi, Ph.D., University of Pittsburgh
Mariya Zheleva, Ph.D., University of California, Santa Barbara
Assistant Professors
Chong Liu, Ph.D., University of California, Santa Barbara
Abram Magner, Ph.D., Purdue University
Haoyu Wang, Ph.D., Purdue University
Professors of Practice
Vladimir Kuperman, Doctor of Science, Ministry of Education of Russian Federation
Jackson Marques de Carvalho, Ph.D., Western University
Visiting Assistant Professor – Instructional
Shashank Arora, Ph.D., University at Albany
Daniel Hono, Ph.D., University at Albany
Anuradha Mandel, Ph.D., University of Alabama Birmingham
Lecturers
Michael Phipps, M.S., University at Albany
Qi Wang, M.S., California State University at Northridge
The Department of Computer Science offers four academic degrees: Bachelor of Science in Computer Science (CSIC), Bachelor of Arts in Computer Science (CSI), Master of Science in Computer Science (MS-CS), and Ph.D. in Computer Science (Ph.D.-CS), plus a minor in Computer Science. The MS-CS and Ph.D.-CS programs are described in the Graduate Bulletin. The department offers a full spectrum of modern, hands-on Computer Science courses, including elective and required courses for students in other degree programs. Graduates from the Computer Science department are prepared to work in the vast software industry as Software Engineers and Computer Scientists in all companies and government agencies. The CSIC program is accredited by ABET.
Course Progression Restrictions
A grade of C or better (or S) in ICSI/IECE 201, ICSI/IECE 210, ICSI/IECE 213, and ICSI 311 or their transfer equivalents is a prerequisite for certain succeeding courses required in one or more of the programs below. See the course descriptions for details. In unusual situations, such prerequisites might be waived by the department on recommendation of the succeeding course instructor.
- Students must complete ICSI/IECE 201 or IECE 141 with a C or better to register for ICSI/IECE 213
- Students must complete ICSI/IECE 210 and ICSI/IECE 213 with a C or better to register for ICSI 311
- Students must complete ICSI 311 with a C or better to register for ICSI 318
- Students must complete ICSI/IECE 213 with a C or better to register for ICSI 333
- Students must complete AMAT 220 and ICSI/IECE 213 with a C or better to register for ICSI 401
- Students must complete ICSI/IECE 210 and ICSI/IECE 213 with a C or better to register for ICSI 403
- Students must complete ICSI 333 or IECE 233 with a C or better to register for ICSI 404
- Students must complete ICSI 311 with a C or better to register for ICSI 407
- Students must complete ICSI 311 with a C or better to register for ICSI 409
- Students must complete ICSI/IECE 210 and ICSI/IECE 213 with a C or better to register for ICSI 410
- Students must complete ICSI 333 and ICSI 409 with a C or better to register for ICSI 417
- Students must complete ICSI 311 with a C or better to register for ICSI 418
- Students must complete ICSI/IECE 210 with a C or better to register for ICSI 421
- Students must complete AMAT 220 and ICSI 333 or IECE 233 with a grade of C or better to register for ICSI 422.
- Students must complete ICSI /IECE 210 and ICSI 333 or IECE 233 with a C or better to register for ICSI 426
- Students must complete ICSI 311 with a C or better to register for ICSI 433
- Students must complete AMAT 220 or ICSI 311 with a C or better to register for ICSI 435
- Students must complete AMAT 214, AMAT 220, AMAT 367 or AMAT 370, and ICSI 401 with a C or better to register for ICSI 436
- Students must complete ICSI 311 with a C or better to register for ICSI 445
- Students must complete ICSI/IECE 213 with a C or better to register for ICSI 490
- Students must complete ICSI/IECE 213 with a C or better to register for ICSI 497
Degree Requirements for the Majors in Computer Science
Bachelor of Science in Computer Science (Combined) (CSIC)
The combined major and minor BS program in computer science prepare graduates to succeed in the software field after graduation. Our graduates will be ready to:
- Establish themselves as successful and productive computing professionals or engage in advanced study such as a graduate degree program
- Work effectively both in team environments and as individuals
- Fulfill their responsibilities with respect to ethics, continuing professional development, and effective written and oral communications
Computer Science graduates find positions in almost every industry, including software services, medical, financial, transportation, communications, civil infrastructure, defense, agricultural, and nearly every other aspect of our civilization.
High performing students are encouraged to apply to the combined BS-MS program in Computer Science.
The Bachelor of Science in Computer Science Program (Combined) is accredited by the Computing Accreditation Commission of ABET.
General Program B.S. for students matriculating Fall 2025
Combined major and minor sequence, a minimum of 77 credits as follows:
Required Computer Science Core:
- ICSI/IECE 201 Introduction to Computer Science (4)
- ICSI 207 Object-Oriented Programming (4)
- ICSI/ECE 210 Discrete Structures (4)
- ICSI/IECE 213 Data Structures (4)
- ICSI 300Z Social, Security, and Privacy Implications of Computing (3)
- ICSI 302 Systems I: C and Computer Organization (4)
- ICSI 311 Principles of Programming Languages (4)
- ICSI 402 Systems II: Operating Systems and Networking (3)
- ICSI 403 Design and Analysis of Algorithms (3)
- ICSI 409 Formal Methods and Models (3)
- ICSI 410 Database Systems (3)
- ICSI 418 Software Engineering (3)
- ICSI 424 Computer Security (3) or ICSI 426 Cryptography (3)
- ICSI 499 Capstone Project in Computer Science (3)
Computer Science Electives:
9 credits from ICSI courses numbered 400 and above
Mathematics (14 credits):
- AMAT 111 Algebra and Calculus I (4) or AMAT 112 Calculus I (4) or AMAT 118 Honors Calculus I (4)
- AMAT 113 Calculus II (4) or AMAT 119 Honors Calculus II (4)
- AMAT 220 Linear Algebra (3)
- AMAT 367 Discrete Probability (3)
Science Sequence (minimum 6 credits):
Students choose one of the following Science Sequences to complete a minimum of 6 credits
- ABIO 130 General Biology: Molecular and Cell Biology and Genetics (3) and ABIO 131 General Biology: Ecology, Evolution, and Physiology (3)
- ACHM 115 General Chemistry and Lab (4) AND ACHM 116 General Chemistry II and Lab (4)
- ACHM 120 General Chemistry I (3) AND ACHM 121 General Chemistry II (3)
- APHY 140 Physics I: Mechanics (3) AND 150 Physics II: Electromagnetism (3)
- APHY 105 General Physics I (3) AND APHY 108 General Physics II (3)
Bachelor of Arts in Computer Science (CSI)
The Bachelor of Arts program in Computer Science can provide a liberal arts education with specific Computer Science topics, or it can combine computer science with its applications into areas such as informatics, information science, cybersecurity, data science, business, scientific research, or creative arts. Some course choices are provided in advanced requirements so the student can select between an emphasis on lower-level systems or abstract programming principles, or an emphasis on design and implementation of familiar kinds of computing applications.
General Program B.A.:
A minimum of 43 credits as follows. Students must select any approved minor. If a minor requires a course from those listed below, students should consult with their advisor to find an appropriate substitution.
Computer Science Core (42 credits):
- ICSI/IECE 201 Introduction to Computer Science (4)
- ICSI/IECE 210 Discrete Structures (4)
- ICSI/IECE 213 Data Structures (4)
- ICSI 311 Principles of Programming Languages (4)
- ICSI 318 Introduction to Software Engineering (4)
- ICSI 333 Program Hardware-Software Interface (4)
- ICSI/IECE 404 Computer Organization (3)
- ICSI 498 Capstone Project in CS (3)
Mathematics (7 credits):
- AMAT 112 Calculus I or AMAT 118 Honors Calculus I
- AMAT 367 Discrete Probability (3) or AMAT 370 Probability and Statistics for Engineering and the Sciences
Computer Science Electives (6 credits):
Two ICSI courses numbered 400-470 or 500-550 or as specially approved by the department
Advanced Placement Substitutions and Specially Approved Electives for all majors:
The Department may grant advanced placement credit substitutions, and may allow up to 3 credits in Computer Science electives to be replaced by credits in ICSI 487 or ICSI 488 for Honors majors, or by credits in ICSI 490, or 497, or 499. Such permission can be granted on the basis of AP exam level, scores and departmental evaluations, the depth and breadth of the resulting program, or a superior grade record of the individual student.
Graduate Course Equivalents
Students admitted into the B.S./M.S. program in Computer Science, and seniors with instructor and departmental approval may substitute graduate courses for appropriate undergraduate courses, as specified below. Other graduate courses may be taken for electives by such students. However, only admitted B.S./M.S. students can apply up to 12 credits from such graduate courses to a University at Albany graduate degree. All qualified B.S. majors are encouraged to enter the B.S./M.S. and Honors programs to maximize their opportunities, even if they do not intend to complete the M.S. degree at Albany. Non-B.S./M.S. students eventually admitted to the graduate programs will have to make up the graduate credits but not retake the courses.
- ICSI 500 for ICSI 412 Operating Systems (3)
- ICSI 501 for ICSI 401 Numerical Methods (3)
- ICSI 503 for ICSI 403 Design and Analysis of Algorithms (3)
- ICSI 508 for ICSI 410 Database Systems (3)
- ICSI 509 for ICSI 409 Automata and Formal Languages (3)
- ICSI 516 for ICSI 416 Computer Communication (3)
- ICSI 524 for ICSI 424 Computer Security (3)
- ICSI 526 for ICSI 426 Cryptography (3)
- ICSI 531 for ICSI 431 Data Mining (3)
- ICSI 532 for ICSI 432 Network Science (3)
- ICSI 533 for ICSI 433 Multimedia Computing (3)
- ICSI 535 for ICSI 435 Artificial Intelligence (3)
- ICSI 536 for ICSI 436 Machine Learning (3)
- ICSI 561 for ICSI 461 Introduction to Software Testing (3)
- ICSI 571 for ICSI 471 Introduction to Computer Vision (3)
Honors Program
The Computer Science Departmental honors program is an opportunity for qualified students to undertake research or innovative development projects at the undergraduate level, under individualized guidance of computer science faculty, and gain recognition by presenting their accomplishments in a public forum and by a transcript designation. The honors seminars and projects are often conducted within research groups comprised of computer science and interdisciplinary faculty, graduate students, and other undergraduates.
Students are encouraged to enroll in the Combined B.S./M.S. Program together with this honors program. Combined B.S./M.S. students can substitute some graduate courses for their undergraduate requirements. They might then earn an Albany Master of Science degree sooner by including up to 12 credits from those graduate courses. The honors and beginning graduate study together might also provide excellent preparation for admission to a national research internship program or a Computer Science Ph.D. program.
Eligibility:
To be eligible for admission to the honors program in Computer Science, a student must have a specific prospective faculty honors supervisor who conveys to the Department a statement of permission and agreement to engage in a specific research specialization area. Prior to admission the student must first have declared the B.S. in Computer Science; must have completed the following courses with a GPA of at least 3.50: ICSI 201 (or AP), ICSI 210, ICSI 213, (or a 5 in the CS-AP AB exam), ICSI 333, and preferably AMAT 118 and 119 although AMAT 111 or 112, and 113 are acceptable; and have an overall GPA of at least 3.25. Prospective honors students must identify and consult a prospective supervisor prior to honors admission, and should request admission during the semester when they will complete the above courses so admission may be determined when all the required grades are in and the proposed area is evaluated.
Requirements:
- All the requirements for the B.S. program must be completed with one or more elective courses chosen in consultation with the faculty to develop rigorous mastery in a disciplinary specialization. These courses may be either part of or in addition to the major, a minor, a second major, or graduate requirements. Honors students may use ICSI 487 for one of the Computer Science electives.
- Three credits of Honors Seminar (ICSI 487): as part of this course, students will do independent study in preparation for research or innovative development projects under the supervision of a faculty member, and to present a colloquium on the topic. See the course description in the bulletin.
- At least three credits of honors or graduate project work (ICSI 488Z or ICSI 68X or ICSI 699): students will be required to pursue research or innovative development under the supervision of a faculty member and submit a final report describing their original work and its background. These courses have significant writing components. Students will be required to present a public seminar on project results. See the course descriptions in the bulletin.
A GPA of at least 3.50 in the Computer Science courses that go towards the B.S. major must be maintained to continue in the honors program and to graduate with an honors major. The faculty supervisor must also certify to the department that the student completed and presented the project results satisfactorily.
Combined B.S./M.S. Program
The combined B.S./M.S. program allows exceptional students to use up to four graduate courses (12 credits) for both the B.S. and the M.S. degrees. With careful planning, a student can earn both the B.S. and the M.S. degrees within five years, making it a 4+1 program.
All requirements in both degrees must be satisfied, including the minimum 60 credit liberal arts and sciences requirement, general education requirements, and residency requirements of the B.S., and the capstone requirement, residency requirements, and program GPA requirements of the M.S. degree.
Students may apply for admission to the combined degree program at the beginning of their junior year or after successfully completing 56 credits. A cumulative grade point average of 3.20 or higher and two supportive letters of recommendation from faculty are required for consideration, but admission of a student who meets the minimum requirements is not automatic.