Computer Science (COSC)

COSC 1436. Programming Fundamentals I. 4 Hours.

This course is an introduction to programming. Topics include fundamental concepts of computer programming and software development methodology, including data types, control structures, functions, arrays, and the mechanics of programming running, testing, and debugging. The development of procedures and the writing and testing of programs to implement them are emphasized. This course includes a 2-hour lab-based component. This course assumes a general familiarity with computers.
Prerequisite: Grade of C or better in MATH 1410, MATH 1314, or MATH 1316, basic keyboarding, and PC skills.

COSC 1437. Programming Fundamentals II. 4 Hours.

This course is a continuation of COSC 1436 and emphasizes the relationships between the data objects in computer programs. The use of control structures and data types is reviewed, with emphasis on structured data types. An object-oriented programming paradigm is used, focusing on the definition and use of classes along with the fundamentals of object-oriented design. The course includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering. This course includes a 2-hour lab-based component.
Prerequisite: COSC 1436.

COSC 2327. Intro to Computer Networks. 3 Hours.

Installation, usage, and management of computer hardware and operating systems for business. Topics include scripting, macros, intelligent agents. Installation and management of networks, the Internet, and communications software is covered.
Prerequisite: COSC 1436.

COSC 2329. Comp Organiz & Machine Lang. 3 Hours.

An introduction to instruction set architectures, emphasizing central processor organization and operations. Specific topics include data representations, register architectures, addressing modes, the fetch/ execute cycle; interrupts, subprogram calls, I/O services, digital logic gates and basic Boolean algebra, and sequential and combinational circuits. Programs will be assigned in a representative assembly language to explore these areas.
Prerequisite: COSC 1437 (may be taken concurrently).

COSC 2340. Special Topics in Computer Sci. 3 Hours.

Topics and courses are selected to suit individual needs of students. The course may be repeated for additional credit as long a different topic is covered.
Prerequisite: COSC 1436.

COSC 2347. Special Topics/Programming. 3 Hours.

In-depth study of a programming language used to implement information systems. Real time components, visual techniques, and artificial intelligence will be utilized as appropriate. This course may be repeated for credit with the approval of the undergraduate advisor. A different language must be covered to receive approval for repeat credit.
Prerequisite: COSC 1437.

COSC 3312. Numerical Methods. 3 Hours.

This course develops the concepts underlying the use of the computer for interpolation, approximations, solutions of equations and the solution of both linear and nonlinear systems equations. Mathematical software and/or user written programs are utilized. Also offered as MATH 3394.
Prerequisite: COSC 1436 and MATH 1430 or consent of instructor.

COSC 3317. Game Programming and Design. 3 Hours.

This course is an introduction to game programming. Topics covered include: different game genres; issues in game programming; storyboarding; etc. This course covers the basic elements of 2D games. This course is designed to give a strong introduction to the basics of game programming: graphics, sound, and input.
Prerequisite: COSC 2329.

COSC 3318. Data Base Management Systems. 3 Hours.

This course emphasizes the design of information systems using database software and query language/programming interfaces. Data warehouse concepts are introduced. Legacy systems, LAN and distributed systems based systems are used to give the student hands-on experience in systems development.
Prerequisite: COSC 1437 .

COSC 3319. Data Structures and Algorithms. 3 Hours.

Introductory treatments of such topics as orthogonal lists, strings, arrays, linked lists, multilinked structures, indexed and direct files, and generalized data management and database management systems.
Prerequisite: COSC 1437 or MATH 1430.

COSC 3321. Digital System Design. 3 Hours.

This course is an introduction to Boolean Algebra and graph theory with emphasis on their applications in the design of digital computer software and hardware. Logic systems are designed and analyzed.

COSC 3327. Computer Architecture. 3 Hours.

This course is a continuation of COSC 2329, exploring computer organization and architectures in more depth and breadth. Specific topics include milestones in the philosophy of computer design, Karnaugh maps for circuit minimization, memory types and organization, caching, pipelining, micro-architectures, parallel architectures, I/O devices, buses and bus protocols. Throughout the course, physical and performance considerations will be stressed along with the hardware's interaction with operating systems.
Prerequisite: COSC 2329.

COSC 3331. Human-Computer Interaction. 3 Hours.

This course presents a comprehensive introduction to the principles and techniques of human-computer interaction. The course examines the event-driven model through the development of applications utilizing graphical design environments and the use of rapid application prototyping to explore a variety of techniques for HCI, particularly in relation to mobile and other non-traditional devices.
Prerequisite: COSC 1437.

