Computer Science (CSC)

CSC 115  DIGITAL COMPUTER PRINCIPLES  (3 Hours)  

An introduction to the study of computer science. Subject matter consists of word processing, spreadsheet, database, graphics, computing, data processing, the organization of a computer, input and output devices, number systems, internal data representation and an introduction to a high-level programming language. (F, S, Sum)

CSC 118  COMPUTER SCIENCE I  (3 Hours)  
Prerequisite: MATH 118 or equivalent, CSC 115 or equivalent.  

This is the first course in the computer science programming sequence and is required of all computer science majors. Course objectives include: introduction to problem-solving methods and algorithm development; definition of language syntax and semantics of a high-level programming language; and developing the ability to design, code, debug, document, and successfully execute programs. Topics include objects and classes, data types, applets and graphics, decision statements, iteration, methods, testing and debugging, arrays, sorting and searching, inheritance, interfaces, and polymorphism.

CSC 119  COMPUTER SCIENCE II  (3 Hours)  
Prerequisite: CSC 118.  

This course is the follow-up of CSC 118. Additional topics in Object Oriented Programming covered in this course. Then the emphasis shifts to object oriented analysis and design. This course covers I/O streams, exception handling, threads, reflection, UML, object-oriented analysis and design, object-oriented graphical interfaces, design patterns, and refactoring. The course consists of two lecture hours and one laboratory hour. The course consists of two lecture hours and one laboratory hour. (F,S).

CSC 214  PROGRAMMING FOR THE WEB  (3 Hours)  
Prerequisite: CSC 119, CSCL 119.  

This course is designed for students who have computer programming experience and who want to write Web applications. Students will learn the basic programming skills and languages that are needed to implement distributed Web applications. Topics include client-side programming techniques including HTML, Dynamic HTML and JavaScript; server-side programming techniques including CGI programming using Perl; and Web architectures and servers. (S)

CSC 215  DATA ANALYTICS  (3 Hours)  

This course introduces students to data analytics -- the science of examining raw data and deriving conclusions from it. Data analytics is used in business and industry to make better business decisions and in science to verify existing theories. It involves extracting useful properties of data using concepts from statistics, mathematics and computer science. Students will use statistical methods, machine learning algorithms and software tools for analyzing data from science, business and industry. The course is designed for students in a variety of fields including statistics, artifical intelligence, engineering, marketing, finance, etc. The course consists of two lecture hours and one laboratory hour. (F, S)

CSC 216  COMPUTER ARCHITECTURE & ORGNZA  (3 Hours)  
Prerequisite: CSC 119, 225, CSCL 119, EN 212, ENL 212; co-requisite: CSCL 216.  

Students will learn functional behaviors and structural organizations of a computer. Topics include machine level representations of data, computer arithmetic, instruction set architecture and assembly language, datapath and control, memory system and bus architectures and I/O devices. Also, the compilation and the assembly processes, and linking and loading are covered. (F, S)

CSC 225  DISCRETE STRUCTURES  (3 Hours)  
Prerequisite: CSC 118, CSCL 118, MATH 118 or Higher.  

Introduces the foundations of discrete mathematics as they apply to computer science, focusing on providing a solid theoretical foundation for further work. Topics include basic logic, proof techniques, sets, bags, ordered structures, graphs, trees, facts and properties of functions, and construction techniques. (F, S)

CSC 228  DATA STRUCTURES & ALGORITHMS  (3 Hours)  

Prerequisities: CSC 119. The main objective this course is to study data structures (e.g. arrays, lists, binary tree, heaps, etc.), their properties and purposes, and algorithms (e.g. graph and tree algorithms, minimal paths, greedy algorithms, divide and conquer, dynamics programming) to manipulate these structures. A participate emphasis will be placed on understanding the theoretical foundations of data structures and associated algorithms, but also on their practical development from a software engineering perspective, and their associated algorithmic analysis. The course consists of two lecture hours and one laboratory hour. (F,S).

CSC 235  SECURITY AWARENESS  (3 Hours)  
Prerequisite: CSC 115 or equivalent.  

This course will increase students' understanding of cyber security issues and practices. It will teach them need-to-know information about staying secure and how to avoid security attacks through hands-on-projects. Topics covered will include: personal security, mobile security, Internet security, computer security, and workplace security. The course consists of two lecture hours and one laboratory hours. (F,S)

CSC 245  INTRODUCTION TO BIOINFORMATICS  (3 Hours)  

Introduces the foundations of Bioinformatics as they apply to computer science, focusing on providing a solid theoretical foundation in Biology for further work. Topics include sequence Alignments, Evolutionary processed, Genome characteristics, secondary structures & tertiary structures of proteins, Cells and organisms. The course consists of two lectures hours and one laboratory hours. (F,S).

CSC 323  ALGORITHM DESIGN AND ANALYSIS  (3 Hours)  
Prerequisite: CSC 228, CSCL 228.  

Introduces students to various techniques to design and analyze algorithms. Topics include examples of computational problems, basic issues related to algorithms, efficiency comparison, and the design and analysis of brute force, divide-and-conquer, decrease-and-conquer, and transform-and-conquer algorithm design strategies. (F, S)

