For our undergraduate students
Undergraduate Advising
Meet Your Advisor
The College of Nanotechnology, Science, and Engineering (CNSE) is committed to enhancing your undergraduate experience and work closely with you to navigate your academic program with the goal of ensuring academic success and professional growth.
The University requires that you meet with your academic advisor every semester to ensure that you’re enrolled in the right courses to meet requirements for your degree. Once you meet with your advisor, you’re given an AVN, so you can register for that semester’s classes.
We can help you
- Connect with people and offices across campus
- Get the information you need to succeed at the University at Albany
- Take advantage of all that UAlbany has to offer
Contact Us
Please contact the Computer Science Advisor, Todd Schnitzer at [email protected].
Related Links
Fall 2025 BS-CS program revision
The Computer Science department has designed and instituted major changes to the BS-CS program, effective Fall 2025. These changes apply to students who start Fall 2025 or later, so the course changes will be rolling out over the next several semesters.
The Fall 2025 revision has three categories of changes:
- Split the 201-213 sequence into a 3-course sequence:
- CSI 201: Introduction to Computer Science (~1/3 material moved to 207)
- CSI 207: Object-Oriented Programming (new required course)
- CSI 213: Data Structures (~1/3 material moved to 207)
- Streamlined required courses in systems:
- CSI 302 Systems I: C and Computer Organization (new required course)
- CSI 402: Systems II: Operating Systems and Networking (new required course)
- CSI 404, CSI 412, CSI 416 become electives
- CSI 333 is no longer required and will be phased out
- Removed lab requirement for Natural Science Sequence, thus allowing more science sequence options:
- APHY 105 & APHY 108 now allowed
- ABIO 130 & ABIO 131 now allowed
- ACHM 115 & ACHM 116 still allowed
- (APHY 140 or APHY 142) and (APHY 150 or APHY 152) is still allowed
Overall, these changes reduce the number of required credits from 81 to 77.
Corresponding changes were also made to the BA in Computer Science.
The CS department also redesigned the minor in Computer Science, updated the allowed 4+1 course equivalencies, and introduced six new courses.
The timeline of the changes was designed to maximize the benefit for new students and to minimize the disruption for pre-2025 students:
- Fall 2025: Modified version of CSI 201 taught for the first time
- Spring 2026: New course CSI 207 taught; CSI 213 is unchanged
- Fall 2026: New version of CSI 213 taught
- Spring 2027: New course CSI 302 taught for the first time; co-located with CSI 333 to accommodate pre-2025 students
- Fall 2027: New course CSI 402 taught for the first time
More details about these courses and changes are on other pages in this website. We are making accommodations for transfer students and for students proceeding through the program at a slower pace under the "do no harm" principle. Please contact the undergraduate advisor or one of your CS professors for more details and with questions.
BS-CS prerequisite graph
This figure illustrates the required and elective courses for the BS-CS program with required prerequisites.
Fall 2025 new courses
The following new courses have been approved and will be placed into the online bulletin soon. CSI 207 is required for the BS-CS and BA-CS majors and will be taught for the first time in Spring 2026. CSI 302 and CSI 402 are required for the BS-CS major and will be taught in Spring 2027 and Fall 2027.
CSI 235 is an elective course suitable for students in all majors and will be taught in Fall 2026. CSI 452 and CSI 461 are senior CS electives. CSI 461 was last taught in Spring 2025 and CSI 452 is scheduled to be taught in Spring 2026.
CSI 207 Foundations of Object-Oriented Programming (4)
This course introduces the principles and concepts of the object-oriented programming (OOP) paradigm using Java. Students will learn to design, implement, and test object-oriented programs, emphasizing classes, objects, inheritance, polymorphism, interfaces, exception handling, and unit testing. The course prepares students to apply OOP techniques to solve real-world problems effectively.
Prerequisite: C or better in CSI 201
CSI 235 AI for All (3)
This course is designed to broaden the participation of non-computer science students in AI-centered computing. It explores the interdisciplinary connections between AI and various STEM fields, including neuroscience, physics, engineering, and mathematics. Rather than emphasizing deep technical programming skills, the course offers a broad overview of AI concepts and applications. It equips students from diverse academic backgrounds with foundational AI literacy and prepares them to apply AI knowledge in their respective fields.
Prerequisite: none
CSI 302 Systems I: C and Computer Organization (4)
This course introduces computer organization fundamentals, covering the machine representation of 1 numbers, logic design of key components like the central processing unit and memory, control principles, and system-level programming in C and assembly.
Prerequisite: Grade of C or better in both ICSI 210 and ICSI 213.
CSI 402 Systems II: Operating System and Networking (3)
This course introduces operating systems and networking, covering interprocess communication, file systems, process/memory management, and networking fundamentals. Topics include user vs. kernel space, threads, virtual memory, the OSI model, IP addressing, TCP/UDP, internet protocols (HTTP, FTP, VOIP), sockets, DNS, and distributed computing.
Prerequisite: CSI 302
CSI 452 Robotics (3)
An introduction to the fundamentals of robotics, including configuration space, transformation matrix, kinematics, motion planning, a brief introduction to robot manipulation, degrees of freedom, implicit and explicit representations of configurations, and holonomic and nonholonomic restrictions will all be covered. This material is fundamental to the study of anything that moves (e.g., robots).
Prerequisites: AMAT 220, CSI 210, CSI 213
CSI 461 Introduction to Software Testing (3)
Students learn to test software effectively, including concepts and techniques for testing software in evolving environments. Topics include software testing at the unit, module, subsystem, and system levels; developer testing; automatic and manual techniques for generating test data; testing concurrent and distributed software. Students will learn how to design software tests, automate software tests, use test coverage criteria, and how to design and build high quality software.
Prerequisite: CSI 311
Combined BS-MS 4+1 Course Equivalencies
Students who are in the combined BS-MS 4+1 program are allowed to take up to 12 credits (4 courses) of graduate course work. Tuition is charged at the lower undergraduate level, and the courses taken will apply to both the BS-CS and the MS-CS programs.
The following course pairs are approved for substitution:
Graduate course |
| Undergraduate course |
CSI 500 | to replace | CSI 412 |
CSI 501 | to replace | CSI 501 |
CSI 503 | to replace | CSI 403 |
CSI 508 | to replace | CSI 410 |
CSI 509 | to replace | CSI 409 |
CSI 524 | to replace | CSI 424 |
CSI 526 | to replace | CSI 426 |
CSI 516 | to replace | CSI 416 |
CSI 531 | to replace | CSI 431 |
CSI 532 | to replace | CSI 432 |
CSI 533 | to replace | CSI 433 |
CSI 535 | to replace | CSI 435 |
CSI 536 | to replace | CSI 436 |
CSI 561 | to replace | CSI 461 |
CSI 571 | to replace | CSI 471 |
For example, if a student takes the graduate course CSI 500, it counts to both programs and is applied to the BS-CS program in the same way that CSI 412 is applied. If a student takes both courses in a pairing, for example, both CSI 508 and CSI 410, only one can apply to graduation in each program.
Undergraduate students must request a Permission Number from the department for each graduate course taken.
Note that only grades of B or better can be transferred. So if a student gets a C in a graduate course, it still counts towards the BS, but will not transfer to the MS.
Please send questions to our Graduate Advisor at [email protected]
Minor in Computer Science
Students with any major can add a minor in Computer Science to augment their primary field. Virtually every field now requires some level of computing background and many jobs are more accessible to student who know how to program and understand other basic CS concepts.
The Computer Science minor requires a minimum of 18 credits, including 12 credits from the core courses CSI-ECE 201, CSI 207, and CSI-ECE 213. Additionally, students must complete at least 6 credits of CSI 301 or higher.
CSI-ECE 201, CSI 207, and CSI-ECE 213 are rigorous, programming-intensive courses that serve as the foundational sequence for Computer Science majors. With thoughtful course selection, the minor can support preparation for future graduate study in Computer Science at the master’s level or provide a solid foundation in the principles and applications of computing technology.
Program Planning Checklists
Registrar Forms
Undergraduate Education Forms
For our graduate students
General information for graduate students
The Computer Science department at University at Albany offers both an MS and a PhD in Computer Science. Both programs have been recently modernized and include up-to-date cutting-edge content. The MS program is primarily course-based and prepares students for technical leadership roles in the software industry. The PhD program is research-based and prepares students for academic positions, research positions, and technical & leadership roles in companies and government services. PhD students learn how to do cutting-edge research under the supervision of world-class researchers in.
Both degree programs have stringent acceptance criteria and are rigorous and challenging. Students usually have undergraduate degrees in Computer Science, Software Engineering, or something closely related. Most PhD students start with an MS or obtain an MS during their studies.
Please refer to the Graduate Bulletin for all official rules pertaining to the MS-CS program and the PhD-CS program.
The MS-CS program is summarized in the following two charts. First is the overall structure of core courses, concentrations, breadth, and capstone:
Next are the concentration area courses, which define the breadth courses available for the three areas:
Please refer to our graduate courses prerequisite chart when planning your coursework:
Graduate advising
To connect with your advisor please reach out to our department [email protected], where we can answer general inquiries. If appropriate, we will forward the request to your advisor.
Discrete Mathematics Exam
Every MS-CS student must demonstrate basic competence in discrete mathematics. Satisfying this requirement is a prerequisite for many graduate courses, including required courses such as Algorithms & Data Structures. The discrete math requirement should be satisfied in the first semester of graduate studies. The student can demonstrate competence in discrete mathematics in one of two ways:
1) Grade of C or better in CSI 521 Discrete mathematics with Applications: CSI 521 is usually offered in both the Fall and Spring semesters. Students who receive a grade of C or better will satisfy the discrete mathematics competency requirement.
2) Passing the Discrete Mathematics Examination: The Discrete Mathematics Examination (DME) is given before classes start at the beginning of each term. Students can take the DME a maximum of two times. Please make sure you are adequately prepared when signing up for the test. A student’s grade for the examination will be a pass or a fail. A pass permits registration for any course requiring a discrete mathematics prerequisite. Announcements for how to register and prepare for the DME will be sent to all new students.
Non-CS courses pre-approved as MS-CS electives
The following courses have been pre-approved to count as electives to the MS degree in Computer Science. That is, MS-CS students may take these as electives without getting additional approvals.
If you wish to take a course that is not on this list, you may request permission by sending a request to [email protected]. Be sure to include the course subject, course number, course title, course description, in which term you wish to take the course, its modality (in person or online), and if known, the instructor and syllabus. Note that if you take a course without getting approval beforehand, it will not count towards your MS degree.
- Mathematics (AMAT)
- AMAT 509: Vector Analysis
- AMAT 520A: Algebra 1
- AMAT 522: Linear Algebra for Applications
- AMAT 524: Advanced Linear Algebra
- AMAT 525: Number Theory
- AMAT 555: Intro to Theory of Statistics
- AMAT 565: Applied Statistics
- AMAT 583: Topological Data Analysis 1
- AMAT 584: Topological Data Analysis 2
- AMAT 591: Optimization Methods
- AMAT 592: Machine Learning
- Nanoscience and Engineering (NSE)
- NSE 526: Innovation and Commercialization of Emerging Technologies
- Cybersecurity (BCYB & CYBR)
- BCYB 602: Cyber Law & Ethics
- BCYB 640: Information Security Risk Assessment
- CYBR 545 Prin & Pract of Cyber Security
- CYBR 552 Computer and Network Security
- Electrical and Computer Engineering (ECE)
- ECE 664: Probabilistic Machine Learning
Graduate student forms (MS and PhD)
Please refer to the Graduate Bulletin for all official rules pertaining to the MS-CS program and the PhD-CS program.
- Graduate School's forms; please refer to the Graduate School's website for additional forms
- Advanced standing & transfer credit form for PhD students: Transfer credit requests will be reviewed by the CS Department. Please enter the Department Chair as advisor
- Transfer credit request for MS students: MS transfer credit requests will be reviewed by the CS Department. Please enter the Graduate Program Director (Dr. Masoumzadeh) as advisor
- Advance to candidacy for PhD students: This form can be submitted to the Graduate School once you have completed the requirements to advance to candidacy
- CS department forms for PhD students
PhD CS progress tracker tool: Download and fill in this form to check your progress in the program
The following forms are for use by students under the old (pre-2025) curriculum:
- Dissertation Approval: Complete and submit this document to the Graduate School at [email protected] after successfully defending your dissertation
- Degree Conferral: Complete and submit this document to the Graduate School at [email protected] when all other requirements of your PhD program have been met
- Internal Milestones: PhD students should complete this form twice; once after completing your Oral Qualifying Exam and again after successful defending your dissertation. Send completed forms to [email protected]
- CS department forms for MS students
- Request an Advisor Verification Number (AVN): You will need to be advised, either in one of our group advising sessions or in a one-on-one meeting with your faculty advisor
- Request an inter-session AVN (winter or summer)
- Request a Permission Number (PN): Use this if you do not have the prerequisite as given in the course description in the graduate bulletin
- Declare a concentration: Use this to declare your MS-CS concentration
- MS CS degree and GPA checking tool: Download this spreadsheet, enter the courses you have taken, and check your progress towards your degree. If you need to meet with your advisor, you should submit an up-to-date version of this form before your appointment.
Curricular Practical Training approvals process
CPT is taken while a student is still enrolled at the university
This document describes the process followed by students and CS administration to process requests for CPT authorization. Note that approvals and I-20 authorizations come from ISSS, not the department.
References:
ISSS CPT request page: https://www.albany.edu/international-student-scholar-services/cpt-work-authorization
CS CPT request form: https://forms.office.com/r/j2cMr9vYe5
CPT process to get permission to enroll in CSI 697 (while still enrolled)
Student actions:
- Get a job offer
- Review the ISSS process at https://www.albany.edu/international-student-scholar-services/cpt-work-authorization
- Discuss your plans with the ISSS
- Download and fill out the Academic Advisor’s Authorization form from ISSS
- Fill out and submit the CS CPT request form: https://forms.office.com/r/j2cMr9vYe5
- Download and fill out the CS GPA calculator (excel file): GPA downloadable calculator
- Submit
(1) the CPT Academic Advisor’s Authorization form
(2) the CS GPA downloadable calculator, and
(3) the official offer letter from the company as email attachments
to the CS department at [email protected]
- You do NOT need to send email to your faculty advisor’s personal email account
CS department actions:
- Obtain signatures from faculty advisor and chair
- If approved, issue Permission Numbers for CSI 697 to student
- Email signed forms to student
Student actions:
Register for 1 credit of CSI 697
Student sends forms to ISSS and completes ISSS’s process
Please note that approval is not guaranteed.
Please allow at least 10 business days for department’s actions.
Updated summer 2025
Optional Practical Training approvals process
OPT can be taken after a student graduates
This document describes the process followed by students and CS administration to process requests for OPT authorization. Note that approvals and I-20 authorizations come from ISSS, not the department.
References:
ISSS guidance: https://career.albany.edu/resources/opt-cpt-information/
ISSS OPT request page: https://www.albany.edu/international-student-scholar-services/post-completion-opt-request
CS OPT request form: https://forms.office.com/r/9V3BcP7hT9
OPT process (for post-graduation)
Student actions:
- Contact ISSS and follow their process, including filling out their EForm
- Fill out the ISSS OPT form online (this generates an email to the faculty advisor)
- Fill out and submit the CS OPT request form: https://forms.office.com/r/9V3BcP7hT9
Advisor actions:
The faculty advisor will receive a link to the ISSS EForm to complete
Advisor will check student’s records and fill out the EForm
If the student does not fill out the CS OPT request form, there may be a delay in the department’s ability to process the request
Please note that approval is not guaranteed.
Please allow at least 10 business days for department’s actions. If you need an update on your status, please contact ISSS.
Updated summer 2025
MS thesis approvals and defense process
An MS thesis satisfies the NYS requirement for a culminating experience in the degree, replacing CSI 680 in the curriculum. An MS thesis represents a research project carried out under the direct supervision of a faculty member of the CS department. Students are responsible for finding an advisor and should be aware that advising a thesis is optional for the faculty member.
Before starting, please review the Graduate School’s rules, procedures, and deadlines:
https://www.albany.edu/graduate/resources-current-students/dissertation-thesis-information
For students who wish to carry out research and write an MS thesis, the following steps are required.
At the beginning of the project:
Find a full-time faculty member of the CS Department who is willing to supervise the work
Come to an agreement on the research topic and scope of the work
Form a thesis committee consisting of the thesis advisor and two members of UAlbany’s faculty, at least one of whom must be a full-time member of the CS Department
If approved, the department will send a Permission Number to take CSI 699 with the Thesis Advisor
Produce a proposal of 2 to 10 pages that clearly describes the research goal, research plan, and expected products
The thesis must produce a written document and may also include software
Download and fill out the department’s Request for Approval form, then submit that form with the thesis proposal as email attachments to [email protected]
If approved, the department will send a Permission Number to take CSI 699 with the Thesis Advisor
Fill out and submit the Graduate School’s application for approval form
At the end of the project:
The research must be presented for approval in a public presentation
The thesis document must conform to the Graduate School’s formatting requirements
The document must be provided to all committee members at least two weeks before the public presentation
Graduate internship for capstone credit
A graduate internship for capstone credit must be approved by the CS department
MS-CS students must take a culminating experience course. Most students take CSI 680 Masters Project, which is offered every semester as a regular course. Students may also carry out research with a faculty advisor leading to an MS thesis (CSI 699), or in some circumstances, obtain an internship that the CS department approves as an internship for capstone credit (CSI 698).
This page describes the request and approval process for an internship for capstone credit (CSI 698).
To obtain permission for an internship for capstone credit, a student must receive an internship offer and the internship must include a well-defined and intentional educational component. The educational component must be at the level of a graduate course in computer science.
For example, a series of professional development seminars or training classes sponsored by the company could be considered to be an educational component.
As a counterexample, learning new technology to support the work for the company would not be considered sufficient.
Internships for capstone credit are only approved if the company designs the internship for educational purposes, and the position is more than work as a pre-entry-level software engineer.
To obtain approvals, send the following documents as attachments to [email protected] with the subject “Internship for capstone credit (CSI 698) request”:
Internship job offer. The email body must include your full name, student ID, and an explicit request for an internship for capstone credit.
A letter from the employing company explaining in detail what the educational component of the internship will be. The letter must be from the company--either your future mentor or other manager.
International students must also receive approval for Curricular Practical Training (CPT). This process is described on the student resources section of the CS website.
After you submit the documentation, the CS department will respond within 10 business days (excluding weekends and holidays). If approved, we will also include a Permission Number to register for a section of CSI 698.
Please note that not following these instructions will delay the review process.
Updated November 2025
Additional resources
Academic Grievances
Clubs & Organizations
IEEE is the world’s largest technical professional organization dedicated to advancing technology for the benefit of humanity. The University at Albany has an IEEE Student Chapter.
Faculty Advisor
Dr. Jonathan Muckell, Professor of Practice, Electrical & Computer Engineering
Michael Phipps, Lecturer, Computer Science
Elected Board Positions
Chair: Brandon Tiev
Vice Chair: Ishtyaq Khan
Treasurer: Alex Urmaza
Secretary: Kiran Aziz
Appointed Director Positions
Webmaster 1: Brandon Tiev
Webmaster 2: Alex Urmaza
Communications Director: Hafez Serdah
Outreach Director: Maxwell Solomon
Marketing Director: Taha Rahman
Programming Director: Kiran Aziz
University Relations Director: Vacant
Contact Us
- Email: [email protected]
- Listserv: ieee@[email protected]
Recommended computer configuration
Laptops are required for in-class instructional purposes in many CNSE courses. Laptops will be used to develop and use software in most CS courses. The College of Nanotechnology, Science, and Engineering at the University at Albany has collaborated with the UAlbany Information Technology Services (ITS) in establishing academic purchase programs with Dell and Apple which allow students to purchase laptops at special savings.
Since laptops are required in most CS classes, our students need to factor the purchase cost of a laptop into the total educational expenses. Questions about financial aid should be directed to the Financial Aid office.
- Type of computer: The CS department strongly recommends that CS majors own a laptop computer as a minimum. Tablet computers (such as iPads) are great tools for taking notes in class, but they are not a replacement for a laptop. Programming environments do not typically work well on a tablet. Desktop computers can be used in the student's residence, but are not portable enough to take to classes, labs, or elsewhere to collaborate with classmates.
- Minimum configurations: The CS department recommends a laptop with 16 GB of RAM and 1TB of SSD. 32GB of RAM and/or 2TB of SSD is preferred. We recommend purchasing protection such as AppleCare (for Apple) or Accidental Damage Service (for Dell) for at least 3 years. Alternatively, you can budget for a replacement in case of emergency.
- Technology discounts for computers: Sign in to your MyUAlbany portal. Scroll down to the Technology Resources menu on the left side of the screen. You will see links to Apple Store for Education, Dell University Laptop Program, as well as other technology resources.
- Software available to UAlbany students: Also in the Technology Resources section of MyUAlbany is a link to software that is available to our University community (including Office365). MatLab Simulink is an example of software that CNSE students will need in some of their computer science or engineering classes. And all you have to do is download it! For more information about technology discounts, visit the Technology Resources section mentioned above or contact the ITS Help Desk at 518-442-3700.