The following courses are offered in Computer Science:
- 3 CRS.2 HRS.2 LAB HRS.Principles in Information Technology and Computation
- This course introduces the student to the principles and theories of computation and information processing. The topics include hardware and software organization, data representation, algorithm development and networking principles. Special emphasis will be placed on creation of knowledge from data; the impact of computation on daily life; role of abstraction in solving problems; and implementation of algorithms on a variety of platforms including the Internet.
- 3 CRS.4 HRS.Introduction to Data Analytics
- This course is an introduction to the analysis of data. Topics include data preparation exploratory data analysis and data visualization. Some of the most commonly used classification and clustering techniques will also be covered. Students will apply these topics to real-world problems including science, business and engineering fields.
- 4 CRS.5 HRS.Computer Programming I
- This course introduces the student to the theoretical and practical aspects of computers. The major laboratory experience is the completion of programming projects using Polya's four-step method. These projects have been carefully selected and ordered to provide the student with experience in fundamental control and data structures. All practical programming work is done on microcomputers.
Prerequisite: CSC 101, GIS 101 or Departmental Approval
- 4 CRS.3 HRS.2 LAB HRS.Introduction to Programming
- This course is an introduction to the fundamental concepts and terms of computer science, including algorithms, problem solving techniques, data types, concept of loops, conditional statements, modular programming, pointers, arrays, strings, basic file processing, structures and simple classes. Students will use a high-level computer programming language to solve a variety of problems. Prerequisite: MAT 206 and [CSC 101 or departmental approval]
- 3 CRS.2 HRS.3 LAB HRS.Computer Programming II
- This course is a continuation of CSC 110. Students are introduced to elementary data structures, string processing, and searching and sorting techniques. Students are expected to complete several complex programs.
Prerequisite: CSC 110, CSC 111 or departmental approval
- 3 CRS.2 HRS.3 LAB HRS.Advanced Programming Techniques
- This is a second course in programming which will further develop those skills gained in CSC 111 emphasizing reliability, maintainability, and reusability. Students will be introduced to applications of Pointers, Dynamic memory allocation, Arrays, Abstract data types, Objects, classes, and object-oriented design. Additional programming topics such as Inheritance, Polymorphism, Text Processing, Exception Handling, Recursion and Templates will also be covered. Prerequisite: CSC 111 or departmental approval
- 3 CRS.2 HRS.2 LAB HRS.Fundamentals of Computer Systems
- This course covers the fundamentals of computer organization and digital logic. Topics include number systems and codes, Boolean algebra, digital circuits, combinational logic design principles, sequential logic design principles, functional components of computer systems, hardware description language, and assembly language. Students will use computer aided design (CAD) tools for digital logic design, analysis and simulation. Prerequisite: CSC 111 or departmental approval
- 3 CRS.3 HRS.3 LAB HRS.Discrete Structures
- This course covers mathematical foundations for computer science. Topics include algorithm analysis, recursion and recurrence, graph theory, trees, Boolean algebra, and modeling computation. Students will be expected to complete projects for each topic involving formal proof techniques, mathematical reasoning and/or programming.
Prerequisite: CSC 110
Corequisite: MAT 206
- This course covers the computer science applications of fundamental mathematical structures. Topics include logic, set theory, function, relations, algorithm, recursion, recurrence relations, principle of counting, graph theory, trees, and Boolean algebra. Students will be expected to complete projects for each topic involving formal proof techniques, mathematical reasoning and/or programming. Prerequisite: [CSC 111 and MAT 301] or departmental approval
- 3 CRS.4 HRS.Assembler Language and Architecture I
- This course focuses on discrete structures and techniques which have direct applications in computer science. Topics include the use of monoids, groups, finite automata and Turing machines in understanding and implementing simulations, circuitry, and the encoding and decoding of information.
Prerequisites: CSC 110, MAT 056, and MAT 200
- 3 CRS.4 HRS.Data Structures I
- This course is an introduction to abstract data structures, their use and implementation. Storage allocation techniques, including stacks, queues, and linked lists and recursive programming will be discussed. Students will be expected to complete several programming assignments illustrating the basic concepts.
Prerequisites: CSC 210 and CSC 230
- 3 CRS.1 HRS.4 LAB HRS.Data Structures
- This course will introduce students to linear and non-linear data structures, their use and implementation, algorithms, and software engineering techniques. Topics will include: stacks, queues, lined lists, has tables, trees, graphs, searching and sorting techniques. Asymptotic analysis of algorithms and data structures will also be discussed.
Prerequisites: [CSC 211 and CSC 231] or departmental approval
- 3 CRS.2 HRS.3 LAB HRS.Software Development
- This course covers the fundamentals of software development, including software development life cycle, object-oriented paradigm, design patterns and event-driven programming working in teams. The students are required to develop software applications with graphic user interfaces and databases. Prerequisite: CSC 211 or departmental approval
- 3 CRS.4 HRS.Assembler Language and Architecture II
- The students enhance their knowledge of Assembler Language and machine architecture by writing sophisticated programs utilizing indexing, subroutines and linkage conventions. User and system macros, conditional assembly and file input/output operations are covered.
Prerequisite: CSC 310
- 3 CRS.4 HRS.Data Structures II
- This course introduces students to complex data structures. Topics include the manipulation and uses of trees, graphs and heaps; the design and analysis of various searching and sorting algorithms and their applications.
Prerequisite: CSC 330
- 3 CRS.4 HRS.Computer Graphics
- This course is an introduction to the principles of interactive computer graphics, including input techniques and devices, display files, and two-and-three-dimensional computer graphics.
Prerequisites: CSC 210 and CSC 230
- 4 CRS.3 HRS.2 LAB HRS.Mathematical Foundations of Computer (Same as MAT 470)
- This course presents the mathematical concepts underlying computer networks. The course introduces probability and stochastic process, queuing analysis, and basic graph theory and relates these topics to various layers of the seven layer Open Systems Interface (OSI) organization model of computer networks. Practical laboratory projects provide concrete illustration of theoretical concepts.
Prerequisites: MAT 302