![]() |
Catalog 2011-2012
Table of Contents
|
Traditional Students Computer Science (COSC) Department of Mathematics and Computer Science COSC 1101 Personal Computer Applications This is a proficiency course in how to use an office applications suite on a personal computer, including a word processor, a spreadsheet, a database system, and a presentation system. Proficiency is established either by passing a test or completing the course. Half of semester. Satisfactory/Unsatisfactory grade. Lab 3. COSC 1303 Computer Science I An introduction to the field of computer science. Problem solving strategies, basic data structures, and an introduction to algorithms in the context of a modern programming language, currently C++. A first course in programming with emphasis on scientific and engineering applications. Class 2. Lab 1. COSC 2103 Computer Science II A second semester study of computing principles. Abstract data types, asymptotic analysis of algorithms, sorting and searching, and introduction to the software life cycle models. Students hone their program solving skills in the computer labs implementing extended data structures. Class 3. Prerequisite: COSC 1303 or consent of instructor. COSC 2203 Data Structures A second-year course in data structures and algorithms. Topics include the appropriate choice of data structures, recursive algorithms, complexity issues, issues associated with computability and decidability, intractable problems, such as those found in artificial intelligence, and an introduction to run-time storage management. Class 3. Prerequisites: COSC 2103 and MATH 1803. COSC 3023 Information Systems An overview of the five components of modern computerized information systems: hardware, software, procedures, people, and data. A study of existing systems and the strategic roles they play in business. An introduction to business data processing using COBOL. Basic file organization and handling, record layout, and elementary information storage and retrieval necessary to implement sample business process support. Class 3. Prerequisite: COSC 1303. (Spring) COSC 3303 Computer Architecture A study of design alternatives in computer architecture. Topics include machine organization, memory subsystem organization, interfacing concepts, issues that arise in managing communication with the processor, and alternative computer architectures. Assembly language is studied and used to implement a variety of small programs. Class 3. Prerequisites: COSC 2203 and either EEGR 3213 or EETC 3213. (Spring) COSC 3403 Software Systems Problem solving strategies and concepts applied in the context of issues associated with the design and implementation of software systems. Students gain an appreciation for intractable problems as well as an exposure to concurrent systems. Levels of abstraction are emphasized in data modeling, mapping to storage structures, and user interfaces. Students spend a large portion of their time in design and implementation of small and medium sized software systems, and in gaining experience with various environments. Class 3. Prerequisite: COSC 2203. (Spring) COSC 3453 Internet Based Systems Development An introduction to Web programming techniques including client-side applications and design using HTML, DHTML, SML, and Java-script. Web security and ethical considerations will be discussed. Advanced topics will include Web development technologies for interfacing client-side applications with server-side scripting languages. Class 3. Prerequisite: COSC 3403. (Fall) COSC 3503 Operating Systems A study of operating systems, including process management, device management, and memory management. Other issues relevant to operating systems such as security and protection, networking, and distributed operating systems. Class 3. Prerequisite: COSC 2203. (Spring) COSC 3523 Analysis Of Algorithms The analysis, design, and implementation of algorithms. Topics include specific algorithms for searching, sorting, set operations, and graph theory; and a survey of wicked problems, NP- completeness, and intractable problems. Included are both empirical and theoretical measures of the space and time efficiency and the correctness of algorithms. Class 3. Prerequisite: COSC 2203. (Fall) COSC 3603 Networks And Data Communications Basic hardware/software architectural components for computer communications; computer networks, switching, routing, protocols, error detection and recovery, traffic control, and security; ISO OSI structure; TCP/IP protocol suite; topologies and medias of LANs, MANs, and WANs; case studies of existing networks and network architectures. Class 3. Prerequisite: COSC 2203. (Fall) COSC 4103 Computer Graphics A combined study of computerized visualization techniques and image enhancement methodologies, which includes three dimensional issues of modeling transformations, viewing, visible-surface detection, illumination, and surface-rendering approaches along with computer animation. Class 3. Prerequisites: COSC 1303 and either MATH 1603 or MATH 1903. (Fall) COSC 4153 Programming Languages A survey of language classes, such as imperative, functional, logic, concurrent and object- oriented paradigms, as well as their run-time structures. The student will gain experience writing programs in a variety of languages and develop an appreciation of the strengths and weaknesses of each language. Includes historical precedents and current trends in design and philosophy of languages. Formal approaches to defining the syntax and semantics are used to describe the fundamental concepts underlying programming languages. Class 3. Prerequisite: COSC 2103. (Spring) COSC 4203 Database Management A study of data modeling, relational databases, normalizing techniques, query languages, managerial aspects of database administration, and trends in database administration. Programming is done in a 4GL language. Class 3. Prerequisite: COSC 2103. (Fall) COSC 4303 Software Engineering A comprehensive study and application of software engineering. The design and implementation of software systems. An emphasis on problem solving concepts is integrated with a treatment of the software life cycle, requirements specifications, and verification and validation issues. Social and ethical issues faced by software engineers. Considerable exposure to the design and implementation of a major software project. Class 3. Prerequisite: COSC 3403. (Fall) COSC 4403 Advanced Information Systems A comprehensive study and application of information system analysis and implementation. Includes social and ethical issues faced by IS professionals with considerable exposure to the analysis, design, and implementation of an information systems project. Class 3. Prerequisite: COSC 3403. (Fall) COSC 4453 Artificial Intelligence An introduction to the field of artificial intelligence studying basic techniques such as heuristic search, deduction, learning, problem solving, knowledge representation, uncertainty reasoning, and symbolic programming languages such as LISP. Application areas may include intelligent agents, data mining, natural language, machine vision, planning, and expert systems. Class 3. Prerequisite: COSC 2203. (Spring, Even years) COSC 4503 Program Translation A study of language design and translation, including the various types of compilers, support mechanisms for access and storage of translation data, expressions and variables scope, lifetime, visibility and overloading mechanisms, and the phases of program translation. Class 3. Prerequisites: COSC 3303 and COSC 3403. (Spring) COSC 4603 Computer Theory A study of the computational and linguistic theory on which the field of computer science is based. Topics include finite state automata, context-free grammars, push-down automata, LL(1) and LR(1) parsing, Turing machines, undecidability, computability and complexity theory, formal methods of program specifications, and program verification. Class 3. Prerequisites: COSC 2203 and MATH 1803. (Spring) COSC 4901-4903 Project/Internship in Computing Students may work at an internship in a business, a non-profit organization, or an on-campus research or design project, under the supervision of a computing professional. Students are required to apply their skills in a real-world setting. Class 1-3. Prerequisites: COSC 3403 and departmental approval. (On Demand) COSC 4941-4993 Special Topics This course consists of one or more topics from current areas in computer science. This would include topics such as artificial intelligence, object oriented programming, a study of one or more higher level programming languages, computer vision, distributed processing, client-server systems, or automata theory. This course may be taken more than one time when the topics are different. Class 1-3. Prerequisites: COSC 1303 and consent of instructor. | ||||||