COSC 1520 Computer Programming Concepts (3)
Students will learn the basic concepts of computer programming. At the end of this course, students will be able to plan, code, and run simple computer programs. This course is intended for non-computer science (COSC) majors.
COSC 1540 Emerging Technologies(3)
This course introduces general concepts and vocabulary of information systems. It also addresses the issues and impact of powerful information tools.
COSC 1550 Computer Programming I (3)
Introduces students to the C++ language in order to teach programming as a systematic discipline and as a problem-solving tool. Acquaints students with fundamental concepts of computers, information processing, algorithms, and programs. May be repeated once for credit. Only offered in a 16-week format.
COSC 1560 Computer Programming II (3)
This course uses the C++ language to introduce students to programming concepts such as abstract data types, use of classes and objects, pointers, and advanced file operations. Prerequisite: COSC 1550 with grade of B or better. May be repeated once for credit. Only offered in 16-week format.
COSC 1570 Mathematics for Computer Science (3)
Topics covered include number systems, computer arithmetic, binary, octal, hexadecimal, floating point operations, sets, and Boolean algebra.
COSC 1580 Logic for Computer Science (3)
Covers all fundamental topics in deductive logic and is a thorough introduction to propositional and predicate logic.
COSC 2010 Computer Topics (3)
Introduces a variety of computer topics under different subtitles. May be repeated for credit if content differs. Prerequisites vary by topic.
COSC 2030 Visual BASIC (3)
Provides an introduction to communicating with computer users through the use of a GUI-graphical user interface. The concept of object-oriented programming, event-driven programming, and designing effective GUIs will be covered. Prerequisite: COSC 1560 or two courses in any programming language.
COSC 2040 Advanced Visual BASIC (3)
This course continues program development in the Visual BASIC programming language with emphasis on communication with other Windows applications. Included are topics in data access and file handling, as well as the use of object linking and embedding (OLE) and dynamic data exchange (DDE). Prerequisite: COSC 2030.
COSC 2050 Java Programming (3)
This is a first course in Java programming, covering principles of programming and core Java features. A step-by-step approach first lays a sound foundation on programming elements, control statements, and methods; then introduces object-oriented programming; moves on to graphics programming; and concludes with advanced features that prepare students to develop more comprehensive programs. Prerequisite: COSC 1560.
COSC 2060 Advanced Java (3)
This course expands on the beginning Java course with in-depth discussion of advanced topics, including Java applications and distributed systems. The course introduces students to technologies such as JDBC, servlets, JavaBeans, and Java XML. Prerequisite: COSC 2050.
COSC 2070 Introduction to Mobile Technology (3)
This course studies the fundamentals of mobile technology. It focuses on emerging mobile technology, the potential of the mobile application market, and the technological and marketing challenges that make mobile applications difficult to commercialize. This course will also discuss the various tools available to build powerful mobile applications.
COSC 2110 Computer Languages (3)
Investigates different computer languages, offered under different subtitles. May be repeated for credit if content differs.
COSC 2610 Operating Systems (3)
An overview of the concepts and theories of operating systems. Examines the major components found in all operating systems including the memory, process manager, and device and file managers. Prerequisite: COSC 1550.
COSC 2660 Network Management (3)
Emphasizes local area networks in the study of their hardware and software components. The configuration, installation, and management of networks and appropriate applied software are studied. Prerequisite: COSC 1550.
COSC 2670 Telecommunications (3)
In this course students examine the various technologies and applications of telecommunications. The course provides an analysis of the current and future trends in telecommunication technologies and services and includes an overview of the industry and the associated management and strategy issues.
COSC 2810 Systems Analysis and Design (3)
Covers the basic concepts involved in systems analysis, including effective communication, analysis tools, and phases of the systems development life cycle.
COSC 3050 Data Structures I (3)
Studies the design and implementation of the most common algorithms associated with the basic data types and with some elementary data structures using C++. The relationship of algorithm design to problem solving in general is studied. The course also covers algorithms to improve the robustness and user friendliness of programs. Prerequisite: COSC 1560 and Junior standing .
COSC 3100 Data Structures II (3)
This is a continuation of COSC 3050 Data Structures I. Students will program the data structures and algorithms using C++. Prerequisites: COSC 1570 and COSC 3050.
COSC 3200 Advanced Programming Techniques (3)
Study of advanced programming techniques in C++ beyond those covered in COSC 3100 Data Structures II. Prerequisites: COSC 3100 and permission of the department.
COSC 3340 Mobile Computing I (3)
This course will study the leading-edge mobile computing technologies for professional software developers. The course will be hands-on and project-based. The central focus of the course is to enable the understanding and critical evaluation of mobile applications. Prerequisite: COSC 1560 and COSC 2070.
COSC 3350 Mobile Computing II (3)
This course will study the leading-edge mobile development technologies for professional software developers. The course will be hands-on and project-based. In addition to mobile development, this course will focus on more advanced mobile computing tech-niques and mobile application development schemes. The central focus of the course is to further enhance the knowledge and critical evaluation of mobile applications and the mobile development process. Prerequisite: COSC 3340.
COSC 3410 Computer Security (3)
Students in this course will study the techniques for protecting data within a computer and protecting data as it moves through a network. Data and system security and reliability will be considered in a distributed environment. Topics will include encryption, authentication and digital signatures, threats to the computer system, and system reliability. Prerequisites: COSC 1560 and Junior Standing.
COSC 3500 IT Project Management (3)
This course provides students a holistic and integrative view of project management. The course covers concepts and skills that are used by IT professionals to propose, plan, secure resources, budget, and lead IT project teams to a successful completion of their projects. Prerequisites: COSC 1560 and Junior Standing.
COSC 3510 Computer Architecture (3)
This course will explore the concept of the modern computer based on layers of virtual machines. While computers may become quite complex, they may be more easily understood as virtual machines that perform a well-defined set of functions. Prerequisites: COSC 1560, COSC 1570, COSC 2610, and Junior Standing.
COSC 3610 Operating Systems Concepts (3)
This course examines the components that make up a modern operating system. The student will have an opportunity to explore some of the strategies used and the performance trade-offs for single user and multi-user operating systems. Topics will include: CPU scheduling, memory management, disk organization, disk access scheduling, input/output management, the user interface, and system security. Prerequisites: COSC 1560 and COSC 2610 and Junior standing.
COSC 3660 Network Concepts (3)
Explores the basic concepts of computer networks. Course examines and compares network topologies, protocols, and national and international standards. It examines the similarities and differences in local area networks and wide area networks. Prerequisites: COSC 1560 and Junior Standing.
COSC 3750 Decision Support Systems Concepts (3)
This course covers the basic concepts in Decision Support Systems. The course introduces data warehousing and data mining and explains their role in the decision making process. Prerequisites: COSC 1560 and Junior Standing
COSC 3810 Principles of Programming Languages (3)
This course is a study of the design, evaluation, and implementation of programming languages. It focuses on the principles of design and evaluation and their relationship to the syntax, semantics, and pragmatics of programming languages. Prerequisites: COSC 1560 and Junior Standing.
COSC 3900 Practicum (1-12)
(Note: This course does not count toward a computer science major without an emphasis or toward a minor.) Prerequisites: COSC 1560 and Junior Standing and permission of the department. May be repeated for credit up to a maximum of 24 credits.
COSC 3910 Project (1-8)
(Note: This course does not count toward a computer science major without an emphasis or toward a minor.) Prerequisites: COSC 1560 and Junior Standing and permission of the department.
COSC 4110 Database Concepts (3)
Students in this course will study database design using the relational model and the Entity-Relationship model. Students will study and use the SQL query language. Database design considerations will include data integrity, relational integrity, redundancy, and security. Students will develop a logical design for a database that will be implemented in COSC 4120. Prerequisites: COSC 1560, COSC 2810 and Junior Standing.
COSC 4120 Database Applications (3)
Continuation of COSC 4110. Students develop the logical design from COSC 4110 into a complete computer application with documentation. Focuses on specific applications that are important in a variety of computer information systems. Applications are examined from the perspective of user needs and program design. Students study program design using a database management system. Prerequisite: COSC 4110.
COSC 4250 Object-Oriented Analysis and Design (3)
Designed to teach the student the fundamentals of object-oriented software analysis and design. Presents the theoretical aspects of object-oriented software design but focuses on the practical issues surrounding object-oriented software analysis and design and the format of the design process as it exists in an industrial setting. The student gains experience in the design aspect of the systems development life cycle. Prerequisites: COSC 2810 and COSC 3100.
COSC 4260 Object-Oriented Programming (3)
Continuation of COSC 4250 using C++. Prerequisite: COSC 4250.
COSC 4510 Mobile Development I (3)
This course aims to provide a greater depth of knowledge in mobile device computing. Topics include available tools, mobile devel-opment paradigms, device limitations, mobile app feasibility and economics, and future trends. Prerequisite: COSC 3350.
COSC 4520 Mobile Development II (3)
This course studies mobile development from three perspectives: mobile technology, application development, and user interaction. The course first overviews various mobile applications, technologies and wireless communication. Next, students will learn about common paradigms in mobile development, such as computing in an environment with limited resources. Lastly, the cours will study some current research in mobile development. Prerequisite: COSC 4510.
COSC 4810 Information Systems I (3)
Using systems analysis and design techniques, students look at the software and hardware requirements needed to create an information system. Prerequisites: COSC 1560, COSC 2810 and Junior Standing.
COSC 4820 Information Systems II (3)
Continuation of Information Systems I, with emphasis on solving an organization's information system problems. This course provides the opportunity to apply the theory in a substantial project. Prerequisite: COSC 4810.
COSC 4910 Senior Overview (3)
Prerequisites: COSC 1560 and Senior Standing and permission of the department.