APC 3000 Programming I 3 Credits

This course offers an introduction to history of computing, fundamental computer concepts and structured programming techniques. Java will be used to teach the basic concepts of program analysis, design, implementation, debugging and testing. It provides hands-on coverage of simple data types, problem solving, program design, conditional execution, loops, and basic user defined methods.
Components: Class
Typically Offered: All

APC 3100 Math for Computer Science 3 Credits

This course covers important topics that serve as a foundation for many computer science courses. These topics may include logic, sets, functions, mathematical reasoning, counting, probability, relations, graphs, trees, Boolean algebra, and algorithms.
Components: Class
Typically Offered: All

APC 3200 Introduction to Business 3 Credits

This course introduces the student to the major functional areas of business including the roles of accounting, finance, human resources, marketing, information systems, and operations in the organization. In addition, the role of business in a free enterprise system, business ethics, leadership, leading change and the competitive global business environment will be covered.
Components: Class
Typically Offered: All

APC 3300 Technical and Professional Communication 3 Credits

This course covers technical and professional communication skills and techniques. Practice in creating effective memos and reports, developing technical material, delivering presentations, and developing team communication skills will be the focus of the course.
Components: Class
Typically Offered: All

APC 3400 Legal and Ethical Responsibilities of the IT Professional 3 Credits

This course explores a range of legal, regulatory, ethical and compliance issues associated with developing software and using information systems in an organization. Topics include the ethical and legal issues associated with data privacy and intellectual property, compliance with regulatory requirements such as Sarbanes Oxley, and other related contemporary subjects.
Components: Class
Typically Offered: All

APC 3500 Programming II 3 Credits

Components: Class
Prereqs/Coreqs: P: APC 3000 and APC 3100
Typically Offered: All

APC 3600 Database Management I 3 Credits

This course covers design and implementation of relational database management systems to support computer-based information systems. Topics include: data modeling techniques such as entity-relationship modeling, extended entity-relationship modeling, database normalization techniques, and basic and advanced features of database query language SQL.
Components: Class
Prereqs/Coreqs: P: APC 3000 and APC 3100
Typically Offered: All

APC 3700 Systems Analysis and Design 3 Credits

This course explores the first five phases of the Systems Development Life Cycle including scope definition, problem analysis, requirements analysis, logical design and decision analysis with the goal of determining an effective system solution. Topics covered include Use Case development, gap analysis, financial analysis of IT investments, and feasibility analysis.
Components: Class
Prereqs/Coreqs: P: APC 3000, APC 3200 and APC 3300
Typically Offered: All

APC 3800 Project Management Techniques 3 Credits

This course is an introduction to project management tools and techniques including project selection and life cycle, stakeholder management, scope management, budget control, scheduling, quality management, risk identification, and procurement management.
Components: Class
Prereqs/Coreqs: P: APC 3700
Typically Offered: All

APC 3900 Object Oriented Programming 3 Credits

This course offers an introduction to Object-Oriented Programming techniques using the Java programming language. Students will gain skills in using Classes and Interfaces, Exception handling, Programming by Contract, Inheritance, Polymorphism, Overloading, Abstract Classes and Methods, Serialization, Generics, and an Introduction to Recursion.
Components: Class
Prereqs/Coreqs: P: APC 3500
Typically Offered: All

APC 4000 Applied Communication Networks 3 Credits

This course covers fundamental concepts in the design, configuration, and problem solving of computer networks. Topics include: TCP/IP and OSI architecture, application layer (Web, FTP, remote connection, email, client and server interaction), transport layer (TCP/UDP), network layer (IP), data link and physical layers.
Components: Class
Prereqs/Coreqs: P: APC 3500
Typically Offered: All

APC 4100 Database Management II 3 Credits

