2020-2021 Academic Catalog

Computer Science (CSC)

CSC 101  Introduction to the Computer Science Profession  (1 Credits)  

An introduction to career opportunities for computer scientists and strategies to improve academic performance in the discipline. Course topics include lectures by computer science professionals and seminar on active coping, collaborative learning, pair programming, and the development of inclusive relationships.

CSC 111  Information Technology Principles  (3 Credits)  

An introductory course that exposes students to, the academic discipline of Information Technology, (IT). Pervasive IT themes; IT history,, organizational, social, and ethical issues, and, relationship of IT to other computing disciplines, will be covered.

CSC 150  Computer Literacy  (3 Credits)  

Introduction to computers and information processing. Primary emphasis is placed on three standard applications: Word Processing, Spreadsheet, and Data Base. Extensive laboratory assignments and hands-on exercises using the microcomputer laboratory are mandatory.

CSC 150H  Honors Computer Literacy  (3 Credits)  

Introduction to computers and information processing. Primary emphasis is placed on three standard applications: Word Processing, Spreadsheet, and Data Base. Extensive laboratory assignments and hands-on exercises using the microcomputer laboratory are mandatory.

CSC 151  Internet Working I  (4 Credits)  

Study of network terminology and protocols,, local-area networks (LANs), wide-area networks, (WANs), Open System Interconnection (OSI) models,, cabling, cabling tools, routers, router , programming, Ethernet, Internet Protocol (IP), addressing, and network standards.

CSC 160  Basic Programming  (3 Credits)  

Introduction to problem analysis and Visual, Basic Programming. Emphasis on the orderly , analysis of a problem and the programming and , testing of that problem.

CSC 169  Introduction to Computer Science  (3 Credits)  

Study of the fundamental concepts of the discipline with emphasis on information representation, algorithms and problem solving, computer hardware and software, data representation and the impact of computers in society.

CSC 170  Computer Programming I  (3 Credits)  

Introduction to programming and problem solving in an object-oriented language with emphasis on basic programming constructs, arrays, debugging, software engineering practices, and the fundamentals of file handling.

CSC 170L  Computer Programming Laboratory I  (1 Credits)  

The study of the hardware and software aspects of computer and communications networks, topics include cabling, local area networks (LANs), wide area networks (WANs), protocols, standards and the OSI reference model. The setup and programming of switches, routers (distance vector), security devices and other network devices is included.

CSC 192  Introduction to the Internet  (1 Credits)  

Introduction to the concepts, software, data, and, issues associated with the use of networked , information. Internet topics include local, network access, electronic mail, transferring , files from other network sites, network news, and, network hypermedia (World Wide Web and Netscape).

CSC 195  Internet Prog W/ Java  (3 Credits)  

Introduction to high level internet programming, techniques and Java with emphasis on internet, programming basics for creating static Web pages, and dynamic Web pages in HTML and XML through the, addition of scripts. Utilize the latest Java , Development Kit to create Java applets and stand, alone Java applications for the Internet , deployment.

CSC 200  Advanced Computer Concepts  (3 Credits)  

Advanced study of electronic research and presentations, utilizing the Internet and World Wide Web. Primary emphasis on E-Mail, SearchEngines, News Groups, and Presentation Tools. Extensive laboratory assignments and hands-on exercises using the microcomputer laboratory are mandatory. A formal presentation using presentation tools is required.

CSC 211  Information Technology Operating Systems  (3 Credits)  

An introduction to the basics of computer, operating systems including file systems,, configuration, interprocess communication,, security, administration, interfacing,, multitasking, and performance analysis.

CSC 251  Internetworking III  (4 Credits)  

Study of advanced IP addressing techniques , (Variable Length Subnet Masking [VLSM]),, intermediate routing protocols (RIP v2, single-, area OSPF, EIGRP), command-line interface, configuration of switches, Ethernet switching,, Virtual LANs (VLANs), Spanning Tree Protocol, (STP), and VLAN Trunking Protocol (VTP).

