| Course | Credits |
|---|---|
APC 300 – Programming IThis 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.
| 3 Credits |
APC 310 – Math for Computer ScienceThis 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. | 3 Credits |
APC 320 – Introduction to BusinessThis 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. | 3 Credits |
APC 330 – Technical and Professional CommunicationThis 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. | 3 Credits |
APC 340 – Legal and Ethical Responsibilities of the IT ProfessionalThis 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. | 3 Credits |
APC 350 – Programming IIThis 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. Prerequisites
| 3 Credits |
APC 360 – Database Management IThis 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. Prerequisites
| 3 Credits |
APC 370 – Systems Analysis and DesignThis 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. Prerequisites
| 3 Credits |
APC 380 – Project Management TechniquesThis 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. Prerequisites
| 3 Credits |
APC 390 – Object Oriented ProgrammingThis 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. Prerequisites
| 3 Credits |
APC 400 – Applied Communication NetworksThis 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. Prerequisites
| 3 Credits |
APC 410 – Database Management IIThis 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. Prerequisites
| 3 Credits |
APC 420 – Computer Security IThis 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. Prerequisites
| 3 Credits |
APC 425 – Machine LearningIntroduction 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. Prerequisites
| 3 Credits |
APC 430 – Applied Data Structures and AlgorithmsThis 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. Prerequisites
| 3 Credits |
APC 440 – Web DevelopmentThis 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. Prerequisites
| 3 Credits |
APC 450 – Operating Systems Theory and PracticeThis 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. Prerequisites
| 3 Credits |
APC 460 – Software Engineering PracticesThis 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. Prerequisites
| 3 Credits |
APC 470 – IS Strategy and ManagementThis 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. Prerequisites
| 3 Credits |
APC 485 – Computer SecurityThis 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
| 3 Credits |
APC 490 – Capstone Project PreparationThe 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.) Prerequisites
| 1 Credits |
APC 495 – Capstone ProjectThe 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. Prerequisites
| 3 Credits |