Computer Science (CSCI)

CSCI 1136  Programming Fundamentals I Laboratory  
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.

Prerequisites: Grade of ‘C’ or better in each: Math 1314 or equivalent.
Corequisites: CSCI 1336.

Restrictions: Prerequisite: MATH 1314.

CSCI 1137  Programming Fndmtls II Lab  
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.

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1336 and CSCI 1136.
Corequisites: CSCI 1337.

Restrictions:

CSCI 1336  Programming Fundamentals I  
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.

Prerequisites: Grade of ‘C’ or better in each: MATH 1314 or equivalent.
Corequisites: CSCI 1136. TSI Restriction(s): Reading, Math, and Writing

Restrictions: Prerequisite: MATH 1314.Graduate level students may not enroll.

CSCI 1337  Programming Fundamentals II  
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.

Prerequisites: Grade of ‘C’ or better in each: MATH 1314, CSCI 1336 and CSCI 1136.
Corequisites: CSCI 1137. TSI Restriction(s): Reading, Math, and Writing

Restrictions: Graduate level students may not enroll.

CSCI 2322  Discrete Structures-Computing  
Credits: 3 (3-0-0)
  

This course provides the mathematical foundations from discrete mathematics for analyzing computer algorithms, for both correctness and performance; introduction to models of computation, including regular expressions, finite state machines, and Turing machines. TSI Restriction(s): Reading, Math, and Writing

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1336, CSCI 1337 and CSCI 1137.

Restrictions: Graduate level students may not enroll.

CSCI 2325  Computer Organization  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1336, CSCI 1136, CSCI 1337, and CSCI 1137.

Restrictions: Graduate level students may not enroll.

CSCI 2353  Web App Programming  
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.

Prerequisites: CSCI 1337 and CSCI 1137.

Restrictions: Graduate level students may not enroll.

CSCI 2436  Programming Fundamentals III  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1336, CSCI 1136, CSCI 1337, and CSCI 1137.

Restrictions: Graduate level students may not enroll.

CSCI 3101  Jag Tracks III: Computer Sci  
Credit: 1 (1-0-0)
  

In this course students will identify their skills, strengths, interests, and values as it relates to future career goals within their discipline. Students will seek opportunities to gain transferable and direct skills to apply to future career goals. Through mock interviews, writing a professional and concise resume and cover letter, and researching professional organizations, students will be prepared to become active members of the community within their discipline. TSI Restriction(s): Reading, Math, and Writing

Prerequisites: Junior standing.

Restrictions: Enrollment limited to students with a semester level of Junior or Senior.

CSCI 3304  Database Systems  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1336, CSCI 1137, CSCI 1337, and (CSCI 2436 or (CSCI 2336 and 2136).

Restrictions: Graduate level students may not enroll.

CSCI 3321  Cyber Security  
Credits: 3 (3-0-0)
  

This course will introduce students to the concepts, principles, and applications of cyber security including privacy, information security, and critical infrastructure. This course will explore the knowledge and skills needed to ensure security of information and computer systems within organizations. TSI Restriction(s): Reading, Math, and Writing

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1336, CSCI 1137, CSCI 1337, and (CSCI 2436 or (CSCI 2336 and 2136) or CISA 3309 (or CISA 4309)).

Restrictions: Graduate level students may not enroll.

CSCI 3343  Algorithms  
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

Prerequisites: Grade of 'C' or better in each of; MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, and (CSCI 2436 or (CSCI 2336 and CSCI 2136)), MATH 2314, and MATH 2114.

Restrictions: Graduate level students may not enroll.

CSCI 3344  Computer Architecture  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2325.

Restrictions:

CSCI 3352  System Programming  
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

Prerequisites: Grade of C or better in each of; MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2325 and (CSCI 2436 or (CSCI 2336 and CSCI 2136)).

Restrictions: Graduate level students may not enroll.

CSCI 3353  Applications Programming  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, and CSCI 2436 or (CSCI 2336 and CSCI 2136)).

Restrictions:

CSCI 3354  Web App Development  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1336, CSCI 1137, CSCI 1337, CISA 2436 or (CSCI 2336 and CSCI 2136) or CISA 3309 (or CISA 4309).