CSC 252  Internetworking IV  (4 Credits)  

Introduction to advanced IP addressing techniques, (Network Address Translation [NAT],, Port Address Translation [PAT], and DHCP), WAN, technology and terminology, PPP, ISDN, DDR, Frame , Relay, network management, and introduction to , optical networking.

CSC 260  Computer Programming II  (3 Credits)  

Introduction to data structures, algorithms and building objects. Topics include linked lists, stacks and queues, recursion and binary trees.

CSC 260L  Computer Programming II Laboratory  (1 Credits)  

Supplementary course to CSC 260 structured as a closed computer laboratory to complete specific programming tasks within a fixed time.

CSC 268  Computer Organization  (3 Credits)  

Fundamentals of the architecture and operation of modern computers. Computer arithmetic: binary, hexadecimal and decimal number conversions, binary number arithmetic and IEEE binary floating point number standard. Basic computer logic: gates, combinational circuits, sequential circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming, basic Instruction Set Architecture (ISA), and the design of single cycle CPU. The MIPS based computers are used as example architecture, and alternative architectures are also discussed.

CSC 275  Fundamentals of Cybersecurity  (3 Credits)  

This course is designed for IT professionals to learn computer and network security theories and practices that can be used to significanlty reduce the security vunerability of computers on internal networks or the internet. The course assumes some familiarity with various operating systems and computer networks. Topics include, cryptography, program security, operating systems security, database security, network security, security administration, computer ethics, and legal issues.

CSC 292  Unix and C Programming  (3 Credits)  

Introduction to C programming in a UNIX environment, including the UNIX command interpreter, Shell; how Shell scripts can be used as powerful tools and applications and the development of application and systems programs using C.

CSC 295  Java Applications Programming  (3 Credits)  

Introduction to the core JAVA language with emphasis on applications development using the latest JAVA class libraries such as Swing, JavaBeans, Java2D, Java3D. This course is designed for students who are familiar with object-oriented programming in C++ and the fundamentals of the World Wide Web.

CSC 311  Fundamentals of Networking  (3 Credits)  

This is an introductory course that covers the, basics of how networks work, including the topics, of OSI model, Internet model, network components,, LANs, WANs, routers, switches, wireless, communication, network security, TCP/IP Internet, protocols, and network applications such as web, and email. It also covers the fundamental aspects, of configuring and troubleshooting network, features on a Windows or Unix workstation.

CSC 312  Topics in Information Technology  (3 Credits)  

Advanced Information Technology topics not generally covered in the curriculum. Designed as a Computer Science Applied Computing elective, not as a replacement for any specific required course. Course topic and syllabus must be approved by Department Head.

CSC 313  Network Administration  (3 Credits)  

This is an intermediate-level course for students who are interested in Networking. This course is designed to provide students with essential knowledge and skills which an effective network administrator must possess. It provides an overview of the essential TCP/IP protocols, and discusses how to properly configure and manage the network services based on these protocols (including DNS, DHCP, AD/LDAP directory services, print and file servers, NFS/NIS, and routing services). It also has a hands-on lab component for students to learn how to setup, configure, troubleshoot, and administer these network services in both Windows and Linux/Solaris environments.

CSC 314  Advanced Internet Programming  (3 Credits)  

A second Internet programming course concentrating on advanced Internet application development. Creation of relatively sophisticated web pages and application that allow interactions between web page users and the web page as well as network programming, JSP, JDBC, XML processing are the main focus of the course. Different Internet programming language and tools will also be included.

CSC 360  Interface Design  (3 Credits)  

Introduction to the techniques used for designing, implementing, and testing human/computer interfaces, including methods of user centered interface design, implementing user interfaces, techniques and tools for event driven programming, testing and evaluation of user interfaces.

CSC 361  Survey of Programming Languages  (3 Credits)  

