Computer Science (COSC)

COSC 1436. Programming Fundamentals I. 4 Hours. [TCCN: COSC 1436]

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. [TCCN: COSC 1437]

This course is a continuation of COSC 1436 and focuses on design, implementation, and re-usability of computer programs with abstract data types. Fundamentals of object-oriented design and programming paradigms are also emphasized. Course contents may include basic abstract data types such as List, Stack, and Queue, introduction to algorithm analysis, searching and sorting, graph-related abstract data types. A two-hour lab-based component is required for students to practice computer programming in more than one programming environment.
Prerequisite: COSC 1436.

COSC 2327. Introduction to Computer Networks. 3 Hours.

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

COSC 2329. Computer Organization & Machine Language. 3 Hours. [TCCN: COSC 2425]

Students are introduced to instruction set architectures, emphasizing central processor organization and operations. Specific topics may 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 are assigned in a representative assembly language to explore these areas.
Prerequisite: COSC 1437 with a C or better (may be taken concurrently).

COSC 2340. Special Topics in Computer Science. 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 1437.

COSC 2347. Special Topics/Programming. 3 Hours.

Students engage in an in-depth study of a programming language used to implement information systems. Real time components, visual techniques, and artificial intelligence are 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.

Student study 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 3318. Data Base Management Systems. 3 Hours.

Students explore 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.

Student are introduced to 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.

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.

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 may 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 are stressed along with the hardware's interaction with operating systems.
Prerequisite: COSC 2329.

COSC 3331. Human-Computer Interaction. 3 Hours.

Students are provided a comprehensive introduction to the principles and techniques of human-computer interaction. Students examine 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. Information Systems 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 4050. Independent Study. 1-3 Hours.

Students conduct individual research on specific topics that are not covered in the current Computer Science undergraduate curriculum. Each student will participate in comprehensive research activities with a faculty member who is specialized in the student's interest area. Therefore, the course content will vary based upon the topic that both the student and the mentoring faculty member choose. Students' performance will be evaluated based on their research progress and output. Variable Credit (1 to 3).
Prerequisite: Consent of the instructor.

COSC 4149. Seminar in Computer Science. 1 Hour.

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

Students are provided 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 may 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.

Students study the design and implementation of assemblers, interpreters and compilers. Topics may 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.

Students study 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 course 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 are 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.

Students examine 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 may include 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.

Students are introduced to graphical APIis 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.

Students examine 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. Students address theoretical, algorithmic and practical issues.
Prerequisite: COSC 3327.

COSC 4340. Special Topics in Computer Science. 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 4347. Embedded System Design and Internet of Things. 3 Hours.

Students learn theoretical concepts and hands-on skills for the design and implementation of embedded and IoT (Internet of Things) systems using embedded hardware development tools. Topics may include hardware integration, real-time operating systems, serial and wireless communication, digital/analog input and output, registers and memory management systems, embedded system programming techniques, and designing IoT systems.
Prerequisite: COSC 3327.

COSC 4349. Professionalism and Ethics. 3 Hours.

Students examine 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. Students also explore the role of the professional in public policy and the awareness of consequences of ethical dissent and whistle blowing.
Prerequisite: Junior standing.