Page:  1  2  ()
This first course in computer science develops foundational skills in computer programming to an audience with no prior computer experience. It introduces the process of developing algorithms to solve problems, and the corresponding process of developing computer programs to express those algorithms. Specific topics covered include the following: expression of algorithms in pseudo code and a programming language and functional and imperative programming techniques.
No prerequisite.
This course continues introduction to basic computer science concepts begun in Computer Science 1. Essentially, this course covers the use of object-oriented programming to design and implement software solutions. Concepts taught include pointers, classes, operator overloading, inheritance, and polymorphism and a high-level language will be used as a vehicle for the further development of these concepts.
Prerequisite – CSC 101
This course covers fundamentals of database architecture, database management systems, and database systems. It focuses on the development of well-formed databases for the purpose of data management from the initial design of the database to the implementation and query. Web based database applications are also introduced.
Prerequisite – CSC 102
This course introduces the basics of electronics and digital systems and is designed to expose students to engineering design and troubleshooting techniques that are used in the electronics field. It covers the basic methods for the design of digital circuits and provides the fundamental concepts used in the design of digital systems. Emphasis is placed on computer components such as adders, comparators, multiplexors, memory, counters, and bus-related circuits.
Prerequisite – CSC 102
This course covers the fundamental concepts underlying design of programming languages. It focuses on the formal specification of programming languages such as: syntax, analysis, and semantics; evolution of programming languages and concepts; names and scope; data representation; evaluation sequence at expression, statement, and subprogram levels.
Prerequisite – CSC 102
This course introduces the techniques for designing efficient computer algorithms and analyzing their running times. It focuses on the particular algorithms for sorting, searching, set manipulation, arithmetic, graph problems, pattern matching. Methods for showing lower bounds on computational complexity will be discussed.
Prerequisite – CSC 102
This course provides the fundamental principles of operating system design and implementation. The two fundamental tasks of an operating system – to manage a computer's resources and to provide applications with an abstract interface to these resources will be discussed. This course focuses on major OS subsystems: process management, memory management, file systems, and operating system support for distributed systems.
Prerequisite – CSC 102 
The course provides the concept of data abstraction and the problem of building implementations of abstract data types. It focuses on logical structures of data, their physical representation, design and analysis of algorithms operating on the structures, and techniques for program development and debugging.
Prerequisite – CSC 102
This course presents the structure and behavior of the various functional modules of the computer with respect to hardware design and instruction set architecture. It also explores the interface between a computer's hardware and its software as well as provides system-level context for students interested in emerging technologies and digital circuits.
Prerequisite – CSC 102
This course introduces the basic concepts, theories and components in data communications such as protocols, network equipment and the infrastructure. It covers the design and evaluation of computer networks using current trends in hardware and software. Topics include data transmission, signal encoding techniques, digital data communication techniques, optical fiber communications.
Prerequisite – CSC 102
This course provides students the basic concepts necessary for successful use of the computer as a graphic tool. It covers topics such as survey of the applications of computer graphics, video games, the renderers behind Hollywood’s special effects, graphics art and design, 2-dimensional and 3-dimensional display techniques and an examination of computer graphics technologies.
Prerequisite – CSC 102
This course provides an understanding of modern computing technology through an in-depth study of the interface between hardware and software. It demonstrates the computer architecture from the application programs down to the hardware levels. Topics covered are applications of digital logic circuits, register transfer logic and assembly language to the design and operation reviewed.
Prerequisite – Permission from Instructor
This course introduces the facilities provided in modern operating systems. It examines the issues in operating system design and implementation such as inter-process communication, process scheduling, deadlock, memory management, virtual memory, file systems and distributed systems. Particular emphasis will be given to the major OS subsystems.
Prerequisite – CSC 511
This course covers data structures and associated algorithms that allow complex tasks to be solved in simple and elegant ways. It focuses on program design and organization ideas such as abstract data types, data structures andobject-oriented programming. Topics include are: lists, stacks, queues, heaps, dictionaries, maps, hashing, trees and balanced trees, sets, and graphs.
This course provides the understanding of the fundamentals of relational systems including data models, database architectures, and database manipulations. The main subjects of the course include the understanding of relational database theories, industry standard SQL, and database design. A conceptual/semantic data modeling with the entity-relationship diagramming technique is also covered.
Prerequisite – Permission from Instructor
Page:  1  2  ()