Survey of programming languages such as FORTRAN, PL/1, ALGOL, Pascal, APL, SNOBOL, Ada, Prolog, C, and LISP with emphasis on data structures and storage, control structures, execution environment, input/output, and the syntax and semantics of the languages.

CSC 369  Theory of Computation  (3 Credits)  

Introduction to sequential machines, finite state , automata, formal languages and turning , machines, computable, and non-computable functions

CSC 372  Data Structures  (3 Credits)  

Analysis of data structures and algorithms using C++ as the implementation language. Detailed examination of lists, heaps, trees, graphs, file structures, and the use of formal methods with emphasis on the development and analysis of efficient algorithms.

CSC 373  Algorithms Design and Analysis  (3 Credits)  

This course focuses on the practical applications, of computer algorithm design and analysis,, emphasizing correctness and efficiency. , Well-known data structures, problem-solving, paradigms and algorithms are explored to, illustrate alternative ways to develop automated, solutions, to argue the correctness of, implementations, and to recognize opportunities to, attain greater efficiences versus naive, approaches.

CSC 380  Software Engneerng  (3 Credits)  

Introduction to the design of software projects with the analysis, design, implementation, testing and maintenance of the software life cycle with emphasis on significant and varied writing components, including group projects paralleling realistic software development projects.

CSC 411  Web Server Administration  (3 Credits)  

An introductory course providing individuals with the core skills needed to meet the demands of the Web development and Internet community. The three key skill areas focused in this course are Web management, content management, and technical management.

CSC 420  Database Principles and Design  (3 Credits)  

An introductory course emphasizing the basic concepts and principles of database systems. Topics include introduction to database systems and databases, different system models, basic systems and language support for database systems; relational modes, relational algebra and introduction to relational database design as well as overview of common database system issues.

CSC 422  Database Implementation  (3 Credits)  

Introduction to database design methodology and tools, designing and building of forms and reports, database programming using embedded SQL, Internet/Web database and database administration.

CSC 430  Data Communications  (3 Credits)  

Study of principles of computer communication as well as hardware and software designs, including transmission media, data encoding, transmission techniques, protocols, switching networks, broadcast networks, and local area networks.

CSC 432  Wireless Data Networking  (3 Credits)  

This course introduces the students to various , wireless data network standards at a technical, level. The student will learn about wireless , network architectures for wireless LAN's wireless, PAN's broadband wireless access (BWA) and cellular, data networks (3G and beyond).

CSC 435  Computer Security I  (3 Credits)  

Introduction to Information Assurance concepts in addition to logging, encryption and decryption, effects on operating systems and machine architecture, countermeasures, risk analysis, security administration, legality and ethics, and computer forensics.

CSC 445  Computer Network Defense  (3 Credits)  

Course designed to engage students in a hands-on analysis of defending computer networks against the common methods and tools used to harm them. Topics covered include the weakness of current network topologies, passive and active information gathering and common attack methods including viruses, worms, denial of service attacks, e-mailbombs, and buffer overflow attacks. Ethics and legal implications are also discussed.

CSC 449  Cryptography and Network Security  (3 Credits)  

The course introduces the principles of number theory and the practice of network security and cryptographic algorithms. Topics include: number theory, cryptography, key management, network security, web security, and protocols for secure electronic commerce.

CSC 464  Operating Systems  (3 Credits)  

Introduction to the history and evolution of operating systems, the concepts behind and structure of various operating systems, process scheduling, interprocess communication, input and output, multiprogramming, memory management and file systems. Concepts of distributed operating systems are also introduced.

CSC 466  Advanced Computer Topics I  (3 Credits)  

Elective course for Computer Science.

CSC 467  Adv Cmptr Topic II  (3 Credits)  

Elective course for Computer Science.

CSC 468  Computer Architecture  (3 Credits)  

Study of computer organization and architecture that deals with processors, their architectures, memory, input, output, the micro architectural level, instruction set architectural level and the operating system machine level.

CSC 470  Artificial Intelligence  (3 Credits)  

