COMPUTER SCIENCE
Arts and Sciences
COSC A106 Microcomputers and Productivity 3 crs.
This course will investigate the microcomputer and the impact of its powerful tools upon the way humans work. The student will examine and use word processors, graphic construction tools, spreadsheet applications, databases, and presentation tools. Emphasis will be placed upon exploring the ways that such tools change the way that people work and think.
COSC A111 Introduction to the Internet 3 crs.
This course introduces a new range of worldwide information networks using the latest advances in telecommunication systems, applications software, and computer equipment. It provides students with a working knowledge of the Internet and its World Wide Web as well as electronic mail, list servers, computer bulletin boards, and local area networks.
COSC A114 Multimedia and Information Technology 3 crs.
This course introduces computer concepts within a framework of multimedia application packages. Software packages used for presentation and interactive demonstration are studied. Emphasis is on computer science topics, such as software development. Elementary programming concepts (branching, loops, code encapsulation, actions, etc.) are also introduced.
COSC A119 Introduction to Computer Science 3 crs.
This course introduces concepts within a framework of worldwide information network software and multimedia application packages. Computer science topics, such as software development, design, maintenance issues, documentation, and elementary programming concepts, are introduced. Networks, the Internet and its World Wide Web, multimedia and applications, and several software tools will be introduced in order to promote a better understanding of the basic concepts.
COSC A211 CS1: Introduction to Computer Science and Visual Programming I 3 crs.
This course discusses concepts and terminology of visual programming, including interface builders and visual tools; problem-solving within the context of a visual programming environment; and rudiments of software development, analysis, and design; with human-computer interaction.
Prerequisites: COSC A119, COSC A111, or COSC A114. Prerequisite may be waived with departmental approval.
COSC A212 CS2: Introduction to Computer Science and Visual Programming II 3 crs.
This course is a continuation of concepts and terminology of visual programming and interface builders; object-oriented programming; window control behavior; even-driven programs; more thorough treatment of software development concepts; data structures including records and arrays; abstract data types of stacks, queues, lists, trees, etc.
Prerequisite: COSC A211.
COSC A216 Fundamentals of Software Development 3 crs.
This course is an introduction to the fundamentals of software development. A particular focus will be on the object-oriented paradigm. Procedural abstractions, data abstraction, and complex data structures are covered within the context of the OO paradigm. The major phases of software development are discussed, with emphasis on design.
Prerequisite: COSC A212.
COSC A270 Introduction to Visual Databases 3 crs.
This course discusses concepts and terminology of databases, survey and use of database tools, file systems, sequential and direct data organization, analysis and design models, relational and other data models, database interface components, and multiparadigm data processing.
Prerequisites: COSC A211, MATH A204. The COSC A211 prerequisite may be changed to co-requisite with departmental approval.
COSC A280 Introduction to Computer Graphics 3 crs.
This course serves as an introduction to basic computer graphics concepts. Topics include graphics algorithms, and 2D and 3d graphics. Basic programming idease.g., incremental design and abstractionare covered. Mathematics will not be emphasized, but a rigorous approach will be adopted.
Prerequisites: COSC A212, MATH A204. The COSC A212 prerequisite may be changed to co-requisite with departmental approval.
COSC A315 Computer Organization 3 crs.
This course introduces the topics of digital logic, digital systems, machine level representation of data, assembly level machine organization, memory system organization, I/O, and communication.
Prerequisite: COSC A216.
COSC A316 Data Structures 3 crs.
The course will illustrate the most important data structures used in computer science in theory and practice: stacks, queues, lists, trees, and graphs.
Prerequisites: COSC A216 and MATH A270.
COSC A319 Internet Technologies 3 crs.
This course discusses the concepts and technologies used in modern Internet systems, and provide the necessary skills and knowledge of software technologies needed for creating Internet services.
Prerequisites: COSC A119.
COSC A361 Languages and Paradigms 3 crs.
This course is a survey of languages and paradigms. Topics include parameters, data types, abstract data types, storage issues, static/dynamic attributes, and software abstractions. Emphasis is on the procedural paradigm with introduction and comparison to the object-oriented paradigm, the logic paradigm, and other paradigms.
Prerequisites: COSC A216, MATH A270.
COSC A363 Algorithms and Software Development 3 crs.
This course discusses programming techniques and design and analysis of algorithms. Object-oriented language is introduced. Topics include the basic concepts of program design, including modularity, cohesion, and coupling; sorting; searching; tree and graph algorithms; big-O notation; and space-time trade-offs.
Prerequisites: COSC A216, MATH A270.
COSC A365 Operating Systems 3 crs.
This course introduces students to computer hardware organization and operating system concepts. It will provide students with a working knowledge of digital logic, registers, machine and assembly languages, computer architecture (storage structures, I/O, protection, etc.) process management, storage management, and distributed systems.
Prerequisite: COSC A216.
COSC A370 Computation and Automata 3 crs.
This course introduces abstract machines (computing devices that are specified on paper and not necessarily realized as some mechanical or electronic device). Essential properties of existing computer systems provide the framework for the presentation of the abstract machines.
Prerequisites: COSC A361, MATH A270.
COSC A375 Numerical Algorithms 3 crs.
This course develops the computational procedures which are fundamental to numeric applications. The student will study error analysis, numerical solutions of polynomial and transcendental equations, systems of linear equations using iterative methods, polynomial interpolation, quadrature, evaluation of functions, and curve fitting.
Prerequisite: COSC A212.
Co-requisite: MATH A258.
COSC A405 Artificial Intelligence 3 crs.
This course teaches the fundamentals of artificial intelligence, including problem solving techniques, search, heuristic methods, and knowledge representation. Topics include ALL programming, expert systems, and an introduction to natural language processing.
Prerequisite: COSC A361.
COSC A425 Computer Graphics 3 crs.
This course introduces technology and techniques of computer graphics. Various graphic hardware devices will be surveyed as will graphic software support. The student will design and implement programs to produce graphic display, both statistical and dynamic, with real time interaction. Three-dimensional perspective transformations will be explored.
Prerequisites: COSC A280, A361.
COSC A430 Database Management Systems 3 crs.
This course studies different database management system architectures, security and integrity, storage structures, data models and submodels, access controls, and data sharing.
Prerequisites: COSC A270, any of A361, A363, or A365.
COSC A451 Software Engineering 3 crs.
This course introduces advanced techniques of large-scale, complex software systems development. Techniques to automate the analysis specification, design, implementation, and texting of software systems will be examined. For information-intensive systems, students will build, revise, store, and maintain complex data models.
Prerequisites: COSC A270, A361.
COSC A455 Compilers and Interpreters 3 crs.
This course is an in-depth study of the principles and design aspects of programming language translation. Major components of a compiler are discussed including lexical analysis, syntactic analysis, type checking, code generation, and optimization. Alternate parsing strategies (e.g., top-down, LR, recursive descent) are presented.
Prerequisites: COSC A361, MATH A270.
COSC A465 Computer Architecture 3 crs.
This course teaches the important concepts in computer system hardware design. Topics include design models including the register transfer level model, instruction set processor model, and processor memory switch model along with information theory, queuing theory, and performance evaluation techniques.
Prerequisite: COSC A365.
COSC A470 Communication Systems and Networks 3 crs.
This course examines the problem of data communication and various hardware and software systems that achieve it. Topics include asynchronous and synchronous communications, modem, simplex and duplex systems, and local area networks.
Prerequisite: COSC A365.
COSC A475 Advanced Programming Language Concepts 3 crs.
This course examines advanced topics in programming languages. Included will be an introduction to alternate programming paradigms (object-oriented, functional, and logical) and languages and the comparisons of these to procedural languages. In addition, concurrency and parallel constructs will be introduced.
Prerequisite: COSC A361.
COSC A493 Special Topics in Computer Science 3 crs.
As need or interest arises, courses will be provided under this number to add further breadth to the computer science students degree program.
COSC A495 Special Project arr.
This course focuses on the creative or productive efforts of one or more students. A special project is distinguished from a research project in its lack of the historical or experimental method and perspective characteristics of research.
COSC A496 Seminar/Workshop arr.
A seminar is a supervised group of students sharing the results of their research on a common topic. A workshop is a supervised group of students participating in a common effort.
COSC A498 Research Project arr.
This project focuses on empirical or historical investigation, culminating in a written report.
COSC A499 Independent Study arr.
COSC Z132 The Computer Impact 3 crs.
Common Curriculum: Natural Sciences Modern
This course provides students with the basic knowledge to understand computer information technology and, more importantly, to understand the impact of this technology and its ethical implications on the individual, organizations, and society. Computer programming will not be required; however, students will use the Internet for writing papers. Students will also design Internet presentations.