B.A.S. Application Development
Curriculum

Main faculty member: John Stager

Courses in the BAS AD curriculum include Web application development, mobile application development, cloud computing, and relational database technology.

Additional course work includes software lifecycle, discrete math for computer science, and project management.

Each major topic includes a practicum to ensure concepts learned can be applied. There is also an internship or capstone project to provide more real-world experience before graduation.

All classes are five (5) credits.

Prereq: Program entry This course focuses on object-oriented programming using Java with an emphasis in the creation and use of software components. It also presents other programming concepts such as reusability, the model-view-controller (MVC) design pattern, elementary data structures (linked lists, binary trees), recursion, and algorithmic analysis using Big-O notation.

Prereq: Program entry An overview of tools, processes and practical approaches that support a software product's life cycle, from inception to obsolescence. Topics include: software project life-cycle management; team member roles; defining target customers; project tasks and timelines; responding to changing project requirements; dealing with limited time and resources; development paradigms such as waterfall and agile; quality documentation; and tools for source code management, automated unit testing and debugging. The course also covers legal and ethical issues as they relate to any part of the software product's life cycle; such as legal and ethical impacts of software failures; functionality and expandability limitations; and licensing and support agreements.

(Natural Science GEN ED) Prereq: Program entry The purpose of this course is to understand and use (abstract) discrete structures that are backbones of computer science. In particular, this class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.

Prereq: Program entry An intermediate course in developing a database-driven Web application incorporating MVC patterns. The course covers state maintenance, CRUD and REST integration on both server and client side. Students parse, cache and integrate API data achieved by third party providers into their application. Technologies can include jQuery, CURL, AJAX and parsing JSON and XML. Students explore legal and ethical issues that are specific to the Web application environment, such as security and privacy of information and how Web applications bring benefits as well as unintended consequences.

Prereq: AD 300 Component Software Covers fundamental data structures and their algorithms and applications in problem solving by programming. Includes linked lists, stacks, queues, priority queues, binary and multi-way trees, directed graphs, hashing, and internal and external sorting.

Prereq: Program entry This course presents strategies for effective communication in professional settings with an emphasis on the technology environment. Students apply best practices in formal and informal situations, for in-person and virtual communication. Best practices to support effective development team collaboration are examined and discussed in the context of various case studies. Students apply communication styles to specific situations and audiences. The course also examines technical and professional communication in light of the ethical considerations, as well as the intersection with legal issues, such as copyright fair use, and intellectual property.

Prereq : Web Apps This course introduces students to the fundamentals of mobile application development, both in terms of native and Web applications. Students incorporate REST-based services and integrate location aware third party APIs and mapping tools to build device agnostic applications. Students explore legal and ethical issues that are specific to the mobile environment, such as security and privacy of information, and how mobile apps can bring benefits as well as unintended consequences.

Prereq: Program entry Covers intermediate programming in a relational database. Provides an introduction to non-relational databases as used in Cloud Computing and Big Data. The RDMS topics include stored procedures, triggers, indexing and abstraction techniques, query construct efficiency. Compare and contrast RDMS to noSQL databases: uses, terminology, indexing, storage, compute consumption, ROI, reliability.

Prereq: Completed at least one practicum This course provides a comprehensive overview of current processes, practices and tools used to manage software development projects. Using a combination of industry-relevant case studies and projects, students learn and apply best practices for planning, organizing, scheduling, and controlling software projects, and how to adapt strategies to specific project needs and constraints. Topics also include requirement identification and analysis, project documentation, and legal and licensing requirements. The course emphasizes legal and ethical issues that relate to all aspects of project management; such as issues relating to contractual agreements and licensing, resource acquisition and management, testing and deliverables, and customer support and management.

Prereq: Web Apps and SW Lifecycle In this course students work in teams to create an MVC-based Web application. Students store and share code via a software versioning system and utilize small team agile strategies. Students write requirements documents, build the application in stages, and integrate components into a larger group project. During the practicum, students discuss legal and ethical issues that relate to working in a diverse and technical collaborative environment, and issues that are specific to Web application development and software lifecycle.

Prereq: Web Apps and Data Structures This course introduces students to the fundamentals of cloud computing, both in terms of software as a service (SaaS ) and infrastructure as a service (IaaS). Students learn tools and strategies to build Web applications based on cloud services, integrate third party APIs and integrate big data tools such as predictive analytics. Students explore legal and ethical issues that are specific to the cloud computing environment, such as security, integrity and privacy of data; and continuity of service.

Prereq: Mobile Apps and SW Lifecycle In this course students work in teams to create a native mobile application. Students store and share code via a software versioning system and utilize small team agile strategies. Students write requirements documents, build the application in stages, and integrate components into a larger group project. During the practicum, students discuss legal and ethical issues that relate to working in a diverse and technical collaborative environment, and issues that are specific to mobile application development and implementation.

Prereq: Cloud Computing and SW Lifecycle In this course students work in teams to create cloud-hosted applications. Students store and share code via a software versioning system and utilize small team agile strategies. Students write requirements documents, build the application in stages, and integrate components into a larger group project. During the practicum, students discuss legal and ethical issues that relate to working in a diverse and technical collaborative environment, and issues that are specific to the cloud computing environment.

Prereq: Faculty permission Provides practical work experience and employment contacts by integrating academic studies with actual on-the-job training situations. Orientation to internships required prior to registration. Produce a major project that responds to a client problem or request. Work in teams or carry out an individual project as an intern/ extern. Select and work closely with industry mentors. Emphasis on research, accuracy, technology skills, timeliness, teamwork, professional ethics, quality, client/customer satisfaction and usability.