A student's first year of studies includes Computer Science and Information Literacy. Building on these courses, students progress to taking 200- and 300-level courses relevant to their major. Second year courses cover basic subjects such as models of computation, probability theory and statistics, data structures and algorithms. Broad education in programming is also provided through courses such as procedural programming, functional programming, and object-oriented programming. Third year courses include advanced technical subjects such as databases, system programming, and computer networks. Through this structured teaching, students gain all the necessary knowledge to begin their Independent Research Project in their fourth year.
Students in their first year of undergraduate studies receive basic education that centers on Institute-wide compulsory courses, regardless of their discipline. The 100-level courses are designed to teach common, basic skills that are required of any science and technology students. These courses aim to provide the knowledge and cultivate the versatile intellect necessary for studying at the Institute.
Students who complete their 100-level courses advance to study their undergraduate major. Courses at the 200- and 300-levels specific to the Computer Science Major are taken in accordance with the curriculum.
At the final stage of the 300-level is the Independent Research Project (equivalent to the Undergraduate Thesis Research that was in place previously). The project is intended to serve as a capstone for students to consolidate and reinforce all of the skills acquired in their major. Furthermore, they may choose to enroll in the Advanced Independent Research Project. The purpose of this course is to enhance student interest in scientific and technological research that began with the Independent Research Project, as it provides them with the opportunity to actively engage in science- and technology-related activities.
* The timeline depicts a standard case where students complete their bachelor's degree program in four years.
Students need to pass an entrance exam to advance from a bachelor's to master's program. To advance from a master's to a doctoral program, students must pass an advancement assessment.
Students who complete the Computer Science Undergraduate Major may continue to study the same discipline in more depth by taking the Computer Science Graduate Major. There are also closely related interdisciplinary graduate majors — Artificial Intelligence, and Human Centered Science and Biomedical Engineering — to which students may advance.