Undergraduate Catalog 2023-2024

CSCI - Computer Science

CSCI 1000 Intro to Computer Sci & Appl

An introduction to computer literacy, software applications, elementary programming, information security and societal issues related to computers and software. Laboratory assignments will employ a variety of application software including electronic spreadsheets, presentation systems, database systems and elementary programming.

3

CSCI 1012 Special Topics

No prerequisite. Basic CS selected topics not available in other courses

1-3

CSCI 1200 Curr Topic in Comp & Info Tech

This course provides an introduction to contemporary issues in computer and information technology and the impact on society and culture. Topics include the evolution of the World Wide Web to current social networks, the technology and economics of social networking, the software development process and issues related to modern mobile computing devices, security and privacy, cyberethics, and globalization of the computing industry.

1

CSCI 1301 Computer Science I

Course topics include an overview of computers and programming; problem-solving and algorithm development; simple data types; arithmetic and logical operators; selection structures; text files; arrays; procedural abstraction and software design; modular programming. This is a HOPE and Zell Miller STEM course.

3

CSCI 1302 Computer Science II

Prerequisite: CSCI 1301 with a grade of C or higher. The course includes an overview of abstract data types; multi-dimensional arrays and records; strings; binary files; searching and sorting; software engineering concepts; software engineering concepts; dynamic data structures; introduction to object oriented languages and the concepts of object oriented design of algorithms. Additional special course fee required; see semester course schedule for amount.  This is a HOPE and Zell Miller STEM course.

3

CSCI 2350 Programming II

Prerequisite: C or better in CSCI 1302. Students are introduced to C++. In addition to learning the aspects of procedural programming lanuages, students will be strengthened in the knowledge of object oriented languages and the concepts of object oriented design of algorithms. This course is non-repeatable. This is a HOPE and Zell Miller STEM course.

3

CSCI 2351 Python Programming

Prerequisite: CSCI1301 with grade of C or better. Students are introduced to Python programming, including Python syntax, coding in Python, and library options.

3

CSCI 2800 Social & Professional Issues

Prerequisite: C or better in CSCI 1302. This course explores professional, ethical, legal, security and global issues and responsibilities in computer science related fields; also includes topics in local and global impact of computing on individuals, organizations, and society.

3

CSCI 2810 IS/CS Professional Development

This course serves as an introduction to the information systems, information technology, and computer science professions with an emphasis on professional development. Students will examine issues such as ethics, professional conduct, certifications, and life-long learning along with basic business and dining etiquette. Sophomore status.

1

CSCI 2811 IS/CS Career Preparation

This course serves as an introduction to career preparation for management information systems and computer science majors. Students will understand the different career paths available, the importance of networking, and the role of the various professional user groups and societies within the field.

1

CSCI 2960 Internship

Prerequisite: Approval of the Computer Science program coordinator. An individually designed and planned learning experience involving off-campus field experience and study in the private or public sector. A technical report documenting the experience will be presented to the Computer Science program coordinator.

1-3

CSCI 3211 Assem Lang & Digital Logic Dsg

Prerequisite: CSCI 1302 with a grade of C or higher. Prerequisite or corequisite: CSCI 2350 with a grade of C or higher. The internal organization of digital computers is introduced through the study of assembly language. Digital logic design, sequential and combinational circuit design and implementation are introduced. Laboratory projects include the implementation of circuits using integrated circuit technology and assembly language programming. This course is non-repeatable.

3

CSCI 3212 Computer Org & Architecture

Prerequisite: C or better in CSCI 3211. Study of computer architecture. Topics include CPU organization, memory addressing, internal bus organization, and control. Laboratory emphasis is given to design and construction of an operational digital computer system. This course is non-repeatable. Additional special course fee required; see semester course schedule for amount.

3

CSCI 3341 Operating Systems

Prerequisite: C or better in CSCI 2350 and CSCI 3410. Corequisite: CSCI 3212, which may be taken concurrently. Basic principles, structures, and functions of operating systems. Topics include concurrency, multitasking and process synchronization, multiprogramming, scheduling and Dispatch, memory management, processor management, device management, virtual machine, and security and protection. This course is non-repeatable.

3

CSCI 3342 Systems & Network Programming

Prerequisite: C or better in CSCI 3341 and CSCI 2350. This course provides a basic concept of the design and development of multitasking systems, client-server organizations, and distributed applications. Computer network design, implementations and protocols are included. This course is non-repeatable.

3

CSCI 3343 Computer Systems Security

Prerequisite: C or better in CSCI 3341 and CSCI 3342. The course covers principles of computer systems security. We will discuss various attack techniques and how to defend against them. Topics include Network attacks and defenses, Operating system holes, application security (Web, e-mail, databases, viruses, social engineering attacks, privacy, digital rights management, cryptography, access control, and security protocols). Course projects will focus on building reliable code.

3

CSCI 3350 Linux Programming

Prerequisite: CSCI 2350 with a grade of C or higher and approval of instructor. An introduction to Linux Programming, including Linux system administration, shell programming, Perl system programming, and C system Programming. Linux system calls will be examined and implemented in the system programming.

3

CSCI 3410 Intro to Data Structures

Prerequisite: C or better in CSCI 1302. Introduction to data structures and their applications. Topics include pointers and references, linked structures, stacks, queues, lists, trees, hashed tables, introductory algorithm analysis, and recursion. Basic implementation and algorithms for manipulating these structures in the context of typical problems are covered.

3

CSCI 3610 Internet Programming I