In-depth study of concepts and problem solving techniques of artificial intelligence, including knowledge representation, functional and logic programming, machine learning, natural language understanding, computer vision, robotics, and societal impact.

CSC 471  Introduction to Game Design and Development  (3 Credits)  

This course introduces students to game design and development concepts. Topics include the history of games, genres, play elements, story and character development, game play and storyboard design, level and user interface design, and the game design document.

CSC 472  3D Game Programming  (3 Credits)  

This is a project-oriented course on 3D Game Programming. Students will work in teams to design, implement and test a three- dimensional game with interactivity, game state diagrams, animation, sound, and constraints.

CSC 476  Advanced CompTop III  (3 Credits)  

Advanced computer topics not generally covered, in the curriculum. Designed as a Computer, Science elective, not as a replacement, for any specific required course.

CSC 477  Adv Comp Topic IV  (3 Credits)  

Advanced computer topics not generally covered in, the curriculum. Designed as a Computer Science, elective, not as a replacement for any specific , required course.

CSC 480  Computer Graphics  (3 Credits)  

Study of interactive computer graphics, hardware and software: display devices,, 2D and 3D geometric transformations, raster , algorithms, representation of curves and surfaces,, hidden line removal and surfaces, shading , algorithms, and color graphics.

CSC 485  Software Quality Assurance and Testing  (3 Credits)  

This course is an introduction to concepts and, techniques for testing and modifying newly, developed and evolving software applications. , Emphasis is placed on quantitative and practical, software methods that can be applied within phases, of the software development life cycle (SDLC). , Topics include testing techniques (test first, development, graph coverage and criteria, logic, based and syntax based techniques), automatic and, manual testing, testing measurability, design of, test plans, and validation of software changes.

CSC 486  Software Project Management  (3 Credits)  

This course introduces the student to the, different aspects of software project management. , It will emphasize the main activities and, techniques that characterize the development of a, software product cover and the project management, body of knowledge (PMBOK): The main knowledge, areas are covered, including scope, time, cost,, team, risk, and communication management while, focusing on software development. Agile, Management (e.g. SCRUM) and other emerging, practices will be covered.

CSC 487  Engineering Secure Software Systems  (3 Credits)  

This is a required course in the BS in Computer, Science - Software Engineering Track (BS.CSC.SET), and an elective in the BS in Computer Science, (BS.CSC) program. It explores the foundations of, software security, considering important software, vulnerability.

CSC 488  Principles of Distributed Software Syste  (3 Credits)  

Parallel and Distributed Software Computing deals, with the use of large scale computing platforms, including desktop multicore procesessors, SMPs,, message passing platforms, and virtualized cloud, computing environments. The course consists of, topics on parallel and distributed programming,, platforms, algorithms and applications. Design, and implementation of distributed software, components include process and memory management, underlying software applications; sockets,, protocols, threads, XML, serialization,, reflection, security, and events.

CSC 492  Independent Study  (3 Credits)  

Supervised independent project designed to explore a single topic in a one-to-one learning relationship with a faculty member.

CSC 493  Systems Programming  (3 Credits)  

Fundamentals of system and network, programming methodology, techniques, system, calls and library calls

CSC 494  Digital Forensics  (3 Credits)  

This course focuses on practical applications of Information Assurance (IA) policies and technologies in enterprise network environments. The course will include lecture and demonstrations, but is designed around a virtual lab environment and scenario that provides for robust and realistic hands-on experiences in dealing with a range of information assurance topic areas. Students will be provided numerous practical opportunities to apply information security practices and technologies to solve real-world IA problems.

CSC 498  Computer Science Seminar I  (2 Credits)  

Culminating course designed to synthesize computer, science knowledge and experiences through, participation in a research project of the, student's choice. Results of the research are, presented to peers and other interested members of, the computer science community.

CSC 499  Computer Science Seminar II  (2 Credits)  

Culminating course designed to synthesize computer science knowledge and experiences through participation in a research project of the student's choice. Results of the research are presented to peers and other interested members of the computer science community.