Computer Science (CSCN)
CSCN 110 Introduction to Computer Sciences 3 Credit Hour(s)
Prerequisite: MATH 121 (may be taken concurrently) or MATH 122 (may be taken concurrently) or MATH 125 (may be taken concurrently) or MATH 126 (may be taken concurrently) or MATH 128 (may be taken concurrently) or MATH 131 (may be taken concurrently) or MATH 132 (may be taken concurrently) or MATH 133 (may be taken concurrently) or MATH 200 (may be taken concurrently) or MATH 201 (may be taken concurrently) or BUSI 230 or MATH 217 (may be taken concurrently) or MATH 227 (may be taken concurrently) or MATH 250 (may be taken concurrently) or ACT Math with a score of 25 or (pre2016 post1995)SAT Math with a score of 570 or SAT Section Math with a score of 590 or Assessment - Mathematics II with a score of 15 or Placement Score-Math with a score of 075
A breadth-first introduction to the computing disciplines, with an emphasis on computer ethics and how computing technology impacts the world. Topics include: computing history; discrete mathematics; computer architecture and organization; algorithm design; languages; compilers; operating systems; applications; networks; databases; intellectual property; privacy; free speech; social consequences; computer crime; and codes of conduct.
Offered: Resident
CSCN 111 Programming In C++ Beginner 3 Credit Hour(s)
This class will introduce you to C++, algorithms, structured and object-oriented programming, and software engineering. The class will cover the flow of control, input/output, functions, classes, and objects. Software engineering will include problem-solving approaches, incremental development, and testing. Programming assignments are required.
Offered: Resident
CSCN 112 Programming in C++ Advanced 3 Credit Hour(s)
This class builds upon the foundations of the C++ language taught in CSCN 111. Its topics include advanced examination of functions, recursion, simple data structures, various sort/search algorithms, classes, objects, composition, inheritance, dynamic memory allocation, vectors, virtual functions, polymorphism, pointers, class and function templates, exception handling, and operator overloading. Programming assignments in C++ are required.
Offered: Resident
CSCN 215 Data Structures and Algorithms using C++ 3 Credit Hour(s)
Introduction of algorithms and data structures used to store, access, and manipulate large quantities of data. This class will introduce common data structures used by software engineers to build applications. Structures include lists, stacks, queues, trees, graphs, files, indexes, searching (sequential, binary, hashing, etc.) and probabilistic structures. Asymptotic Analysis will be introduced as the mechanism for measuring and comparing algorithm complexity/performance. Programming exercises in C++ reinforce lessons learned.
Offered: Resident
CSCN 230 Business Data Communications and Networks 3 Credit Hour(s)
Prerequisite: MATH 121 (may be taken concurrently) or Placement Score-Math with a score of 75
Business Data Communications begins with foundational groundings in the basics of telecommunications technologies and terminology including various transmission media. It continues by exploring the basics of networking--past, present, and future. The introduction and dive into the OSI 7-Layer model and the internal 4-Layer IP model.
Offered: Resident
CSCN 299 Internship 0 Credit Hour(s)
Application procedures processed through the Career Center. Must apply semester prior to internship. (Previously BMIS/CSCI 299)
Registration Restrictions: Sophomore status, 2.00 GPA, two courses in major, declared major, not more than one CSER behind
Offered: Resident
CSCN 310 Web Programming in HTML 3 Credit Hour(s)
This course teaches fundamental web programming using HTML and CSS.
Offered: Resident
CSCN 315 Front-end Programming in JavaScript 3 Credit Hour(s)
Prerequisite: CSCN 310
This course teaches the concept of progressive enhancement (simple to complex) through the use of front-end programming techniques using JavaScript and jQuery.
Offered: Resident
CSCN 316 Back-end Programming in PHP 3 Credit Hour(s)
Prerequisite: CSCN 310
This course provides an introduction to the various languages and tools used in back-end programming. The fundamentals of back-end programming will be emphasized. Due to the particularly dynamic nature of Internet technologies, course content will change as appropriate.
Offered: Resident
CSCN 321 Python and R for Data Science 3 Credit Hour(s)
Python and R have become invaluable to a modern data science practice. This course provides a data science-specific introduction to the Python and R languages. This introduction includes modern data analysis techniques and popular libraries encountered in this discipline related to these languages.
Offered: Resident
CSCN 322 Data Engineering 3 Credit Hour(s)
The ability to analyze large and complex data often requires significant aggregation and pre-processing to make it acceptable for advanced analysis. This course provides an overview of current data engineering methods to aggregate, curate, and present data for analysis, including modern distributed processing systems.
Offered: Resident
CSCN 323 Data Visualization 3 Credit Hour(s)
Prerequisite: CSCN 322
Presenting and visualizing information to support decision-making is key to maturing organizations. This course provides an overview of current data visualization techniques, tools, and dashboards.
Offered: Resident
CSCN 326 Database Design and Management 3 Credit Hour(s)
The abilities to design, implement, and maintain an enterprise database are beneficial skills for computer science professionals. This course involves the study of database management systems, database architecture, design, queries, applications, administration and implementation. At least half of the course involves extensive database design with ERDs, normalization, DDL and DML SQL queries, and the use of SQL advanced queries for data analysis. The remainder of the course examines concurrency management, transaction processing, query optimization, security, database recovery, distributed databases, PHP, and XML. Projects are assigned to provide hands-on experience with the SQL language, a relational database management software package, and various ETL (Extract-Transform-Load) techniques for large data sets.
Offered: Resident
CSCN 340 Information Security Concepts and Principles 3 Credit Hour(s)
This course is a survey of the fundamental concerns and issues regarding the design, development and operation of secure information systems. Topics include threat analysis, cyber resilience, network & application security, social engineering, secure systems operation, compliance, as well as policy development & implementation. Additionally, the methods used by attackers to circumvent these protections and defenses are explored.
Offered: Resident
CSCN 342 Computer Architecture 3 Credit Hour(s)
This course provides an in-depth review of current and historical computer architecture designs. Students learn the fundamentals of architectural elements used in processor design, arithmetic logic units, memory structures, and I/O systems. Several assembly languages are heavily emphasized as well as how data structures are natively stored in memory and used for computation.
Offered: Resident
CSCN 345 Linux Operating System 3 Credit Hour(s)
This course provides an introduction to the Linux operating system from a computer science perspective. Topics covered include: system overview and structure, administration, shell scripting, compilation, troubleshooting and debugging.
Offered: Resident
CSCN 352 Windows System Administration 3 Credit Hour(s)
Principles of Windows system administration activities, applications, operating systems, and domains; analysis of computing applications, infrastructures, architectures, firmware, hardware, disaster recovery, security, and enterprise deployment.
Offered: Resident
CSCN 354 Fundamentals of Distributed Systems 3 Credit Hour(s)
Using Python as the base language, this course examines the integration of systems and applications across global businesses; explores programming interfaces, data mapping and exchange, and scripting, to support the configuration, maintenance, integration, and security of systems.
Offered: Resident
CSCN 355 Network Architecture, Protocols, and Theory 3 Credit Hour(s)
A study of how computer networks and internets operate. Investigates networking from the level of data transmission and wiring through the level of application software that provides networking functionality including theoretical foundations; topics include: data and packet transmission, LANs and WANs, and internet concepts, including architecture, protocol layering, and application software.
Offered: Resident
CSCN 375 Human Computer Interaction 3 Credit Hour(s)
This course provides a study and application of the concepts, theory, and practice of effective user interface design, including user-centered design principles. Cognitive and social aspects of human interaction will be examined in conjunction with elements of technological devices. Human interaction with mobile applications, internet applications, social networking technology, cloud computing, and stand-alone applications concepts will be explored. Additional emphasis will be placed on exploring the field of design thinking.
Offered: Resident
CSCN 408 Mobile Programming 3 Credit Hour(s)
This course teaches concepts of mobile programming using web languages.
Offered: Resident
CSCN 421 Applied Machine Learning 3 Credit Hour(s)
Learning from data has become vitally important in modern organizations. This course provides an introduction to machine learning techniques to allow organizations to leverage their data. This course examines various supervised and unsupervised learning techniques, dimensionality reductions, neural networks and deep learning and commonly used associated libraries.
Offered: Resident
CSCN 422 Artificial Intelligence 3 Credit Hour(s)
This course provides a broad introduction to the modern artificial intelligence field. Areas covered include modern search techniques, optimization, knowledge representation, and decision-making.
Offered: Resident
CSCN 434 Programming Language Design and Compiler Theory 3 Credit Hour(s)
This course builds upon the student’s knowledge of formal languages and provides a grand tour of computation and programming language design, culminating in compiler design. Beginning by reviewing computability and formal languages, students progress to programming language design principles, and examine the steps involved in compilation and compiler construction both from a software design perspective and theoretical approach.
Offered: Resident
CSCN 443 Operating Systems Design 3 Credit Hour(s)
This course provides an in-depth review of current and historical operating system designs. Students learn how operating systems have evolved over time from real-mode systems to modern virtual memory-based operating systems. This course also includes an extensive introduction to bootloaders, system calls, system libraries, relocatable code, linkers and loaders, kernel drivers, and file systems, both from a theoretical perspective and from the software design and implementation perspective.
Offered: Resident
CSCN 461 Aspects of Computer Security-Defensive 3 Credit Hour(s)
This course introduces the following issues and principles of information system security: security policies and their mechanisms of implementation, methods used by attackers attempting to circumvent these protections, and specific defenses against these attackers.
Offered: Resident
CSCN 462 Advanced Aspects of Computer Security-Ethical Hacking 3 Credit Hour(s)
This course introduces the following issues and principles of information system security: security policies and the technical mechanisms of implementation methods used by attackers to circumvent these protections, with a focus on specific advanced technical, administrative, and physical attack tactics, techniques, and procedures.
Offered: Resident
CSCN 463 Modern Cryptography 3 Credit Hour(s)
Study of modern cryptographic techniques. Covers basic cryptographic concepts, including symmetric key, public key, hash functions, digital signatures, and message authentication codes.
Offered: Resident
CSCN 471 Software Engineering Management 3 Credit Hour(s)
Study of the management and performance of the software development process. Topics include: phases of a software project, life-cycle models, metrics, tools, methodologies, techniques, management, and ethical and professional issues.
Registration Restrictions: 30 credit hours of Computer Science (CSIS or CSCN) coursework and permission of the Department Chair
Offered: Resident
CSCN 481 Computer Sciences Practicum I 3 Credit Hour(s)
This is the application of all that the student has learned of software development and engineering. In small teams students will develop real-world applications or application products, often working with external clients and/or functional domain experts.
Registration Restrictions: Permission of Department Chair
Offered: Resident
CSCN 482 Computer Sciences Practicum II 3 Credit Hour(s)
This class is the follow-on to CSCN 481 and continues the application of all that the student has learned of software development and engineering. Remaining in the same teams established during CSCN 481, students will continue developing their applications and working with their clients culminating in the closeout customer briefing and the delivery of software and supporting documentation at the end of the semester.
Registration Restrictions: Permission of Department Chair
Offered: Resident
CSCN 485 Cybersecurity Practicum I 3 Credit Hour(s)
This course is a comprehensive review of the computer science cybersecurity program and integrates all concepts of software cybersecurity, from a secure software development lifecycle (SDLC) point of view.
Registration Restrictions: Permission of Department Chair
Offered: Resident
CSCN 486 Cybersecurity Practicum II 3 Credit Hour(s)
This course is a continuation of the Cybersecurity Capstone I course and serves as the culmination of the computer science cybersecurity program which integrates all concepts of enterprise cybersecurity, from an offensive and defensive point of view.
Registration Restrictions: Permission of Department Chair
Offered: Resident
CSCN 495 Directed Research 2-3 Credit Hour(s)
Study of advanced topics in computer science on an individual basis. Periodic meetings with instructor.
Registration Restrictions: Permission of instructor
Offered: Resident
CSCN 497 Special Topics in Technology 3 Credit Hour(s)
Selected topics in various areas of computer science. May be repeated for credit when topic varies. (Formerly CSCI 497)
Registration Restrictions: Permission of instructor
Offered: Resident
CSCN 499 Internship 1-6 Credit Hour(s)
Applications are processed through the department Faculty Intern Advisor. Applicants must apply the semester prior to starting the internship. (Formerly CSCI 499)
Registration Restrictions: Junior Status, required GPA permission of Faculty Intern Advisor
Offered: Resident