2023-2024 Academic Catalog

Computer Science (CSC)

CSC-6021: Data Structures and Algorithms II (3 hours)

Development of methods for organizing and processing large data sets. Types of data structures analyzed include linear lists, stacks, queues, graphs and trees using the Java and Python programming language. Algorithm analysis methods are used throughout to analyze data structures and algorithm design alternatives. Prerequisite: B or higher in CSC-3420 or instructor consent.

CSC-6022: Advanced Data Structures and Algorithms (3 hours)

Development of methods for organizing and processing large data sets. Data structures analyzed include Linear Lists, Graphs, Trees, Heaps, Dictionaries and Their Implementations, Balanced Search Trees, Graphs and Processing Data in External Storage using the C++, Java and Python programming languages. Algorithm analysis methods are used throughout to analyze data structures and algorithm design alternatives. Prerequisite: B or higher in CSC-6021 or instructor consent.

CSC-6051: Operating System II (3 hours)

Advanced concepts of operating system design, including Cloud-based, Security, File Systems, Fault Tolerance, Reliable Data Delivery and Networked Applications. Also includes Linux Operating System concepts, management, maintenance and the required resources. Prerequisite: B or higher in CSC-4450 or instructor consent.

CSC-6160: Software Engineering (3 hours)

Broad perspective on software development, including ethics, project management, software development lifecycle, problem specification and analysis, system design techniques, implementation and documentation. Prerequisite: B or higher in CSC-2410 or instructor consent.

CSC-6161: Software Engineering II (3 hours)

Detailed insight into system design techniques, testing, implementation, dependability and security, and software reuse, component-based, service-oriented, embedded and distributed software engineering. Prerequisite: B or higher in CSC-3460 or CSC-6160, and CSC-2620 or CSC-6220, or instructor consent.

CSC-6162: Advanced Software Engineering (3 hours)

Advanced topics in Software Engineering providing more in-depth coverage than the first two courses in the Software Engineering Major, including but not limited to the following topics: Design and Implementation, Software Testing, Software Evolution, Software Reuse, Component-based Software Engineering, Distributed Software Engineering, Service-oriented Software Engineering, Systems engineering, Systems of systems and Real-time software engineering. Prerequisite: B or higher in CSC-6161 or instructor consent.

CSC-6220: Database Design and Development I (3 hours)

Introduction to database systems, including but not limited to the following topics: Types of database models, database management systems, SQL language, relational data model and relational database constraints, relational database design by ER and EER-to-relational mapping, introduction to SQL programming techniques, object and object-relational databases, and XML language. Prerequisite: B or higher in CSC-2410 or instructor consent.

CSC-6221: Database Design and Development II (3 hours)

Second course in database systems providing more in-depth coverage, including but not limited to the following topics: SQL language with Complex Queries, Triggers, Views and Schema Modification; Database Programming Techniques; Data Modeling Using the Entity-Relationship (ER) and Enhanced Entity Relationship (EER) Models; Object, Object-Relational and XML: Concepts, Models, Languages and Standards; and Database Design Theory and Normalization. Prerequisite: B or higher in CSC-2620 or CSC-6220 or instructor consent.

CSC-6222: Advanced Design and Development (Big Data) (3 hours)

Advanced course in database systems providing more in-depth coverage than the first two courses in the Database sequence, including but not limited to the following topics: Big Data, File Structures, Hashing, Indexing, and Physical Database Design; Query Processing and Optimization; Transaction Processing, Concurrency Control and Recovering; Distributed Databases, NOSQL Systems, Cloud Computing and Big Data; Advanced Database Models, Systems and Applications; and Database Security. Prerequisite: B or higher in CSC-6221 or instructor consent.

CSC-6350: Website Design and Development I (3 hours)

Comprehensive introduction to the tools and skills required for both client and server-side programming and development of platform-independent sites using the most current web development technology. Prerequisite: B or higher in CSC-2620 or CSC-6220 or instructor consent.

CSC-6351: Website Design and Development II (3 hours)

Second course in Website Design and Development with advanced treatment of the tools and skills required for both client- and server-side programming. Development of platform-independent sites using the most current Web development technology. Topics include PHP, JavaScript, Web Services in C++ and Java, and HTML5 Web Sockets and Web Workers. Prerequisite: B or higher in CSC-6350 or instructor consent.

CSC-6352: Advanced Web Design and Development (3 hours)

Third course in Website Design and Development, providing more advanced skills in website design and real-life experience in website development. As a major part of this course, students will work together as a team to build a complex website with advanced treatment of the tools and skills required for both client- and server-side programming. Prerequisite: B or higher in CSC-6351 or instructor consent.

CSC-6440: Computer Networking and Cyber Security I (3 hours)

Multiple computer networking concepts including the OSI reference model for networking protocols, cyber security, TCP/IP implementation, internetworking technologies such as frame relay, FDDI, X-25, ISDN services, the Internet and the World Wide Web. The use of internetworking software applications, routing/switching hardware and algorithms, security, intranets and intranet servers and browsers, networks and network servers, LANs/WANs. Also included are case studies of existing networks and network architectures. Prerequisite: B or higher in CSC-2410 or instructor consent.

CSC-6441: Computer Networking and Cyber Security II (3 hours)

Multiple computer networking concepts including those of Wireless and Mobile Networks, Multimedia Networking, Security in Computer Networks and Network Management. Also included are case studies of existing networks and network architectures, and programming in the UNIX environment. Prerequisite: B or higher in CSC-6440 or instructor consent.

CSC-6442: Advanced Computer Networking and Cyber Security (3 hours)

A broad introduction to host-based and Internet-based computer security. Topics covered include an introduction to cryptography, authentication protocols, access control, database security, intrusion detection, malicious software such as worms and virus propagation, and techniques to secure the Internet such as firewalls, intrusion detection systems and Web and IP security. Prerequisite: B or higher in CSC-6441 or instructor consent.

CSC-6530: Mobile Application Design and Development I (3 hours)

Fundamental concepts of application development for Android smartphones and tablets using Java. Some game development and an introduction to the development of iOS mobile applications. Prerequisite: B or higher in CSC-3430 or instructor consent.

CSC-6531: Mobile Application Design and Development II (3 hours)

Fundamental concepts of application development for iOS app development with a broader and deeper treatment of Swift programming language. The development of games for iOS smartphones and tablets and some iOS mobile applications. Prerequisite: B or higher in CSC-6530 or instructor consent.

CSC-6532: Advanced Mobile Application Design and Development (3 hours)

Third course in Mobile Application Design and Development Major providing more advanced skills in Mobile Application design and real-life experience in Mobile Application and Development. As a major part of this course, students will work together as a team to build a complex Mobile Application. Prerequisite: B or higher in CSC-6531 or instructor consent.

CSC-6950: Independent Study in Computer Science (1-6 hours)

CSC-6990: Master's Thesis (6 hours)