COSC 101: Computer Literacy 3cr

An introductory course providing fundamental understanding of computers. Familiarizes students with the interaction of computer hardware and software. Emphasizes the application of microcomputers, the use of productivity software (word processing, spreadsheet management, file and database management, presentation graphics, web browsers, search strategies, and email), and the social and ethical aspects of the impact of computers on society. (Does not count toward computer science major.) Note: cross-listed as BTED/IFMG 101. Any of these courses may be substituted for each other and may be used interchangeably for D/F repeats but may not be counted for duplicate credit.

COSC 105: Fundamentals of Computer Science 3cr

The first course for computer science majors. Required of all computer science students; appropriate for other Natural Sciences and Mathematics students. Topics include the fundamental concepts of computer architecture, algorithm development and analysis, programming languages, software engineering, data organization and representation, and systems software. A hands-on introduction to computer usage with an emphasis on terminology and the underlying connections within the discipline.

COSC 110: Problem Solving and Structured Programming 3cr

An introduction to the development of algorithmic solutions to a variety of problems and the development of computer programs to implement the solutions. Explores standard programming structures used to introduce fundamental algorithmic/programming concepts including variables, assignments, conditionals, loops, functions, and arrays and their role in problems solving. Emphasizes structured programming in the development of algorithm solutions to common problems. Object-oriented paradigm is introduced at a basic level.

COSC 143: Cyber Wellness 3cr

Investigates the different categories of cyber wellness and how they affect emotional, physical, social, and intellectual wellness. Focuses on demonstrating intellectual agility and creativity in order to maintain physical wellness while using technology. Examines the effect technological changes have had on various disciplines and their impacts on society in relation to health and wellness. Discusses theories and principles related to the physical, mental, social, and emotional aspects of personal computer usage including cyberspace. Completion of COSC 143 fulfills the Liberal Studies Dimensions of Wellness requirement. Other 143 courses will also fulfill this requirement, and any of these courses may be substituted for each other and may be used interchangeably for D/F repeats but may not be counted for duplicate credit.

COSC 210: Problem Solving and Structured Programming 3cr

Prerequisites:COSC 108 or COSC 110

An in-depth introduction to the Object-Oriented Programming (OOP) paradigm, including encapsulation, inheritance, and polymorphism. Focuses on designing, implementing, and using objects. Includes an introduction to Graphical User Interface (GUI) design and programming.

COSC 300: Computer Organization and Assembly Language 3cr

Prerequisites: COSC 110 or equivalent

A discussion of the basic computer architecture elements: gates, combinational and sequential logic, hardware arithmetic, CPU, and memory structure. An examination of the languages of machines: representation of data, addressing techniques, symbolic coding, assembly, and linking. Problem-solving using assembly language.

COSC 310: Data Structures and Algorithms 3cr

Prerequisites: COSC 210

Fundamental concepts of data design and implementation, data abstraction, data structures, arrays, linked-lists, stacks, queues, recursion, trees, graphs, and hashing. Also covers sorting algorithms, divide and conquer techniques, greedy methods, and analysis of algorithms. The object-oriented paradigm is employed using an object-oriented language.

COSC 319: Software Engineering Concepts 3cr

Prerequisites: COSC 310 or instructor permission

Software engineering concepts include the collection of tools, procedures, methodologies, and accumulated knowledge about the development and maintenance of software-based systems. Strongly suggested for any student planning to take an internship in Computer Science. After an overview of the phases of the software life cycle, current methodologies, tools, and techniques being applied to each phase is discussed in depth with localized exercises given to reinforce learning of concepts.

COSC 341: Introduction to Database Management Systems 3cr

Prerequisites: COSC 110 and COSC 210

Provides fundamental knowledge of, and practical experience with, database concepts. Includes study of information concepts and the realization of those concepts using the relational data model. Practical experience gained designing and constructing data models and using SQL to interface to both multi-user DBMS packages and to desktop DBMS packages.

COSC 362: Unix Systems 3cr

Prerequisite: COSC 310 or instructor permission

An introduction to the features, syntax, applications, and history of UNIX. Coverage includes utilities, system administration, development environments, and networking concerns, including distributed systems, client-server computing, and providing Web services.

COSC 365: Web Architecture and Application Development 3cr

Prerequisites: COSC 310 and 341 or instructor permission

Covers the fundamental architecture of Internet systems and the process of developing computer applications running on the Internet in general and on the World Wide Web in particular. Students gain a basic understanding of the TCP/IP protocols and the client/server technology. Methods, languages, and tools for developing distributed applications on the Internet are evaluated. Programming projects developing distributed applications, using a representative suite of development tools and languages, are an integral part of this course.

COSC 380: Seminar on the Computer Profession and Ethics 2 credits

