Computer Science (CSCI)
Credit: 1 (0-1-0)
This is the accompanying laboratory for CSCI 1336: Programming Fundamentals I. Students will work hands-on in a computer laboratory to write programs on topics in software development methodology, data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging. Meets College of Business Experiential Learning Requirements. TSI Restriction(s): Reading, Math, and Writing.
Restrictions: Enrollment is limited to Undergraduate level students.
Credit: 1 (0-1-0)
This is the accompanying laboratory for CSCI 1337: Programming Fundamentals II. Students will work hands-on in a computer laboratory to write programs on topics in the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design as well as abstract data types. It provides additional experience with advanced programming concepts and applies the basic concepts of efficiency in algorithm development and implementation. Meets College of Business Experiential Learning Requirements. TSI Restriction(s): Reading, Math, and Writing.
Restrictions: Enrollment is limited to Undergraduate level students.
Credits: 3 (3-0-0)
This course introduces the fundamental concepts of structured programming. Topics include software development methodology, data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces and applies the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design as well as abstract data types. It provides additional experience with advanced programming concepts and applies the basic concepts of efficiency in algorithm development and implementation.
Restrictions: Graduate level students may not enroll.
Credits: 4 (0-0-0)
This course introduces the fundamental concepts of structured programming. Topics include software development methodology, data types, control structures, functions, arrays, and the mechanics of running, testing, and debugging. Students are also briefly introduced to the fundamentals of object-oriented programming. This course has its laboratory component: Students will work hands-on in a computer laboratory to write programs related to course topics. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 4 (0-0-0)
This course introduces and applies the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design as well as abstract data types. It provides additional experience with advanced programming concepts, such as exceptions, GUI programming, and recursion. This course has its laboratory component: Students will work hands-on in a computer laboratory to write programs related to course topics. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credit: 1 (0-1-0)
This is the accompanying laboratory for CSCI 2336-Programming Fundamentals III. Students will work hands-on in a computer laboratory to write programs on topics in the fundamental concepts of data structures and expand on the concepts control structure, data types, and algorithms. Programing topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering.
Restrictions:
Credits: 3 (3-0-0)
This course provides the mathematical foundations from discrete mathematics for solving computational problems. Students will learn the basic discrete mathematical structures such as propositional logic, proof techniques, predicate calculus, sets, relations, counting techniques, functions, and graphs. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces basic computer organization; digital representation of data and instructions; computer arithmetic, logic and shift units, data formats, address models, instruction sets and microcode (general Assembly language), systems including caches, and design of simple computer. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces the fundamentals concepts of data structures and expands on the concepts control structure, data types, and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the fundamental concepts of designing and developing web applications. The content is focused on strategies and techniques for designing and structuring web applications. Topics include designing interfaces in HTML, CSS, and JavaScript, writing basic scripts in PHP, and working with databases on a client-server architecture.
Restrictions: Graduate level students may not enroll.
Credits: 4 (0-0-0)
This course introduces the fundamental concepts of data structures and expands on the concepts control structure, data types and algorithms. Topics include recursion, fundamental data structures (including tacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering. Course includes lab component for lab based exercises. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course examines file and database organization techniques including network, hierarchical, relational, object and SQL data models, commercially available and open source database systems, database design and implementation, query language, transaction processing, database administration and database security. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
Applications requiring telecommunications, internal and external influences on telecommunications systems and service providers, data transmission, standards and architectures, management of network design and operation, local area networks and future issues. This course is cross-listed with CISA 4306 Telecommunications I.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces penetration testing, web application security and cyber security ethics through hands-on experience that develops foundational offensive and defensive security skills. Students will learn the basics of cyber security and common vulnerabilities and attacks, receiving hands-on practice in both exploitation techniques and strategies for protecting and hardening applications. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course provides the basic tools to give students the ability to select algorithms appropriate to particular purposes and to apply them, recognizing the possibility that no suitable algorithm may exist. It examines the range of algorithms that address important sets of well-defined problems, recognizing their strengths and weaknesses, and their suitability in particular contexts. Time and space efficiency is a pervasive theme throughout this course. . TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces Basic Processor Design; Performance Evaluation; Pipelining; Memory Hierarchies: Caches, virtual memory; input/output and storage; Introduction to Instruction Level Parallelism. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
A programming intensive course that introduces key topic areas in Computer Science, such as graphics, intelligent systems, simulation and modeling, and parallel and distributed processing.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
A programming intensive course that investigates program implementation theory, methods, and tools, as well as system utility programming using operating system programming interfaces and system calls to provide computer and process management capabilities. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
A programming intensive course that introduces key topic areas in Computer Science, such as graphics, intelligent systems, simulation and modeling, and parallel and distributed processing. Formerly CSCI 3351. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the fundamental concepts of designing and developing web application. The content is focused on strategies and techniques for designing and structuring web applications. Topics include designing interfaces in HTML, CSS, and JavaScript, writing basic scripts in PHP, and working with databases on a client-server architecture. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course provides a comprehensive study of key concepts in modern operating systems. Topics include operating system structures, process and threads, process synchronization, CPU scheduling, deadlock, main memory and virtual memory management, and file systems. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the syntax and semantics of programming languages and different programming language paradigms such as functional programming, logic programming, and object-oriented programming. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credit: 1 (1-0-0)
In this course students will identify the various ethical issues and values as it relates to future careers within their discipline. Students will study various cases and identify the ethical issues, and seek mechanisms for addressing and resolving the issues. Through mock debates, studying, writing and presenting professional ethical analysis studies, students will be prepared to understand and address the ethical issues within their discipline.
Restrictions: Students with a semester level of Freshman or Sophomore may not enroll.Graduate level students may not enroll.
Credit: 1 (0-3-0)
Credits: 3 (3-0-0)
This course includes the theory, concepts and terminology required for competency in microcomputer assembly language programming including machine instructions; basic data types; addressing modes; arithmetic, logical and character string operations; interrupts and I/O interfaces. It includes an analysis of microcomputer architectures and the impact architectures and instruction sets have on each other.
Restrictions:
Credits: 3 (3-0-0)
This course examines file and database organization techniques including network, hierarchical, relational, object and NoSQL data models, commercially-available and open source database systems, database design and implementation, query language, transaction processing, database administration and database security. May be cross-listed with CISA 4304.
Restrictions:
Credits: 3 (3-0-0)
This course covers subjects related to computer networks including TCP/IC and OSI models, network applications, distributed systems and an introduction to network security. The course focuses on concepts, principles and technologies that enable the use of current computer networks and protocols. Must take Labe as a co-requisite to complete the hands-on exercises.
Restrictions:
Credits: 3 (3-0-0)
The course gives a comprehensive and up-to-date introduction to artificial intelligence (AI) theory and practice. Covered topics include machine learning, deep learning, transfer learning, multiagent systems, robotics, natural language processing, causality, probabilistic programming, privacy, fairness, and safe AI.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces the concepts, principles, and applications of big data systems. The course focuses on big data management systems, where the scale of data is often much larger than traditional data management systems and tools can handle. It covers the development of efficient solutions for different types of data, including relational, distributed, graph, NoSQL, NewSQL, machine learning, and neural networks. Additionally, it covers the data from various disparate sources, often characterized by noise, and generated at a very high rate. TSI Restriction(s): Reading, Writing, and Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
Man-machine communication in graphical form. Graphics hardware and software. Use of a commercial graphics package. Representation and manipulation of two- and three-dimensional data. Use of color. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course introduces an engineering approach to software development with software process models, software design principles, software requirements analysis, specification, design, and development. TSI Restriction(s): Reading, Math
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers engineering principles applied in the software process improvement, software quality assurance, software testing, software project management, and software maintenance. Course materials also address current topics in software engineering. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the topics of computer security and information security in greater detail. Topics will include cryptography, security protocols, web security, network security, software-security, mobile security, intrusion detection and prevention systems, vulnerability assessment, and other security technologies. Special emphasis is on application and software security issues. Hands-on exercises are included to reinforce the material. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course will integrate knowledge from introductory security courses with knowledge from data science and analytics. Major subjects include cyber operation and management, cyber defense and offense, malware analysis, and revere engineering. The course will be built based on NIST NICE Cyber framework. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the fundamental concepts of designing and developing software applications targeted for mobile devices such as those running the Android operating system. The content is focused on strategies and techniques for designing and structuring mobile applications, including user interface screen layouts, the definition of program logic, and the connection between them. The application life cycle in the mobile environment and its important implications on application design is also examined. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
The course provides students the opportunity to gain an off campus learning experience allowing the acquisition and application of computer science skills in a professional work environment.
Restrictions: Enrollment limited to students with a semester level of Junior.Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers an introduction to various topics in cryptography including conventional and public-key cryptography, authentication and digital signatures, pseudo-random sequences, hash functions, key management. Software applications using these techniques will be studied in addition to an introduction to current cryptographic techniques and applications. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course covers the technologies, tools, and techniques used to develop software applications targeted for mobile devices running software such as the iOS operating system. The content is focused on strategies and techniques for designing and structuring mobile applications, including user interface layouts, gesture-based interfaces, integrated location services, multi-touch event handling, Apple iOS platform, Xcode IDE, and Swift programming language. The application life cycle in the mobile environment and its important implications on the application design is also examined. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
This course examines the concepts, principles, and application of machine learning (ML), the major driving force of current AI development. This course provides fundamental knowledge of ML and hands-on experiences to develop ML models in real-world scenarios. The topics of this course include supervised learning, unsupervised learning, classification, and regression. This course will introduce a wide range of ML algorithms, such as K-Nearest Neighbor, K-Means Clustering, Logistic Regression, Principal Component Analysis, and Neural Networks. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
Credits: 3 (3-0-0)
Research in selected fields of computer science. May be repeated once for additional credit. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.
Repeat Status: Course may be repeated 1 time(s).
Credits: 3 (3-0-0)
This course provides a comprehensive study of the concepts incorporated in modern operating systems. Students learn to view operating systems on the continuum from the designer to the user. This area is undergoing massive changes as computer systems are becoming ubiquitous and operating systems are being designed for systems ranging from home appliances and automobiles to smart phones and other personal devices, to the more traditional computer systems used to process the myriad information used in governmental, business, and private organizations.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
Formal definition of programming languages including specification of syntax and semantics. Precedence, infix, prefix and postfix notation. Global properties of algorithmic languages. List processing, string manipulation, data description and simulation languages. Run-time representation of program and data structures. Language paradigms.
Restrictions: Graduate level students may not enroll.
Credits: 3 (3-0-0)
Students will work individually or as teams on topics/projects related to the industry or research. Faculty will help students in the selection process and students will produce several deliverables within the course toward the goal of their project completion. Meets College of Business Experiential Learning Requirements. TSI Restriction(s): Reading, Math, and Writing
Restrictions: Enrollment limited to students with a semester level of Senior.Enrollment is limited to students with a major in Computer Science.Enrollment limited to students in the BS_CSCI program.Graduate level students may not enroll.
Credits: 4 (3-3-0)
This course covers subjects related to computer networks including TCP/IP and OSI models, network applications, distributed systems and an introduction to network security. The course focuses on concepts, principles and technologies that enable the use of current computer networks and protocols. Course includes a lab component for lab-based exercises. . TSI Restriction(s): Reading, Math, and Writing
Restrictions: Graduate level students may not enroll.