Bachelor of Science in Informatics



Core Required: 14 Courses / 42 Credits (84 ECTS)

Introduces programming using an object-oriented language. The course emphasizes problem solving and structured programming. Students completing the course should be able to: setup and use a visual software development environment; analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit; and modify and expand short programs that use standard conditional and iterative control structures and functions. Students design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions and write simple applications. Prerequisite(s): None. Credits: 3
Networking and telecommunications fundamentals including LANs, MANs, WANs, intranets, the Internet, and the WWW will be covered. Data communication and telecommunication concepts, models, standards, and protocols will be studied along with installation, configuration, systems integration and management of infrastructure technologies. Prerequisite(s): None. Credits: 3
Provides students with a good understanding of object-orientation programming and Java technologies. Equally important, students get hands-on experience with engineering programs in Java. They learn the basic language constructs as well as the most commonly used libraries, strings, and exceptions. Students work mostly in the computer laboratory using a popular programming environment. Prerequisite(s): IT150. Credits: 3
Deals with the fundamentals of organizing and manipulating data efficiently using clean conceptual models. Students study several important conceptual data types and algorithms, which they then implement in a specific programming language, even if the principles are more generally applicable to most modern programming languages. Prerequisites: IT150. Credits: 3
Introduces students to the organization and architecture of computer systems, digital logic, low level instructions execution and system design. In particular, by the end of the course the student should be able to understand digital logic, fundamental building blocks (logic gates, flip-flops, counters, registers, PLA) and logic expressions; explain how a computer fetches from memory and executes an instruction; explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler; write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations; and use computer simulation packages to investigate assembly language programming. Prerequisites: IT150. Credits: 3
Introduces the fundamental concepts and principles of designing, implementing and administering databases. Upon completion of the course students should be able to create logical data models of medium complexity, design the tables of a database and create the queries and reports required for using the database. Concepts such as normalization, concurrent processing, database administration, data distribution, integrity and security are thoroughly examined. SQL language as a data modeling and query language is also presented and the basic expressions are introduced. Prerequisites: IT150. Credits: 3
This course is a survey of the ethical and professional issues involved in computing. It discusses the ways in which computers and software pose new ethical questions or pose new versions of standard moral problems and dilemmas. It uses case studies that relate to theories of ethics. The course enables students to understand the main issues of social and professional aspects of Information Technology, to develop skills in clarifying and analyzing cases concerning corresponding issues, to acquire a broad knowledge of the social and ethical implications of information technology and become aware of how computer ethics support decision making in cases of IT-related conflicts. Prerequisites: GE105, GE106. Credits: 3
Covers the systems development life cycle. The course examines the requirements and tools for collecting and structuring data, process modeling and data modeling, interface design and data management. Students acquire skills in using tools and techniques such as interviewing, producing use cases, prototyping and generating UML diagrams. The course provides hands-on experience in designing a system following the 3-tier architecture (presentation, middleware, data storage). Prerequisites: IT150, IT200. Credits: 3
Introduces common web architectures such as client-server architecture and web services. Students learn how to use server- and client-side technologies to design and develop an online presence for an organization, implementing different navigation and web content strategies. Students develop dynamic websites using a combination of high-level programming languages as well as mark-up and scripting languages. Emphasis is given to evaluating websites in terms of organizational structure and design elements. Prerequisites: IT150. Credits: 3
Introduces students to the Project Management process and specific aspects of project-management methodologies such as PMI and Prince2. The course focuses on the field of software engineering as a way of enabling students to apply project management concepts to real life examples and experiences. The student will also receive hands-on knowledge of tools used to practice Project Management effectively. Prerequisites: GE105, GE106, GE115. Credits: 3
Introduces students to the fundamentals of operating systems, CPU scheduling, file systems, memory management, device management, multiprocessing and time sharing. The course provides a solid theoretical foundation for understanding operating systems and includes current topics in the rapidly changing fields of operating systems and networking, including open-source operating systems. Finally, the course uses simulators and operating system emulators to demonstrate operating system operations and full programming projects. Case studies are drawn from both Linux and Windows. Prerequisites: IT150, IT240. Credits: 3
Focuses on fundamental topics of physics including waves, optics, sound, heat, electricity, circuits magnetic and electromagnetic fields, and thermodynamics. Prerequisites: MATH150, PH100. Credits: 3
Covers the development of mathematical tools necessary for algorithmic applications in computer science. The course includes set theory and logic, various algebraic structures, graph theory, Boolean algebra, and computability theory. Students understand mathematical reasoning and logic, work with discrete structures to represent discrete objects and relationships between them, specify algorithms for certain classes of problems and appreciate the many application areas of discrete mathematics, from computer science and networking to chemistry, botany, zoology, linguistics, geography, business, and the Internet. Prerequisites: MATH150, IT150. Credits: 3
Culminating activity for the undergraduate major. Includes preparation, presentation, discussion, and evaluation of a practical project developed and written by each student. Prerequisites: Completion of all other required IT courses. Credits: 3

BSI Majors

Log in