Curriculum

GEIT Courses

Course Title: GEIT 1311: Computer Organization Semester Credit Hours: 3 (3,0)

Course Overview This course examines the functional components of computer systems. Topics discussed include processors, memory types and hierarchies, buses, I/O, interrupts, etc. with emphasis on how they affect program execution, parameter passing and inter-program communications between programs written in diverse languages.


Course Title: GEIT 1411: Computer Science I Semester Credit Hours: 4 (3,1) 

Course Overview Computer Science I is an introduction to programming and to the use of algorithms in designing programs. A software engineering approach to developing computer programs is stressed and object-oriented concepts are introduced. The course examines standard control structures, approaches to modularization, and the use of primitive and structured data types.


Course Title: GEIT 1412: Computer Science II Semester Credit Hours: 4 (3,1)

Course Overview This course is a continuation and extension to GEIT 1411 Computer Science I. It introduces the student to a systematic study of basic data structures such as queues, stacks and binary trees including searching and sorting algorithms and their associated computational costs. A software engineering approach to developing computer programs is stressed and object-oriented concepts are emphasized. Reusability of code, effective software development methodologies and good programming practices are significant components of the course.


Course Title: GEIT 2291: Professional Ethics Semester Credit Hours: 2 (2,0)

Course Overview This course is designed to educate students on the impact ethical issues have on the use of information technology in the modern business world. It examines the ethical codes of the professional societies and the philosophical bases of ethical decision-making. Students acquire the foundation that helps them make appropriate decisions when faced with ethical dilemmas.


Course Title: GEIT 3341: Database Design Semester Credit Hours: 3 (3,0)

Course Overview The objective of this course is to give students an understanding of key issues related to database design and implementation to support the automation of key business processes in organizations. The course is designed so as to cover topics that are relevant from a database design and implementation perspective; particularly one that involves the provision of online access to data resources to a variety of physically distributed organizational users. It includes a mix of lectures (some of which are conducted in the laboratory) and discussions on contemporary articles from industry publications.


Course Title: GEIT 3351: Software Engineering I Semester Credit Hours: 3 (3,0)

Course Overview The course is designed to provide an introduction to the theory and practice of software development and maintenance. The focus is on the full software development life cycle, including coverage of tools, techniques, principles, and guidelines for software requirements, specification, design and implementation. Particular emphasis is placed on the principles and methods used to develop and validate software requirements. Students are guided toward a better understanding of the various tasks and specialties that contribute to the development of a software product.



Course Title: GEIT 4351: Software Engineering II Semester Credit Hours: 3 (3,0)

Course Overview This course is a continuation and extension of GEIT 3351: Software Engineering I. The objective of this course is to give students an understanding of key issues involved in the design and implementation of computer software to automate business processes in organizations. The course is designed so as to cover topics that are relevant from a software engineering perspective, with a focus on software design and implementation, and software development project management. It is very applied, and one of its main components is a team project focusing on software design and implementation.


Course Title: GEIT 4361: Practical Training Semester Credit Hours: 3 (3,0) 

Course Overview This course provides opportunities for students to apply the academic concepts, skills and techniques learned in their coursework to a professional work-oriented setting. The course offers the potential for a one-semester internship with a regional employer or a directed study course providing practical learning experiences that benefit the community.


Course Title: ASSE 4311: Learning Assessment III Semester Credit Hours: 3 (3,0)

Course Overview This is the capstone course required of all students pursuing an undergraduate degree program within the College of Information Technology. The objective of this course is to bring together in an applied manner the knowledge and skills obtained by the students throughout their undergraduate program. The course is designed so as to cover topics that are relevant from an integrated IT systems design and implementation perspective. The term “integrated IT systems design and implementation” refers to complex collaborative efforts that bring together knowledge skills in the related areas of computer science, computer engineering, and information technology (as covered by the three undergraduate programs offered by the College of Information Technology). The course is very applied. One of its main components is a team project focusing on integrated IT systems design and implementation. The course also includes a mix of speakers’ presentations, project work, and discussions on contemporary articles from industry publications.


COSC Courses

Course Title: COSC 2331: Discrete Structures Semester Credit Hours: 3 (3,0)

Course Overview Discrete Structures is the study of objects that have discrete as opposed to continuous values including the foundations of logic, algorithms and their complexity, mathematical reasoning, relations, graphs, trees and combinatory.


Course Title: COSC 3343: Database Theory Semester Credit Hours: 3 (3,0)

Course Overview This course is the study of the principles of database systems. The goal is to prepare students an understanding of the theory as well as practices of database management systems.


Course Title: COSC 3351: Algorithms Semester Credit Hours: 3 (3,0)

Course Overview This course is the study of the design and performance analysis of algorithms. Time and space complexity analysis of algorithms, design paradigms, and graph algorithms are discussed.


Course Title: COSC 3411: Systems Programming Semester Credit Hours: 4 (3,1)

Course Overview Systems programming is the study of the basic programming principles and skills for building systems software, including the introduction to UNIX, shell programming, and Perl programming.


Course Title: COSC 3421: Data Structures Semester Credit Hours: 4 (3,1)

Course Overview Data Structures is the systematic study of some advanced data structures, including list, stack, queue, dictionary, and graph. Sorting and hashing algorithms and their associated computational costs are discussed. Algorithm analysis techniques are also investigated to provide a metric to measure the performance of an algorithm in question.


Course Title: COSC 4311: Parallel Computing Semester Credit Hours: 3 (3,0)

Course Overview This course provides a basic, in-depth look at techniques for the design and analysis of parallel algorithms and for programming them on commercially available parallel platforms. Principles of parallel algorithms design and different parallel programming models are both discussed. MPI, POSIX threads, and Open MP all are discussed. This course is for anyone wanting to gain proficiency in all aspects of parallel and distributed programming.


Course Title: COSC 4361: Operating Systems Semester Credit Hours: 3 (3,0)

Course Overview This course is the study of the principles, purposes, and organization of operating systems. The goal is to prepare students an understanding of the theory as well as practices of the design and implementation of operating systems software.


Course Title: COSC 4362: Artificial Intelligence Semester Credit Hours: 3 (3,0)

Course Overview The course presents an overview of artificial intelligence and its methods for solving problems. Basic algorithms for finding solutions to problems or adaptively improving responses to situations are discussed. Expert systems, genetic algorithms, and intelligent agents are among the areas that are explored.


Course Title: COSC 4363: Automata Theory Semester Credit Hours: 3 (3,0)

Course Overview This course is to give an introductory study of automata, formal languages, and computability, including set theory and countability, finite automata and regular languages, push-down automata and context-free languages, Turing machines, Church’s thesis, halting problem, and incommutability.


Course Title: COSC 4364: Compilers Semester Credit Hours: 3 (3,0)

Course Overview This course is the study of the theory and practice of constructing a compiler, including lexical analysis, parsing, semantic analysis, run-time organization, code generation, and optimization. During the course of the semester, the students complete a significant compiler project.


Course Title: COSC 4461: Programming Languages Semester Credit Hours: 4 (3,1)

Course Overview Programming languages is the study of basic concepts and constructs underlying the design of the modern programming languages. Various programming paradigms, including object-oriented, functional, logic, and concurrent programming, are discussed.