Computer Science Major

The Computer Science program focuses on helping students gain the necessary skills to become productive leaders in computing and related industries. As such, our graduates are expected to be highly competent, well-qualified computer professionals with broad training in software development. Graduates are also expected to be well prepared for graduate study.

The Computer Science program cooperates closely with the computing industry, other universities, and AUBG alumni to provide a modern curriculum. For example, the program creates partnerships with regional and international universities and institutions and regularly organizes a seminar series with speakers from both academia and industry.

The Computer Science curriculum is designed according to the recommendations of the Association for Computing Machinery/Institute of Electrical and Electronics Engineers (ACM/IEEE) and enables students to meet the following skill- or competency-based outcomes:

  • demonstrate an understanding of and ability to apply current theories, models, techniques, and technologies that provide a basis for problem-solving;
  • work as an effective individual and as part of a team to develop and deliver quality software;
  • communicate effectively both orally and in writing;
  • be aware of critical ethical issues affecting computer science and the responsibilities of computer science professionals; and,
  • learn new theories, models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development.

Some of our graduates have gone on to complete postgraduate degree programs in prestigious universities in the United States and Europe, including Stanford, MIT, John Hopkins University, Oxford University, and University College – London, as well as many other top European universities. Others have joined international companies such as Microsoft, Google, IBM, Hewlett-Packard, and Accenture. Others have established their own successful software development companies, such as Progress Telerik, Melon, Eastisoft, MammothDB, and Transmetrics.

Total: 36 credit hours

Required Courses (21 credit hours)

COS 120 C++ Programming (or placement test)
COS 150 Discrete Structures
COS 221 Fundamental Data Structures
COS 235 Computer Architecture
COS 240 Object-Oriented Programming
COS 315 Software Engineering
COS 491 Senior Project I

As the basic programming language used across the COS major curriculum is C++, every student must either demonstrate an appropriate level of C++ expertise in a placement test or pass the COS 120 course. Students who pass the placement test may choose another course to take from the list of electives. Students who fail or do not take the placement test must take COS 120.

Note: A senior project counts as a Bulgarian Diploma Thesis and substitutes for the Bulgarian State Exam.

Elective Courses (15 credit hours)

Students may take no more than six credit hours from each of the groups below.

COS/INF/MAT 200-level:

COS 220 Concepts of Programming Languages
COS 230 Basics in Java Programming
COS 231 Introduction to UNIX
COS 260 Assembly Language Programming
INF 130 Basics in C# Programming*
INF 280 Database Systems*
MAT 201 Mathematical Statistics
MAT 214 Numerical Analysis

COS/INF 300-level:

COS 301 Compiler Theory
COS 331 Operating Systems
COS 340 Programming in Python
INF 320 Mobile Computing*
INF 335 Web Server Technologies*
INF 370 Information Security*
INF 375 Web-Client Technologies*

COS/INF 400-level:

COS 430 Cloud Computing
COS 440 Computer Networks
COS 460 Algorithms
COS 470 Artificial Intelligence and AI Programming
COS 480 Data Mining
INF 480 Big Data Analytics*

* Not more than three non-COS courses may be counted towards a COS major.

An additional group of general elective courses is represented by the following:

COS 310 Topics in Computer Science (one or more)

COS/INF 481 Internship
COS 492 Senior Project II
COS/INF L97 Special Topics in Computer Science (one or more)
COS/INF 498 Independent Study

The course COS 310 Topics in Computer Science and its description are defined for every particular offering. Students may take more than one COS 310 course. This designation is generally used to represent one credit, short courses.

The course COS L97 Special Topics in Computer Science and its description are defined for every particular offering. Students may take more than one COS L97 course. The letter L defines the level of the course.

Concentrations

The concentrations within the Computer Science major build upon the seven required COS courses to create a specific focus within the discipline. Students may declare one or more of the following concentrations if they take the appropriate electives in addition to the seven required COS courses. Students declaring a concentration must also meet the requirements for elective courses as defined by the major.

Foundations of Computing Concentration

Fifteen credit hours chosen from:

COS 220 Concepts of Programming Languages
COS 301 Compiler Theory
COS 331 Operating Systems
COS 430 Cloud Computing
COS 440 Computer Networks
COS 460 Algorithms
COS 470 Artificial Intelligence and AI Programming
COS 481 Internship
INF 280 Database Systems
MAT 214 Numerical Analysis

Software Development Concentration

Twelve credit hours chosen from:

COS 230 Basics in Java Programming
COS 231 Introduction to UNIX
COS 340 Programming in Python
COS 481 Internship
INF 130 Basics in C# Programming
INF 280 Database Systems
INF 320 Mobile Computing
INF 335 Web Server Technologies
INF 375 Web-Client Technologies

Three credit hours chosen from:

BUS 260 Marketing
ENT 300 Entrepreneurship
ENT 462 New Product Development

Independent Study or Special Topics courses, if relevant, may be counted towards a concentration at the discretion of the department chair.

Disciplinary Honors in Computer Science

Disciplinary honors may be given to a Computer Science major who upon graduation has

  • achieved a GPA-in-major of at least 3.50;
  • successfully completed and publicly defended a senior project in front of a panel of Computer Science faculty; and,
  • received a grade of A for the senior project.

The panel will decide whether or not to recommend honors based on the project research, complexity, development, professionalism, presentation, demonstration, and documentation.

We are Social