Information Technology Application Development Course Descriptions
ITAD 300: Software Engineering
Credits: 5.0The course journeys through multiple facets of software engineering, including software process models, software testing, requirements engineering, and systems engineering. Additionally, the software development process is analyzed to explore conceptual design, product release, and user testing. Required completion of CS 142 and ENGL& 101 or equivalent. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Explain software process models.
- Examine agile software development and understand its relevance in software engineering; explore techniques and approaches to project management.
- Understand details of agile development, for example continuous integration / continuous delivery, epics, sub-epics, and user stories.
- Analyze various stages of software testing, including development, release, and user testing.
- Analyze UML (Unified Modeling Language) and the object oriented approach using current programming languages.
- Discuss ethical issues and sociotechnical considerations when designing software.
ITAD 315: Discrete Mathematics for Developers
Credits: 5.0Students are introduced to logic and proof, structures and algorithms,and number theory. Focus is also given to induction and recursion and counting and discrete probability to provide the essential foundation and framework for software development. Students will program some problems to see how discrete math is used in industry. Required completion of MATH& 141. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Utilize propositional logic, inference, and proof.
- Define structures, sets, functions, and matrices.
- Make use of mathematical induction and recursion definitions on arithmetic sequences.
- Examine counting theory and its application on a series of events to determine all possible outcomes.
- Define discrete probability and its purpose for determining outcomes of individual events.
- Program solutions to some common discrete math problems and algorithms.
ITAD 330: Database Models and Design
Credits: 5.0This course examines the functional design and operation of databases in a computing environment. Database theory and appropriate modeling are discussed. The class additionally looks at the inner workings of databases and any connected software applications. Prerequisite(s): ITAD 300 and ITAD 315.
Course Level Objectives
- Define the parameters discovered during the information gathering process in order to successfully design a database that meets the requirements of the critical stakeholders.
- Identify best practices utilized in designing databases and the various forms of normalization.
- Demonstrate knowledge of structured, semi-structured, and unstructured databases.
- Design and implement software connections to databases using programming languages.
ITAD 345: Usability Engineering
Credits: 5.0This class explores foundational components of usability engineering. Subjects covered include: defining usability engineering, establishing a sound usability engineering lifecycle, usability heuristics, and analysis of usability testing methods. Required completion of ITAD 300 and ITAD 315. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Define usability, examine examples, and consider tradeoffs, and address differences in end users.
- Examine the usability engineering lifecycle by detailing goal setting, prototyping, and follow up.
- Understand usability heuristics by learning the user dialogue and language in order to develop consistency and efficiency.
- Analyze usability testing:selecting appropriate test subjects, maintaining ethics with the test users, and utilizing interviews and questionnaires.
ITAD 360: Application and Data Integration
Credits: 5.0This course examines the principles and practices of developing processes to manipulate data in a variety of forms and structures for the purposes of enterprise integration, data analytics, or other data-intensive applications. Required completion of ITAD 330 and ITAD 345. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Understand the uses and types of Application Programming Interface (API) architectures.
- Design and work with Application Programming Interfaces (APIs).
- Analyze application design principles for working with big data sets.
- Create and manipulate data in structured, semi-structured, and unstructured databases. Additionally, manage multiple data sources.
- Work with unstructured data and manage data in motion.
ITAD 375: Cloud Computing
Credits: 5.0This class takes a requisite look at the cloud computing landscape and offers insights into software as a service, platform as a service, and infrastructure as a service. Additionally, an analysis of creating scalable systems in elastic environments is made through the lens of software engineering. This class will examine all kinds of cloud services including but not limited to microservices. Required completion of ITAD 330 and ITAD 345. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Define software as a service, platform as a service, and infrastructure as a service.
- Define public, private, and community cloud computing, noting strengths and weaknesses for each.
- Analyze, compare and contrast, and use different current cloud platform services.
- Determine and implement best security practices for cloud computing environments.
- Understand and use cloud technologies like microservices using modern cloud services.
ITAD 400: Mobile Application Development
Credits: 5.0The class inspects the necessary procedures required in developing software for various mobile platforms. A survey analysis includes creating imperative user designs and interfaces for native and hybrid software applications. The survey analysis includes security considerations for mobile applications. Prerequisite(s): ITAD 360 and ITAD 375.
Course Level Objectives
- Define user requirements for mobile applications and develop appropriate user interface design.
- Design native and hybrid mobile software applications.
- Compare and contrast the requirements for mobile software application development and architectures in differing platform environments.
- Develop mobile applications utilizing various technologies and programming languages to solve problems.
- Discover and implement best practices for securing mobile applications.
ITAD 415: Introduction to Machine Learning
Credits: 5.0The course takes an introductory look at machine learning, beginning with analyzing problems and creating appropriate tasks for training computing systems. Probability and similarities are utilized to aid in understanding and programming for the machine learning process. Artificial neural networks and how they are implemented to garner artificial intelligence are discussed. Additional topics include: decision trees, computational learning theory, performance evaluation and interval training. Required completion of ITAD 360 and ITAD 375. Prerequisite(s): Admittance to the Information Technology Application Development Program is required to take this course.
Course Level Objectives
- Select the appropriate search problem to use for a machine learning task.
- Analyze the use of probability and similarities for machine learning.
- Examine artificial neural networks and how they mimic biological neural networks in order to assist machine learning from various inputs.
- Demonstrate knowledge of decision trees, the foundational mechanism that machine learning builds upon.
- Assess performance evaluation methodologies and measurement techniques implemented in machine learning.
- Examine ethical challenges and question in machine learning and AI.
ITAD 430: Embedded Systems
Credits: 5.0The course introduces students to designing programming embedded systems. The course details the underlying development and design of embedded system components: boot up, memory management, peripherals, bus interfaces, power management, distributed computing, and Internet of Things (IoT). Prerequisite(s): ITAD 400 and ITAD 415.
Course Level Objectives
- Demonstrate the ability to analyze and create the boot up procedure, using startup code and bootloaders (allocated in memory) in order to load the embedded system.
- Implement memory management, utilizing the address space, by creating stack and heap storage for program usage.
- Configure and design peripheral interrupts and general purpose I/O for the embedded system.
- Develop distributed systems and understand IoT architecture and design.
ITAD 445: Emerging Trends
Credits: 5.0The course discusses current and emerging trends in the technology industry.It provides an opportunity for students to research and interact with innovative and disruptive technologies that are changing the programming landscape. Prerequisite(s): ITAD 430 and ITAD 460.
Course Level Objectives
- Discuss and analyze emerging trends within the industry.
- Classify and compare current and emerging trends, determining the magnitude in which they are affecting society and/or relevant disclipines.
- Evaluate current trends and formulate what future trends might develop as a result.
ITAD 460: Capstone I
Credits: 5.0This course is the firstof the two-part capstone practicum series. Students will implement their acquired knowledge through the creation of defined projects, portfolios, and established internships in order to refine and master software development skills and abilities. Prerequisite(s): ITAD 400 andITAD 415.
Course Level Objectives
- Detrmine the best software development model to implement for the capstone programming project.
- Select appropriate software application type, differentiating between mobile, cloud, and traditional programming applications, for development of the capstone programming project.
- Identify the best data algorithms to be used for the capstone programming project.
- Determine whether to use local or remote database storage for the capstone programming project.
ITAD 470: Capstone II
Credits: 5.0This course is the second of the two-part capstone practicum series. Students will implement their acquired knowledge through the creation of defined projects, portfolios, and established internships in order to refine and master software development skills and abilities. Prerequisite(s): ITAD 445 andITAD 460.
Course Level Objectives
- Detrmine the best software development model to implement for the capstone programming project.
- Select appropriate software application type, differentiating between mobile, cloud, and traditional programming applications, for development of the capstone programming project.
- Identify the best data algorithms to be used for the capstone programming project.
- Determine whether to use local or remote database storage for the capstone programming project.