COSC 1300: Introduction to Computing
Cr. 3. (2-3). May not be used to satisfy any computer science degree requirement. An introduction to computing with emphasis on the practical usage of personal computers; concepts of recorded programs, computer organization, operating systems, mainframes, minicomputers, and personal computer; selected applications of personal computers; word processing, databases, and spreadsheets; societal impact of computers.
COSC 1301: Fortran Programming
Cr. 3. (2-3). Prerequisite: MATH 1310 or equivalent. Students may apply only one of the following toward a degree: COSC 1301 or 2101. Introduction to Fortran, techniques for designing Fortran programs, programming in Fortran. No programming experience necessary.
COSC 1302: COBOL Programming
Cr. 3. (3-0). Prerequisite: MATH 1310 or equivalent. Computer organization and systems software, techniques for designing COBOL programs, programming in COBOL.
COSC 1304: C Programming
Cr. 3. (3-0). Prerequisite: MATH 1310 or equivalent. Computer organization and systems software, techniques for designing C language programs, programming in C language.
COSC 1305: C++ Programming
Cr. 3. (3-0). Prerequisite: COSC 1304. Object-oriented programming in the C++ programming language.
COSC 1306: Computer Literacy for Science Majors
Cr. 3. (3-0). Prerequisite: credit for or concurrent enrollment in MATH 1431. For students majoring in the sciences, engineering and other technical disciplines. May not be applied to major or minor in computer science. Topics relevant to the use of computers by students in technical disciplines: concepts of computer architecture, operating systems, programming languages and compilers, cross-platform issues, electronic publication, digital media, internet basic and emerging technology literacy.
COSC 1320: Introduction to Computer Science II
Cr. 3. (3-0). Prerequisite: COSC 1410. Object-oriented programming, elementary data structures, and the C++ programming language. Introduction to other languages and GUI programming.
COSC 1410: Introduction to Computer Science I
Cr. 4. (3-3). Prerequisite: credit for or concurrent enrollment in MATH 1431. Computer organization, structured procedural programming, C/C++ programming language, algorithm design, and a short introduction to object-oriented programming.
COSC 2101: Fortran for Science Majors
Cr. 1. (1-0). Prerequisite: COSC 1410. Students may apply toward a degree only one of COSC 2101 or1301. Accelerated introduction to programming Fortran, techniques in Fortran program design, algorithm development.
COSC 2320: Data Structures
Cr. 3. (3-0). Prerequisite: COSC 1320. Introduction to various data structures (stacks, queues, lists, hash tables, trees, heaps, and graphs); sorting and searching; design, analysis, and comparison of algorithms.
COSC 2410: Computer Organization and Programming
Cr. 4. (3-3). Prerequisite: COSC 1410. Basic computer organization; machine execution cycle, digital representation of data and instructions, assembly language programming, assembler, loader, macros, subroutines, program linkage, memory hierarchy, DRAM, SRAM, cache.
COSC 3319: Web Development
COSC 3320: Algorithms and Data Structures
Cr. 3. (3-0). Prerequisite: COSC 2320. Data structures and algorithms for manipulating them. Algorithm analysis and design, heuristics; advanced tree structures; advanced hashing techniques; sorting and searching; graphs, sets. NP-Completeness, Time and Space complexities.
COSC 3430: Computer Architecture (formerly COSC 3330)
Cr. 4. (3-3). Prerequisites: COSC 2410 and MATH 3336. Logic design, principles of operation of digital computer and analysis of its major components: arithmetic, memory, control and input/output units, instruction pipelining, SIMD and multiprocessor systems; lab simulation of architecture.
COSC 3340: Introduction to Automata and Computability
Cr. 3. (3-0). Prerequisites: MATH 3336 and COSC 2320. Introduction to automata theory (finite-state automata, push-down automata, Turing machines); formal systems (regular and context-free languages and grammars); computability, Church-Turing thesis.
COSC 3351: Software Design
Cr. 3. (3-0). Prerequisite: COSC 3320. Object-oriented paradigm, classes, object relationship, software architecture, use-case analysis, object modeling technique, design metrics, software development patterns, practices, and principles.
COSC 3361: Numerical Methods I
Cr. 3. (3-0). Prerequisites: COSC 1301 or 1410, and MATH 3331. Solution of equations, polynomial approximations, initial value problems of ordinary differential equations.
COSC 3362: Numerical Methods II
Cr. 3. (3-0). Prerequisites: COSC 1301, 1410, or 2101, and MATH 2331. Numerical solutions of problems in linear algebra; systems of linear equations, matrix inversion, and eigen-value problems.
COSC 3396-4396: Senior Research Project
Cr. 3 per semester. Prerequisite: approval of department chair. Directed research project culminating in a departmentally approved report.
COSC 3399-4399: Senior Honors Thesis
Cr. 3 per semester. Prerequisite: approval of department chair.
COSC 3410: Digital Logic Design
Cr. 4. (3-3). Prerequisite: COSC 2410. Introduction to digital logic design. Digital data representation systems. Binary logic and Boolean algebra. Analysis and synthesis of combinational and sequential circuits. Commonly used integrated circuits and digital components.
COSC 3380: Design of File and Database Systems (formerly COSC 3480)
Cr. 3. (3-0). Prerequisites: MATH 3336 and COSC 2320. Credit may not be received for both COSC 3480 and 3380. Techniques for file organizations on secondary storage, performance, design, and management of large integrated databases, data models, query languages.
COSC 4211: Computer Scientists and Society (formerly COSC 4111)
Cr. 2. (2-0). Prerequisites: COSC 4330 and successful completion of the university core curriculum. Issues of professional responsibility and ethics related to the use of computer technology in complex modern working environments. Emphasis and evaluation on technical writing.
COSC 4198:4298:4398:4498: Special Problems
Cr. 1-4 per semester, or more by concurrent enrollment. Prerequisite: approval of department chair.
COSC 4310: Structure of Programming Languages and Compilers
Cr. 3. (3-0). Prerequisites: COSC 2320, 2410, and 3340. Introduction to compilation and topics in programming languages.
COSC 4315: Programming Languages and Paradigms
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3336. Discussion and comparison of basic programming styles and their underlying paradigms, such as imperative programming, functional programming, logic programming, and object-oriented programming. Study of languages based on these paradigms.
COSC 4319: Distributed Object Computing
Cr. 3. (3-0). Prerequisite: COSC 1320. Distributed object computing, interface-based programming, interface definition language, process-remote architecture, marshalling, application deployment, exceptions, security, dynamic invocation interface, and current standards.
COSC 4330: Fundamentals of Operating Systems
Cr. 3. (3-0). Prerequisites: COSC 2320 and 3430. Purpose of an operating system; sequential processes, concurrent processes, deadlock, mutual exclusion, semaphores; memory management, processor management, peripheral device management.
COSC 4331: Real-Time Systems and Embedded Programming
Cr. 3. (3-0). Prerequisite: COSC 4330. Introduction to real-time and embedded systems; scheduling; programming language and operating systems; support; formal specification, analysis, and verification; embedded programming; power-aware computing.
· new ·
Effective beginning Fall 2008:
COSC 4335: Introduction to Ubiquitous Computing
Cr. 3. (3-0). Prerequisite: consent of instructor. Introduction to software development for ubiquitous devices such as PDAs and cell phones.
4351: Fundamentals of Software Engineering
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3336. Introduction to the concepts of software engineering. Identification of problems related to the development of large software systems. Software project planning, requirements analysis, design, implementation, quality assurance and maintenance.
COSC 4352: Software Development Practices
Cr. 3. (3-0). Prerequisites: COSC 3351 and COSC 4351. Pragmatics of software development, hands-on iterative, incremental, and agile software development team project with emphasis on use of state of the art tools, techniques, principles, and better practices.
COSC 4353: Advances in Software Development
Cr. 3. (3-0). Prerequisites: COSC 2320 and credit for or concurrent enrollment in COSC 3380. Advances in software development.
· new ·
Effective beginning Fall 2008:
COSC 4358: Introduction to Interactive Game Development
Cr. 3. (3-0). Prerequisite: COSC 4370. Team development of interactive video games on state-of-the-art devices.
COSC 4360: Modeling and Computer Simulation
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3339. Mathematical modeling and computer simulation for predicting the behavior of complex systems.
COSC 4361: Window Systems in a Network Environment
Cr. 3. (3-0). Prerequisites: MATH 2433, knowledge of UNIX and C. Development of engineering, scientific or systems applications using vendor-independent and network-independent window systems; client-server model; event-driven programming, X-windows, X-protocol, Xlib, X-Toolkit, User Graphics Interfaces.
COSC 4368: Artificial Intelligence Programming
Cr. 3. (3-0). Prerequisite: COSC 2320. The programming language LISP with an emphasis on its use in writing typical artificial intelligence programs.
COSC 4370: Interactive Computer Graphics
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 2331, or consent of instructor. Introduction to graphics hardware and software; interactive systems to display three-dimensional objects; display and input devices; and alternative algorithms, system configuration, and design trade-offs. Term project required.
COSC 4371: Web Security
Cr. 3. (3-0). Prerequisite: COSC 4330. Introduction to security and integrity of information including cryptographic techniques, authentication and water marking of multimedia content. Various aspects of Web security involving attacks on data and software, including viruses, worms, and denial-of-service. Remote administration of computing resources; Security concerns inherent in wireless networks.
COSC 4377: Introduction to Computer Networks
Cr. 3. (3-0). Prerequisites: COSC 2320 and COSC 2410. Data communications; network protocols and architecture; local and wide-area networks; internetworking.
COSC 4380: Algorithm Analysis and Design
Cr. 3. (3-0). Prerequisite: COSC 2320. Techniques for algorithm analysis and design; introduction to NP completeness.
COSC 4390: Introduction to Internet Computing
Cr. 3. (3-0). Prerequisite: COSC 2320 or consent of instructor. Introduction to Internet, including client/server computing, www, http and cgi; Java programming including object-oriented computing, applets, abstract windowing toolkit, threads, event handling and network programming.
COSC 4392: Multimedia Programming
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 3338. Programming of pocket PCs, digital cameras, and serial devices.
COSC 4393: Introduction to Digital Image Processing
Cr. 3. (3-0). Prerequisites: MATH 3338 and 3339. Essential concepts of digital image processing, image acquisition and processing, practical applications, and elementary image analysis algorithms.
COSC 4397: Selected Topics in Computer Science
Cr. 3. (3-0). Prerequisites: advanced standing and consent of instructor. Selected topics in major areas of computer science not covered in detail in any of the courses in the regular computer science program. May be repeated for credit with approval of department chair.
For graduate-level course descriptions,
please see the graduate catalog:
Last updated: Monday, March 31, 2008 - 11:00 AM