CourseCredits

APC 300 – Programming I

This course provides a solid foundation in computing by focusing on problem-solving and fundamental programming skills. You will gain skills in computational thinking and learn to implement solutions using a contemporary programming language. This course will emphasize good programming practices such as writing well-tested comprehensible code that is developed incrementally and iteratively. The course will cover essential topics that will include variables, data types and expressions, control structures (conditionals, loops), basic data structures, functions and modular programming, handling input/output, and testing and debugging.

APC 300 syllabus

 

3 Credits

APC 310 – Math for Computer Science

This course covers topics that serve as the foundation for general computer science practice including logic, sets, functions, mathematical reasoning, counting, probability, relations, graphs, trees, Boolean algebra, and algorithms.

APC 310 Syllabus

3 Credits

APC 320 – Introduction to Business

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. Other topics covered include the role of business in a free enterprise system, business ethics, leadership, leading change, and the competitive global business environment.

APC 320 Syllabus

3 Credits

APC 330 – Technical and Professional Communication

This course covers technical and professional communication skills and techniques. Practice in creating effective memos and reports, developing technical materials, delivering presentations, and developing team communication skills will be the focus of the course.

APC 330 Syllabus

3 Credits

APC 340 – Legal and Ethical Responsibilities of the IT Professional

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.

APC 340 Syllabus

3 Credits

APC 350 – Programming II

This course offers continuation of fundamental computer concepts and Programming. It provides hands-on coverage of Methods, File IO, Arrays and their applications, Abstract Data Types, Classes, simple GUI application, and introduction to inheritance and composition.

APC 350 Syllabus

Prerequisites

  • APC 300 – Programming I
  • APC 310 – Math for Computer Science
3 Credits

APC 360 – Database Management I

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.

APC 360 Syllabus

Prerequisites

  • APC 300 – Programming I
3 Credits

APC 370 – Systems Analysis and Design

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.

APC 370 Syllabus

Prerequisites

  • APC 300 – Programming I
  • APC 320 – Introduction to Business
  • APC 330 – Technical and Professional Communication
3 Credits

APC 380 – Project Management Techniques

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.

APC 380 Syllabus

Prerequisites

  • APC 300 – Programming I
  • APC 320 – Introduction to Business
  • APC 330 – Technical and Professional Communication
3 Credits

APC 390 – Object Oriented Programming

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.

APC 390 Syllabus

Prerequisites

  • APC 350 – Programming II
3 Credits

APC 400 – Applied Communication Networks

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.

APC 400 Syllabus

Prerequisites

  • APC 350 – Programming II
3 Credits

APC 410 – Database Management II

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.

APC 410 Syllabus

Prerequisites

  • APC 360 – Database Management I
3 Credits

APC 420 – Computer Security I

This course covers topics spanning security and risk management, security engineering, identity and access management, and security operations. Topics include cryptography, access control models, malicious software and countermeasures, security policy, security model, trust, vulnerability assessment, security standards and evaluation, administration and auditing, and secure storage.

APC 420 Syllabus

Prerequisites

  • APC 350 – Programming II
3 Credits

APC 425 – Machine Learning

Introduction to machine learning and methods, including neural networks and deep learning. Incorporates underlying concepts, hands-on experience and machine learning tools. Topics include generative AI and large language models, supervised, unsupervised, and reinforcement learning.

APC 425_Syllabus

Prerequisites

  • APC 350 – Programming II
3 Credits

APC 430 – Applied Data Structures and Algorithms

This course covers fundamental concepts and the application of data structures and algorithms. Topics may include abstract data type, dynamic array, iterators, linked list, generics, stacks, queues, binary search tree, collections, maps, hashing, graphs, and sorting. It introduces a variety of application scenarios including graphics, web programming and user interfaces.

APC 430 Syllabus

Prerequisites

  • APC 390 – Object Oriented Programming
3 Credits

APC 440 – Web Development

This course teaches students how to create advanced and interactive websites using technologies like HTML, CSS, JavaScript, Bootstrap, Python, Django, web services, and database integration. The class also introduces principles of good user interaction design to the creation of effective web pages.

APC 440 Syllabus

Prerequisites

  • APC 360 – Database Management I
3 Credits

APC 450 – Operating Systems Theory and Practice

This course provides 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.

APC 450_Syllabus

Prerequisites

  • APC 430 – Applied Data Structures and Algorithms
3 Credits

APC 460 – Software Engineering Practices

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 requirement analysis, object-oriented analysis, test-driven development, and design patterns. Students will work on a team software project.

APC 460 Syllabus

Prerequisites

  • APC 370 – Systems Analysis and Design
  • APC 390 – Object Oriented Programming
3 Credits

APC 470 – IS Strategy and Management

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.

APC 470 Syllabus

Prerequisites

  • APC 380 – Project Management Techniques
3 Credits

APC 485 – Computer Security

This course is an introduction to the fundamental concepts of computer security and its applications. The course includes two parts. The first part focuses on security concepts, cryptography, policies, and access control. The second part focuses on Java security, malware, and security concepts of operating systems, software, networks, and the Web.

Prerequisites

  • APC 350 – Programming II
3 Credits

APC 490 – Capstone Project Preparation

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, systems analysis, and communicating with technical or non-technical audiences (CTO, IT staff, etc.). May include additional topics specific to anticipated capstone projects.

Concurrent Course: APC 460 (Students may take this course after completing APC 460 or they can take the two courses at the same time.)

APC 490 Syllabus

Prerequisites

  • APC 380 – Project Management Techniques
  • APC 460 – Software Engineering Practices

Capstone Project Ideas

1 Credits

APC 495 – Capstone Project

The purpose of this course is for students to complete the project that was approved in APC 490. This course covers 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.

For inspiration and ideas, explore past capstone projects.

APC 495 Syllabus

Prerequisites

  • APC 490 – Capstone Project Preparation
3 Credits