Courses: Computer Science (COSC)College: Natural Sciences & Mathematics

Any TCCN equivalents are indicated in square brackets [ ].

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.

· alert ·
Effective through end of Summer 2013:

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.

· alert ·
Effective through end of Summer 2013:

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 Science and Programming
Cr. 3. (3-0). Prerequisite: credit for or concurrent enrollment in MATH 1431. May not be applied to a major or minor in computer science. This course combines an overview of basic hardware and software concepts of a computer with design, analysis, and programming of efficient algorithms to solve computational problems.

COSC 1320: Introduction to Computer Science II
[TCCN—COSC 1437]
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
[TCCN—COSC 1436]
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
[TCCN—COSC 2436]
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
[TCCN—COSC 2425]
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
Cr. 3. (3-0). Prerequisite: COSC 3380. DHTML, CSS, CGI, JavaScript, server side programming paradigm, XML and transformation, Web services, Service Oriented Architecture.

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 3330: Computer Architecture (formerly COSC 3430)
Cr. 3 . (3-0). Prerequisite: COSC 2410 . Logic design, principles of operation of digital computers, and analysis of its major components: arithmetic processing, memory, control and input/output units, instruction pipelining, SIMD and multiprocessor systems.

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 3361: Numerical Methods I
Cr. 3. (3-0). Prerequisites: COSC 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 1410 and MATH 2331. Numerical solutions of problems in linear algebra; systems of linear equations, matrix inversion, and eigen-value problems.

COSC 3396: Senior Research Project
Cr. 3 per semester. Prerequisite: approval of department chair. Directed research project culminating in a departmentally approved report. COSC 3396 and COSC 4396 must be satisfied in order for any to apply to a degree.

COSC 3399: Senior Honors Thesis
Cr. 3 per semester. Prerequisite: approval of department chair. COSC 3399 and COSC 4399 must be satisfied in order for any to apply to a degree.

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 4198: Independent Study
Cr. 1 per semester, or more by concurrent enrollment. Prerequisite: approval of department chair.

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 4298: Independent Study
Cr. 2 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). Prerequisite: COSC 2320. Discussion and comparison of basic programming styles; their underlying paradigms and languages based on these paradigms; such as imperative programming, functional programming, logic programming, and object-oriented programming.

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 3330. 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.

COSC 4332: Medical Robotics & Image Guided Interventions
Cr. 3. (3-0). Prerequisite: senior standing in Computer Science or consent of instructor. Basics of medical robotics as used in image guided interventions and surgeries. Includes robot registration, sensing, kinematics, safety and control, augmented reality, and tele-surgeries.

COSC 4333: Healthcare Informatics
Cr. 3. (3-0). Prerequisite: senior standing in Computer Science or consent of instructor. Basics of information technology in medicine. Interdisciplinary approach geared towards medical doctors and computer scientists to understand computational surgery and its conceptual and technical components.

COSC 4335: Data Mining
Cr. 3. (3-0). Prerequisite: COSC 3380 and MATH 3336. Data mining overview, data quality, data preprocessing, OLAP, and statistics on one variable; techniques: classification, regression, clustering, dimensionality reduction, association rules; scoring, postprocessing, and data mining case studies.

COSC 4348: Introduction to Game Art & Animation
Cr. 3. (3-0). Prerequisite: consent of instructor. Video game concept arts and computer animation. Modeling game assets and animation using the latest game software and hardware.

COSC 4349: Intermediate Game Art & Animation
Cr. 3. (3-0). Prerequisite: COSC 4348 or consent of instructor. Intermediate video game concept arts and computer animation. Advanced topics of modeling game assets and animation, using the latest game software and hardware.

· alert ·
Effective beginning Fall 2013 (see also listing below):

COSC 4351: Fundamentals of Software Engineering
Cr. 3. (3-0). Prerequisites: COSC 3320 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.

· alert ·
Effective through end of Summer 2013 (see also listing above):

COSC 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 4353: Software Design (formerly COSC 3351)
Cr. 3. (3-0). Prerequisites: COSC 3320 and 4351. Object-oriented paradigm, classes, object relationship, software architecture, use-case analysis, object modeling technique, design metrics, software development patterns, practices, and principles.

COSC 4354: Software Development Practices (formerly COSC 4352)
Cr. 3. (3-0). Prerequisites: COSC 4353 or approval of instructor. 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 4355: Introduction to Ubiquitous Computing
Cr.3. (3-0). Prerequisite: COSC 4353. Introduction to software development for ubiquitous devices such as PDAs and cell phones.

COSC 4358: Introduction to Interactive Game Development
Cr. 3. (3-0). Prerequisite: COSC 3320. Team development of interactive video games on state-of-the-art devices.

COSC 4359: Intermediate Interactive Game Development
Cr. 3. (3-0). Prerequisite: COSC 4358 and 4370. Continuation of the introduction to Interactive Game Development. Advanced theories and practices in game development.

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.

· new ·
Effective beginning Fall 2013:

COSC 4364: Numerical Methods
Cr. 3. (3-0). Prerequisites: COSC 2320 and MATH 2331, and 3338. Programming numerical solution of problems in linear algebra; system of linear equations, matrix inversion, and Eigenvalue problems, solution of equations, polynomial approximations, and initial value problems of ordinary differential equations. Credit towards a degree may not be earned for both COSC 4364 and either of COSC 3361 or 3362.

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 4372: Fundamentals of Medical Imaging
Cr. 3. (3-0). Prerequisite: senior standing in Computer Science or consent of instructor. Medical imaging modalities; principles, data collection, and image reconstruction. X-rays, CT, ultrasound, and MRI. Simulations of image generation.

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 4396: Senior Research Project
Cr. 3 per semester. Prerequisites: COSC 3396 and approval of department chair. Directed research project culminating in a departmentally approved report. COSC 3396 and COSC 4396 must be satisfied in order for any to apply to a degree.

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.

COSC 4398: Independent Study
Cr. 3 per semester, or more by concurrent enrollment. Prerequisite: approval of department chair.

COSC 4399: Senior Honors Thesis
Cr. 3 per semester. Prerequisites: COSC 3399 and approval of department chair. COSC 3399 and COSC 4399 must be satisfied in order for any to apply to a degree.

COSC 4498: Independent Study
Cr. 4 per semester, or more by concurrent enrollment. Prerequisite: approval of department chair.

return to top

Catalog Publish Date: August 22, 2012
This Page Last Updated: April 11, 2013