This course covers architecture and use-cases of non-relational (NoSQL) based on four types of databases including document, Graph, Key-value, and wide column store. Topics include: data types, create/update/delete data, query, cursors, indexing, dynamic schema design, scalability (scale-out) over scale-up of RDBMS, analysis of massive unstructured and semi-structured data and data security.
Components: Class
Prereqs/Coreqs: P: APC 3600
Typically Offered: All

APC 4200 Computer Security I 3 Credits

This course covers contents spanning security and risk management, security engineering, identity and access management, and security operations. Specific topics include cryptography, access control models, malicious software and counter-measures, security policy, security model, trust, vulnerability assessment, security standards and evaluation, administration and auditing, and secure storage.
Components: Class
Prereqs/Coreqs: P: APC 3500
Typically Offered: All

APC 4300 Applied Data Structures and Algorithms 3 Credits

This course covers fundamental concepts and the application of data structures and algorithms. Topics include abstract data types, dynamic arrays, iterators, linked lists, generics, stacks, queues, binary search trees, collections, maps, hashing, graphs, and sorting. It introduces a variety of application scenarios including graphics, web programming and user interfaces.
Components: Class
Prereqs/Coreqs: P: APC 3900
Typically Offered: All

APC 4400 Web Development 3 Credits

This course teaches students how to create advanced and interactive websites web sites using technologies like HTML 5, CSS, JavaScript, Bootstrap, XML, web services, and database integration within the ASP.Net platform. The class also introduces principles of good user interaction design to the creation of effective web pages.
Components: Class
Prereqs/Coreqs: P: APC 3600; C: APC 4000
Typically Offered: All

APC 4500 Operating Systems Theory and Practice 3 Credits

This course provides an introduction to important operating systems concepts such as processes, threads, scheduling, concurrency control and memory management. The students will learn these concepts via systems programming using POSIX API.
Components: Class
Prereqs/Coreqs: C: APC 4300
Typically Offered: All

APC 4600 Software Engineering Practices 3 Credits

This course covers basic software development methodologies and tools. Methodologies include the waterfall, iterative, and agile approaches. Tools include integrated development environments (IDEs), unified modeling language (UML), and testing frameworks. Other topics include requirements analysis, object-oriented analysis, test-driven development, and design patterns. Students will work on a team software project.
Components: Class
Prereqs/Coreqs: P: APC 3700 and APC 3900
Typically Offered: All

APC 4700 IS Strategy and Management 3 Credits

This course begins with an exploration of organizational strategy and how Information Systems strategy is developed to support the attainment of organizational goals. The course then explores the management of the IS function using a capability maturity model approach to topics such as budgeting, acquisition, service management, change management, and personnel management.
Components: Class
Prereqs/Coreqs: P: APC 3800; C: APC 4600
Typically Offered: All

APC 4800 Computer Security II 3 Credits

This course covers subjects spanning communication and network security, security assessment and testing, software development security, and asset security. Specific topics include operating system security, network security (e.g. firewalls, tunneling, intrusion detection, and wireless networking), browser security, and application security (e.g. database security, email security, payment system security, and digital-rights management).
Components: Class
Prereqs/Coreqs: P: APC 3600, APC 4200, APC 4000, and APC 4500
Typically Offered: All

APC 4900 Capstone Prep 1 Credit

The purpose of this course is for students to choose a capstone project, create an initial plan with specific deliverables identified, and receive approval. This course covers review of key concepts necessary for success in the Capstone (APC 495) course, including software engineering practices, project management techniques, system analysis, and communicating with technical or non-technical audiences (CTO, IT, staff, etc.). May include additional topics specific to anticipated capstone projects.
Components: Class
Prereqs/Coreqs: P: APC 3800; C: APC 4600
Typically Offered: All

APC 4950 Capstone Project 3 Credits

The purpose of this course is for students to complete the project that was approved in APC 490. This course covers the development, management and delivery of an applied computer science project for a client, including communication of project requirements and status to a non-technical audience.
Components: Class
Prereqs/Coreqs: P: APC 4900
Typically Offered: All