Restrictions:

CSCI 3362  Operating Systems  
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 change 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. TSI Restriction(s): Reading, Math

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2325 and (CSCI 2436 or (CSCI 2336 and CSCI 2136)).

Restrictions:

CSCI 3366  Programming Languages  
Credits: 3 (3-0-0)
  

This course covers different programming languages paradigms, formal definition of programming languages including specification of syntax and semantics, precedence, infix, prefix and postfix notation, list processing, string manipulation, data description and simulation languages, run-time representation of program and data structures. Formerly CSCI 4366. TSI Restriction(s): Reading, Math

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2322 and (CSCI 2436 or (CSCI 2336 and CSCI 2136)).

Restrictions:

CSCI 4101  Jag Tracks IV: Computer Scienc  
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. TSI Restriction(s): Reading, Math

Prerequisites: UNIV 3101 or CSCI 3101 or Senior standing.

Restrictions: Enrollment limited to students with a semester level of Senior.Graduate level students may not enroll.

CSCI 4315  Computer Graphics  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, and (CSCI 2436 or (CSCI 2336 and CSCI 2136)) or instructor approval.

Restrictions:

CSCI 4316  Software Engineering I  
Credits: 3 (3-0-0)
  

Introduction to formal software design principles. An engineering approach to software development. Software project management. Software requirements analysis, specification, design, development and validation. TSI Restriction(s): Reading, Math

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2436 (or CSCI 2336 and CSCI 2136).

Restrictions: Enrollment limited to students with a semester level of Senior.Graduate level students may not enroll.

CSCI 4317  Software Engineering II  
Credits: 3 (3-0-0)
  

This course completes a two-course sequence on engineering principles applied in the software development lifecycle. Students implement the design they developed and validated in the first course and prepare the resulting system for operations and maintenance. Course materials also address current topics in the area of software engineering. TSI Restriction(s): Reading, Math, and Writing

Prerequisites: Grade of or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2436 (or CSCI 2336 and CSCI 2136), and CSCI 4316.

Restrictions: Prerequisite: CSCI 4316.Graduate level students may not enroll.

CSCI 4321  Computer Security  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, (CSCI 2436 or (CSCI 2336 and CSCI 2136)), CSCI 3321, CSCI 4406 (or CSCI 4306 and CSCI 4106), and MATH 3340.

Restrictions:

CSCI 4322  Cyber Intelligence  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, and (CSCI 2436 (or CSCI 2336 and 2136) or CISA 3309 (or CISA 4309)) and (CSCI 3321 or CISA 4321).

Restrictions: Graduate level students may not enroll.

CSCI 4325  Mobile App Development I  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2436 or (CSCI 2336 and CSCI 2136) or CISA 3309 (or CISA 4309).

Restrictions: Graduate level students may not enroll.

CSCI 4331  Cryptography  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 2436 (or CSCI 2336 and CSCI 2136), MATH 2314, MATH 2114, MATH 3340, CSCI 3321, CSCI 3343, and CSCI 4406 (or CSCI 4306 and 4106).

Restrictions:

CSCI 4335  Mobile App Development II  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1336, CSCI 1136, CSCI 1337, CSCI 1137, and (CSCI 2436 (or CSCI 2336 and CSCI 2136) or CISA 3309 (or CISA 4309)).

Restrictions:

CSCI 4359  Advanced Topics in Comp Sci  
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

Prerequisites: consent of instructor.

Restrictions:

Repeat Status: Course may be repeated 1 time(s).

CSCI 4391  Senior Project  
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

Prerequisites: Grade of C or better in each of: MATH 1314, CSCI 1136, CSCI 1137, CSCI 1336, CSCI 1337, CSCI 2436 (or CSCI 2336 and 2136), CSCI 4316.

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.

CSCI 4406  Computer Networks  
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

Prerequisites: Grade of ‘C’ or better in each of: MATH 1314, CSCI 1336, CSCI 1136, CSCI 1337, CSCI 1137, CSCI 2436 or (CSCI 2336 and CSCI 2136), CSCI 3321, and MATH 3340.

Restrictions: Graduate level students may not enroll.