The department of Information & Computer Science, offers two undergraduate programs - Computer Science and Software Engineering programs.
Although both programs share some common courses which provide the foundations of computer science and both fields deal with computer and software, there are differences between those two fields.
Computer Science major fits students who want to focus on the theoretical foundations of computation, their implementation and their applications in computer systems and real life. Computer science involves solving problems in discrete manner by modeling, designing and verifying the correctness of solutions. Some topics covered by computer science major are algorithms, programming languages, database, systems, networking and artificial intelligence.
Software Engineering focuses on designing and building software using engineering methods and practices. Software engineering degree prepares students to design, implement, test software systems, while achieving cost-effective, high-quality and easily maintained software. Examples of topics covered by Software engineering courses are software design and architecture, requirements analysis, software verification and validation, quality assurance and software engineering process.