Undergraduate Catalog 2015-2016

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.

3

CSCI 1302 Computer Science II

Prerequisite: C or better in CSCI 1301. 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.�

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.

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 3211 Assem Lang & Digital Logic Dsg

Prerequisite: CSCI 1302. 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. Corequisite CSCI 3410. This course is non-repeatable.

3

CSCI 3212 Computer Organization & Archit

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 3410. 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 System & Network Programming

Prerequisite: C or better in CSCI 3410. This course is a continuation of CSCI 3341 and is a study 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 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 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 3410 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 Programming 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 2680 and CSCI 3410. 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 4800 Parallel & Distributed Comp

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

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: Permission of the instructor. Selected topics not available in other departmental courses.

1 - 4

CSCI 4960 Internship and/or Cooperative

Prerequisite: CSCI 3410 with grade of C or better or 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 - 15

CSCI 4999 Undergraduate Research

Prerequisites: Completion of all Area F computer science 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