COSC 3332. Game Programming and Design. 3 Hours.

(Prior Course ID: CS 378); This course allows those students who desire to learn more about game programming to apply what they have learned in their foundation courses in that area. Gaming is a compelling way to motivate students to learn challenging technical concepts such as programming, software engineering, algorithms, and project management.
Prerequisite: COSC 2329.

COSC 3337. Infor Sys Design & Management. 3 Hours.

This is a course in the design and implementation of large-scale file and persistent object-based information systems. Client/server systems are covered.
Prerequisite: COSC 2347.

COSC 4149. Seminar in Computer Science. 1 Hour.

Students in this course learn fundamental ideas of emerging technologies and their real-life applications in ever-evolving software and hardware computing environments. The content of the course may vary from semester to semester, but will include current trends, issues, and professional skills.
Prerequisite: Senior standing in Computer Science.

COSC 4314. Data Mining. 3 Hours.

This course provides an introduction to the newly-emerging field of data mining. Data mining is concerned with the automatic extraction of novel information and knowledge from large amounts of data in practical real world problems. Topics will include fundamental concepts, data preparation and feature selection, standard data mining algorithms (including but not limited to association, classification, clustering, and prediction), and applications and evaluation of data mining techniques.
Prerequisite: COSC 3318 and COSC 3319.

COSC 4316. Compiler Design & Construction. 3 Hours.

This course deals with the design and implementation of assemblers, interpreters and compilers. Topics include symbol tables, lexical scanning, syntactic analysis, object code generation and storage allocation. Programming assignments will involve implementation of functional components of a translator.
Prerequisite: COSC 2329 and COSC 3319.

COSC 4318. Advanced Language Concepts. 3 Hours.

This course emphasizes programming languages which support the Object-Oriented Programming (OOP) paradigm. Programming assignments are used to illustrate the features and weaknesses of the language and to develop the studentís proficiency in the use of OOP technology.
Prerequisite: 3 advanced hours of COSC.

COSC 4319. Software Engineering. 3 Hours.

This course is an introduction to formal methods of specifying, designing, implementing and testing software for large programming projects. Methods of estimating and predicting reliability are discussed.
Prerequisite: 6 advanced hours of COSC and COSC 3318.

COSC 4320. System Modeling and Simulation. 3 Hours.

This is an introduction to modeling and simulation for analysis of computer software and hardware. Application of simulation analysis to design and development of computer software and systems including modeling of computer and software components will be discussed. Design, coding and use of discrete event simulation software will be covered.
Prerequisite: 6 advanced hours COSC and MATH 3379.

COSC 4326. Network Theory. 3 Hours.

This course examines the theoretical basis for data communication together with an examination of the structures and protocols associated with the control of error, congestion and routing. The course includes an examination of network administration fundamentals and socket programming in client-server applications.
Prerequisite: 6 advanced hours of COSC.

COSC 4327. Computer Operating Systems. 3 Hours.

This course is concerned with software organization of computer systems. It is intended to bring together the concepts and techniques of programming languages, data structures and computer organization by considering their role in the design of general computer systems. The problems which arise in multi-accessing, multiprogramming, and multiprocessing are emphasized.
Prerequisite: COSC 3327 and COSC 3319.

COSC 4332. Computer Graphics. 3 Hours.

This course introduces graphical APIís used in developing graphical user interfaces and multimedia applications. Topics covered are selected from the PHIGS, Windows, Presentation Manager, X-Windows, digital video and other appropriate technologies.
Prerequisite: 6 advanced hours of COSC.

COSC 4337. Digital Signal Processing. 3 Hours.

This course examines the nature of signal processing and its application to real-world applications such as speech synthesis, video processing, genomics, and biomedical signal processing, and distributed sensor networks. The course addresses theoretical, algorithmic and practical issues.
Prerequisite: COSC 3327.

COSC 4340. Spc Tpcs In Computer Sci. 3 Hours.

Topics of general interest are offered on a timely basis. Previous topics include Cognitive Computing, Embedded Linux Systems, Visual Graphics/Component Systems. Variable Credit (1-3). advanced COSC and senior standing.
Prerequisite: 6 hrs.

COSC 4349. Professionalism and Ethics. 3 Hours.

This course examines the nature, need and value of well-formed ethical constructs within the digital forensics profession. Included in this course is a discussion, through case studies, of the nature of professionalism, personal and professional codes of ethics and conduct, and the professional handling of ethical and moral conflict. The course also explores the role of the professional in public policy and the awareness of consequences of ethical dissent and whistle blowing.
Prerequisite: Senior standing.