Computer Science - CPSC

Courses

CPSC 1213 INTRODUCTION TO COMPUTER SCIENCE I (3) DSL. 45. Admission into Bachelor of Computer Science Program. Introduces the fundamental concepts of object-oriented programming.

CPSC 1223 INTRODUCTION TO COMPUTER SCIENCE II (3) DSL. 45. Pr. CPSC 1213. Admission into Bachelor of Computer Science Program. Continues the development of programming from an object-oriented perspective. Emphasizes sound software engineering principles and best practices.

CPSC 1233 DATA STRUCTURES (3) DSL. 45. Pr. CPSC 1223. Admission into Bachelor of Computer Science Program. Developing programs that use data structures and collections to efficiently store data. Emphasis will be placed on the interplay between effective data structures and efficient algorithms.

CPSC 2713 SOFTWARE CONSTRUCTION FUNDAMENTALS (3) DSL. 45. Pr. CPSC 1233. Admission into Bachelor of Computer Science Program. Development of graphical user interface-based, event-driven desktop/laptop computer application using a modern object-oriented language. Systematic testing, debugging, documentation, and maintenance programming.

CPSC 3223 PROGRAMMING LANGUAGES AND TRANSLATION (3) DSL. 45. Pr. CPSC 1233 and CPSC 3303. Admission into Bachelor of Computer Science Program. Fundamental concepts of programming language design, interpretation, and compilation.

CPSC 3243 DISCRETE STRUCTURES (3) DSL. 45. Pr. (MATH 1610 or MATH 1613 or MATH 1617) and MATH 1710. Admission into Bachelor of Computer Science Program. Basics of set theory, propositional and predicate logic as used to describe algorithms, recurrence relations. Proving correctness and estimating running time for algorithms. Mathematical and structural induction.

CPSC 3273 ALGORITHMS I (3) DSL. 45. Pr. CPSC 1233. Admission into Bachelor of Computer Science Program. Introduction to algorithms as tools for computational l problem solving, language of algorithms, understanding algorithms, approximately analyzing correctness and efficiency of algorithms, algorithms that solve fundamental computational problems, basic algorithm design techinques, steps of computational problem solving.

CPSC 3283 ALGORITHMS II (3) DSL. 45. Pr. CPSC 3273. Admission into Bachelor of Computer Science Program. Advanced complexity analysis techniques, notions of computational complexity, polynomial time hierarchy, computability, algorithms that solve advanced computational problems, advanced algorithm design techniques, computational problem solving.

CPSC 3303 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING (3) DSL. 45. Pr. CPSC 3243 and CPSC 1213. Admission into Bachelor of Computer Science Program. Stored program computers, hardware and software components, data representations, instruction sets, addressing modes, assembly language programming, loaders, linkers and operating systems.

CPSC 3323 COMPUTER ARCHITECTURE (3) DSL. 45. Pr. CPSC 3333. Admission into Bachelor of Computer Science Program. Design of Computer Systems, emphasizing the relationship between computer hardware and software. Includes processor control and data path organization, memory subsystem design, instruction set design, processor simulation, and quantitative analysis of computer performance.

CPSC 3333 OPERATING SYSTEMS (3) DSL. 45. Pr. CPSC 1233 and CPSC 3303. Admission into Bachelor of Computer Science Program. Structure and functions of operating systems; processes and process scheduling; synchronization and mutual exclusion; memory management; auxiliary storage management; resource allocation and deadlock; security, privacy, and ethical concerns; design tradeoffs.

CPSC 3343 PARALLEL SYSTEMS (3) DSL. 45. Pr. CPSC 3333. Admission into Bachelor of Computer Science Program. Overview of hardware and software issues in parallel systems: fundamental parallel architectures, programming languages, tools and algorithms, and parallel applications.

CPSC 3353 COMPUTER NETWORKS I (3) DSL. 45. Pr. CPSC 3333. Admission into Bachelor of Computer Science Program. Fundamentals of computer networks, TCP/IP layered model: application layer, transport layer, network layer, link layer, with examples of each layer, and explanation of design issues. IPv6.

CPSC 3363 COMPUTER NETWORKS II (3) DSL. 45. Pr. CPSC 3353. Admission into Bachelor of Computer Science Program. Computer network design, including multiplexing, switching, routing, internetworking, transport protocols, congestion control, and performance evaluation.

CPSC 3373 WIRELESS AND MOBILE NETWORKS (3) DSL. 45. Pr. CPSC 3353. Admission into Bachelor of Computer Science Program. Mobile IP, wireless routing, location management, ad-hoc wireless networks, wireless, wireless TCP personal communication systems, and current mobile phone OTA protocols.

CPSC 3703 SOFTWARE ENGINEERING I (3) DSL. 45. Pr. CPSC 2713. Admission into Bachelor of Computer Science Program. Current processes, methods, and tools related to modeling and designing software systems.

CPSC 3713 SOFTWARE ENGINEERING II (3) DSL. 45. Pr. CPSC 3703. Admission into Computer Science Online Program. Current processes, methods, and tools related to modeling and designing software systems.

CPSC 4003 SYSTEM ADMINISTRATION (3) DSL. 45. Pr. CPSC 3333. Admission into Bachelor of Computer Science. Basics of system administration for Windows and Unix machines, including configuration of Performance measurement and enhancement.

CPSC 4203 FORMAL LANGUAGES (3) DSL. 45. Pr. CPSC 3273 and CPSC 3243. Admission into Bachelor of Computer Science Program. Fundamentals of formal languages including mathematical models of regular sets, context-free languages and Turing machines; deterministic and non-deterministic models. Basics of interpretation and complilation.

CPSC 4733 COMPUTER ETHICS (3) DSL. 45. Admission into Bachelor of Computer Science Program. Application of ethical principles to computing-related topics, including privacy, property rights, autonomy, access, and diversity.

CPSC 5123 DATABASE I (3) DSL. 45. Pr. CPSC 1233. Admission into Bachelor of Computer Science Program. The design and implementation of database applications, with a focus on relational database management systems.

CPSC 5133 DATABASE II (3) DSL. 45. Pr. CPSC 5123. Admission into Bachelor of Computer Science Program. Theory, design, and implementation of database systems.

CPSC 5203 DEVELOPING WEB APPLICATIONS WITH XML (3) DSL. 45. Pr. CPSC 1233. Admission into Bachelor of Computer Science Program. Comprehensive introduction to XML, working with XML and Databases, event-driven programming with XML, implementing Communication and Web Services with XML, working with XML, JQuery, XHTML and HML5.

CPSC 5213 WEB APPLICATION DEVELOPMENT WITH JSP (3) DSL. 40. Pr. CPSC 5203. Admission into Bachelor of Computer Science Program. Advanced course in web development using JSP, includes JCP fundamentals, JAP and web server software development, and applying JSP in the real world.

CPSC 5333 MOBILE APPLICATIONS I (3) DSL. 45. Pr. CPSC 2713. Admission into Computer Science Online Program. Software development for wireless applications: specification, process, testing, and performance evaluation. Design and development of wireless application layer software, including current protocols.

CPSC 5343 MOBILE APPLICATION DEVELOPMENT II (3) DSL. 3. Pr. CPSC 5333. Admission into Bachelor of Computer Science Program. Builds mastery of mobile application development and the skills necessary to stay current in this fast-moving field throughout one’s career by introducing a new programming language and application programmer interface and interface and requiring the student to master them.