Prerequisite: C or better in CSCI 3410 or CSCI 2350. This course includes an overview of the World Wide Web along with an introduction of client side scripting, server side scripting, HTTP protocol, database connectivity, and programming for the Web. Topics include HTML, CSS, JavaScript, DOM, PHP and/or other internet programming languages. The course is non-repeatable.

3

CSCI 3680 Discrete Structures

Prerequisites: C or better in MATH 1113 (or higher) and CSCI 1302. This course offers an intensive introduction to discrete mathematics as it is used in computer science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, cryptography, discrete probability, graphs and trees, and understand basic Finite-State Machines, Turing Machines, and Formal Languages. This course is non-repeatable.

4

CSCI 3710 Data Mining

Prerequisites: CSCI 2351, CSCI 3410, and MATH 1401 with grades of C or higher, or permission of instructor. An introduction to data mining concepts and algorithms applying algorithms in real-world cases.

3

CSCI 3711 Data Analysis

Prerequisite: CSCI 3410 with a grade of C or higher. This course explores various software packages frequently used for data analysis. Examples of software packages include numpy, scipy, pandas, scikit-learn, matplotlib, etc. Through rigorous practice, students will be expected to master state-of-the-art data analysis and visualization techniques. The course is non-repeatable.

3

CSCI 3950 Special Topics

Prerequisite: Permission of instructor. Selected topics not available in other departmental courses.

1-4

CSCI 4320 Software Engineering

Prerequisite: C or better in CSCI 4710 and Senior status. An introduction to software engineering methodologies addressing each phase in the life cycle of software. Programming assignments use modern software engineering tools and languages.

3

CSCI 4330 Program Lang: Design & Surv

Prerequisite: C or better in CSCI 3410. The study of programming languages including the concept of compiler and interpreter, data types, type checking, names and scopes, the concept of binding, requirements for passing parameters, exception handling, imperative programming, object-oriented programming, functional programming, logic programming, formal language theory, and a broad survey of programming languages.

3

CSCI 4520 Analysis of Algorithms

Prerequisite: C or better in CSCI 3410 and 3680. Topics include analysis of algorithms, fundamental computing algorithms, algorithms and problem-solving, algorithmic strategies (brute-force algorithms, greedy algorithms, divide-and-conquer, dynamic programming, backtracking, branch-and-bound, heuristics, pattern matching and string/text algorithms, numerical approximation algorithms), and basic computability.

3

CSCI 4610 Internet Programming II

Prerequisite: CSCI 3610. This course is a continuation of CSCI 3610 and an in-depth study of the design and development of web applications. Topics include the XML and RSS, JSON, Ajax, web services, and web security. This course is non-repeatable.

3

CSCI 4680 Human Computer Interaction

Prerequisites: C or better in CSCI 3410 or CBIS 4210. This course explores the design, evaluation and implementation of usable interactive computing systems. Topics include methodologies and processes for designing, modeling and implementing interfaces, techniques for evaluating and comparing interfaces, and new paradigms for interaction.

3

CSCI 4710 Databases

Prerequisite: A grade of C or higher in CSCI 3410. An introduction to managing data as a resource by examining basic concepts in database management systems and contrasting them with standard file systems. Topics include data modeling, relational databases, database query languages, relational database design, transaction processing, and distributed databases.

3

CSCI 4711 Machine Learning

Prerequisite: CSCI 3710 or CSCI 3711 with a grade of C or better. An introduction to machine learning and its algorithms such as neural networks and deep learning, machine learning, and regression analysis. Students will apply the algorithms to real-world cases.

3

CSCI 4712 Big Data Analysis

An introduction to big data analysis, applying data mining and machine learning algorithms in big data analysis.

3

CSCI 4800 Parallel & Distributed Comp

Prerequisite: CSCI 3341. This course will provide an introduction to parallelism, communication and coordination. It includes topics in parallel algorithyms, parallel architecture and distributed systems.

3

CSCI 4820 Artificial Intelligence

Prerequisite: C or better in CSCI 3410 and CSCI 3680. Corequisite CSCI 4520, which may be taken concurrently. This course explores the theoretical and practical underpinnings of artificial intelligence and provides an introductory-level hands-on, engineering-oriented perspective on AI technology.

3

CSCI 4830 Computer Graphics

Prerequisites: C or better in MATH 2150, CSCI 3410 and CSCI 3680. An introduction to the basic principles and techniques of computer graphics emphasizing development and implementation of graphics algorithms and applications in a high level programming language.

3

CSCI 4920 Senior Seminar

Prerequisites: C or better in CSCI 3410 and permission of the instructor. Selected topics of current interest in computer science will be presented. In addition, each student will complete a project suited to the student's educational and professional interests.

3

CSCI 4940 Independent Study

Prerequisite: C or better in CSCI 3410 and permission of the instructor. Investigation of a topic of special interest under the guidance of a faculty member. Appropriate topics are those not available in other courses.

1-4

CSCI 4950 Special Topics

Prerequisite: CSCI 3410 and Permission of the instructor. Selected topics not available in other departmental courses.

1-4

CSCI 4960 Internship and/or Cooperative

Prerequisite: CSCI 2811 with a grade of C or better, junior status, and approval of the Program Coordinator/Department Chair. An individually designed and planned learning experience involving off-campus field experience and study in the private or public sector. A technical report documenting the experience will be presented to the Computer Science program coordinator.

1-15

CSCI 4999 Undergraduate Research

Prerequisites: Completion of all Area F requirements with a grade of B or better and permission of the instructor. This course affords interested junior and senior students an opportunity to participate in a basic research experience with a member of the department faculty.

1-4