CSC 325  OPERATING SYSTEMS  (3 Hours)  

This course introduces the major concepts of process communication and synchronization, protection, performance measurement, and causes and evaluations of the problems associated with mutual exclusions and process synchronization among the concurrent processes. This course introduces and analyzes various operating systems in terms of professor management, memory management, device management, information management, and distributed systems management. The course consists of two lecture hours and one laboratory hour. (F,S)

CSC 330  DATABASE SYSTEMS  (3 Hours)  
Prerequisite: CSC 228.  

This course is designed to introduce students to the concepts and theories of database systems. Topics include: information models and systems; the database environment; data modeling; conceptual modeling using the entity-relationship approach and mapping to relational tables; the relational model including the relational data structure, integrity rules, relational algebra and relational calculus; normalization; data definition and data manipulation in SQL; conceptual, logical, and physical database design; security; transaction management; query processing; and advanced topics in database systems. The course consists of two lecture hours and one laboratory hour. (F, S)

CSC 335  COMPUTER FORENSICS  (3 Hours)  
Prerequisite: CSC 325.  

This course introduces students to topics in computer crimes and computer forensics. Students are required to learn ways to uncover, protect, and exploit digital evidence. Topics covered will include: e-mail investigation, data hiding, live acquisitions, processing a crime scene, data acquisition, analysis and validation, computer crimes, and cell phone and mobile device forensics. The course consists of two lecture hours and one laboratory hour. (F,S)

CSC 350  ORGANIZATION OF PROGRAM LANGUA  (3 Hours)  
Prerequisite: CSC 216, 228, CSCL 216, 228.  

Study of the organization and specification of programming languages. Topics include an overview of programming languages; issues in language design, including typing regimens, data structure models, control structure models, and abstraction; virtual machines; language translation; interpreters; compiler design; lexical analysis; parsing; symbol tables; declaration and storage management; code generation; and optimization techniques. (F, S)

CSC 390  COMPUTER SCIENCE SEMINAR  (1-3 Hours)  

Discussion on trends in computer science. Students are required to prepare a paper and present it to their peers. Students who have participated in a Co-op Program will conduct a seminar discussing their work assignments.

CSC 435  COMPUTER NETWORKS  (3 Hours)  
Prerequisite: CSC 323,325.  

The CSC 435 course will primarily focus on the following five layers of the TCP/IP protocol stack: Physical, Link, Network, Transport and Application layers. Topics to be covered include: Physical Layer -- encoding and decoding data for short-distance and long-distance communications; Link Layer -- local area network technologies and their extension using interconnection devices; Network Layer -- routing protocols, IP addressing, subnets, datagram forwarding, fragmentation and other auxiliary network-level communication protocols; Transport Layer -- UDP and TCP and Application Layer -- Socket programming. The course will also cover appropriate security aspects for each of the above layers. The course consists of two lecture hours and one laboratory hour. (F,S)

CSC 437  COMPUTER SECURITY  (3 Hours)  
Prerequisite: CSC 325.  

This course will examine the risks of security in computing, consider available countermeasures, controls, and examine some of the uncovered vulnerabilities. Topics covered will include: Cryptography, Program Security, Operating System Security, and Network Security. The course consists of two lecture hours and one laboratory hour. (F,S)

CSC 441  COMPUTERS AND SOCIETY  (3 Hours)  
Prerequisite: CSC 325 and 330.  

This course presents concepts of computer moral and legal issues, describes the impact of computers on society and presents techniques which are applicable in addressing problems posed by the social impact of computers. As a Service Learning Course, students will be able to help agencies and businesses in educating them on the most recent Anti-virus software available, viruses, e-mail scams, privacy issues, intellectual property rights, and computer crimes. (F, S)

CSC 450  SENIOR PROJECT  (3 Hours)  
Prerequisite: CSC 325 and CSC 475.  

Students will design, code, test, implement and document a large and complex application program. (F, S)

CSC 456  AUTOMATA,COMPTBLTY & FORMAL LA  (3 Hours)  
Prerequisite: CSC 350 and a knowledge of discrete structures.  

An introduction to formal models of computation. Assignments will develop students skills in understanding vigorous definitions in computing environments and in determining their logical consequences.

CSC 460  ARTIFICIAL INTELLIGENCE  (3 Hours)  
Prerequisite: CSC 323.  

An introduction to the theory, research paradigms, implementation techniques, and philosophies of artificial intelligence. Introduction to Prolog, Lisp and expert system-shell programming.

CSC 475  SOFTWARE ENGINEERING  (3 Hours)  
Prerequisite: CSC 330.  

Introduction to software engineering, software design, APIs, software tools and environments, software development processes, software requirements and specifications, software verification and validation, software implementation, software evolution, and software project management. (F)

CSC 499  SPECIAL TOPICS - WEB PROGRAMMI  (3 Hours)  
Prerequisite: Approval of instructor.  

Advanced, specialized topics selected on the basis of mutual interest of the student and the instructor.