Prerequisite: Instructor permission

Reading, review, and discussion of the current literature in computer science and industry trade journals; effective oral presentations: employment prospects. Topics on computer ethics and review of case studies on computer ethics from professional journals with discussion of the issues involved. Should be taken the semester before an internship or the first semester of the senior year. Should not be taken at the same time as COSC 480.

COSC 430: Introduction to Systems Programming 3cr

Prerequisites: Grade of "C" or better in COSC 300 and COSC 310 or instructor permission

An in-depth introduction to a systems programming, system programming language(s), and application of those language(s) to systems level problems. The focus will be on programming constructs that are closely aligned with the architecture of a digital computer, including those providing portability between platforms, dynamic allocation and management of virtual memory, complex in-memory data structures, reading/writing binary data using sequential and random access, pointer arithmetic/manipulation, and interaction between threads/processes.

COSC 465: Distributed Processing and Web Services 3cr

Prerequisite: COSC 365 or COSC 310 and instructor permission

An advanced study into architecture of Internet systems and the process of developing distributed computer applications running on the Internet and/or other networks. Presents an in-depth understanding of distributed processing technologies including socket programming, RPC, RMI, EJBs, DCOM, .NET, SOAP, and Web services. Emphasis is placed on the use of XML to support multi-party heterogeneous distributed applications and includes XML fundamentals (e.g., DTDs, XML schemas, XPath, XSLT, SAX, and DOM), and Web services (e.g., SOAP, WSDL, UDDI, and ebXML). Students complete hands-on projects utilizing mentioned technologies.

COSC 473: Software Engineering Practice 3cr

Prerequisite: COSC 319 or instructor permission.

Planning, design, and implementation of large software systems using software engineering techniques. Students work on project teams on real or realistic software development projects. Credit for either COSC 473 or COSC 493, but not both, may count toward computer science major requirements for graduation; the other course credits will be counted as free electives.

COSC 480: Seminar on Technical Topics 1 credit

Prerequisite: See text below

Reading, review, and discussion of the current literature of computer science and industry professional and technical journals; oral presentations. Should be taken the last semester of the senior year. Should not be taken at the same time as COSC 380.

CRIM 344: Terrorism 3cr

Prerequisite: CRIM 101 or CRIM 102 or instructor permission.

An in-depth study of the legal and international issues that the United States faces in response to combating international terrorism. The emphasis is placed on identifying causes of terrorism and the most plausible threats; terrorist networks, their commonalities and differences, and the difficulty in countering; and determining appropriate responses, to include political and legal implications, threat analysis, physical security, and target hardening. (Also offered as PLSC 344; may not be taken as duplicate credit.)

IFMG 300: Information Systems: Theory and Practice 3cr

Prerequisite: IFMG 101/COSC 101, or IFMG 110.

Includes basic MIS concepts, fundamentals, and practices. Broad areas of coverage are principles, the computer as a problem-solving tool, computer-based information systems (CBIS), organizational information systems, and information systems management.

IFMG 390: Database Theory and Practice 3cr

Prerequisite: IFMG 210 or IFMG 230 or COSC 220

Reviews database design, data model methodologies, physical data structure, and database development and implementation. Introduces the remote data service, transaction server, and database administration. Emphasizes the practical approach in accessing the database using Internet technology.

IFMG 475: Project Management and Implementation 3cr

Prerequisite: IFMG 460

Introduces the demands made on the project manager and the nature of the manager's interaction with the rest of the parent organization in development of a business information system. Studies difficult problems associated with conducting a project using people and organizations that represent different cultures and politics and that may be separated by considerable distances. Also covers how to implement and carry out the development of the project using several information systems development methodologies.

PLSC 388: Dimensions of National Security 3cr

Deals with national security problems, including decision making and budgeting, levels of strategy, the utility of force, and the impact of the military on American society.

PLSC 465: Intelligence Process and Policy 3cr

Demystifies intelligence and focuses on the critical thinking and intellectual skills the process of intelligence requires to provide government, private, and nonprofit decision-makers with useful information on which to base sound decisions. The process involves collecting, analyzing, and providing data to those decision-makers. Students also examine the impact of the structure and role of the intelligence community in formulating U.S. national security policy.

For Additional Information

For further information on Computer Science Information Assurance-related courses and the entire Computer Science curriculum, check the Mathematical and Computer Sciences Department website.

For further information on Criminology Information Assurance-related courses and the entire Criminology curriculum, check the Criminology and Criminal Justice Department website.

For further information on Business Information Assurance-related courses and curriculum, check the Department of Accounting and Information System website.

For further information on Political Science Information Assurance-related courses and the entire Political Science curriculum, check the Political Science Department website.