The B.S. in Software Development program is designed to meet this growing need while preparing experienced information technology professionals for successful careers as software designers and developers.
The program focuses on software application development and it is offered in two tracks which utilize either Java or C# to achieve similar objectives.
Information Technology Fundamentals
Introduction to IT
Introduction to IT examines information technology as a discipline and the various roles and functions of the IT department as business support. Students are presented with various IT disciplines including systems and services, network and security, scripting and programming, data management, and business of IT, with a survey of technologies in every area and how they relate to each other and to the business.
IT Foundations is the first course in a two-part series preparatory for the CompTIA A+ exam, Part I. Students will gain an understanding of personal computer components and their functions in a desktop system, as well as computer data storage and retrieval; classifying, installing, configuring, optimizing, upgrading, and troubleshooting printers, laptops, portable devices, operating systems, networks, and system security; recommending appropriate tools, diagnostic procedures, preventative maintenance and troubleshooting techniques for personal computer components in a desktop system; strategies for identifying, preventing, and reporting safety hazards and environmental/human accidents in a technological environments; and effective communication with colleagues and clients as well as job-related professional behavior.
IT Applications is a continuation of the IT Foundations course preparatory for the CompTIA A+ exam, Part II. Students will gain an understanding of personal computer components and their functions in a desktop system, as well as computer data storage and retrieval; classifying, installing, configuring, optimizing, upgrading, and troubleshooting printers, laptops, portable devices, operating systems, networks, and system security; recommending appropriate tools, diagnostic procedures, preventative maintenance and troubleshooting techniques for personal computer components in a desktop system; strategies for identifying, preventing, and reporting safety hazards and environmental/human accidents in a technological environments; and effective communication with colleagues and clients as well as job-related professional behavior.
Critical Thinking and Logic
Reasoning and Problem Solving helps students internalize a systematic process for exploring issues that takes them beyond an unexamined point of view and encourages them to become more self-aware thinkers by applying principles of problem identification and clarification, planning and information gathering, identifying assumptions and values, analysis and interpretation of information and data, reaching well-founded conclusions, and identifying the role of critical thinking in the disciplines and professions.
Introduction to Communication
This introductory communication course allows students to become familiar with the fundamental communication theories and practices necessary to engage in healthy professional and personal relationships. Students will survey human communication on multiple levels and critically apply the theoretical grounding of the course to interpersonal, intercultural, small group, and public presentational contexts. The course also encourages students to consider the influence of language, perception, culture, and media on their daily communicative interactions. In addition to theory, students will engage in the application of effective communication skills through systematically preparing and delivering an oral presentation. By practicing these fundamental skills in human communication, students become more competent communicators as they develop more flexible, useful, and discriminatory communicative practices in a variety of contexts.
English Composition I
English Composition I introduces learners to the types of writing and thinking that are valued in college and beyond. Students will practice writing in several genres with emphasis placed on writing and revising academic arguments. Instruction and exercises in grammar, mechanics, research documentation, and style are paired with each module so that writers can practice these skills as necessary. Comp I is a foundational course designed to help students prepare for success at the college level. There are no prerequisites for English Composition I.
Survey of United States Constitution and Government
This course is an introduction to the U.S. Constitution and the U.S. government. Topics include (1) structure and relevance of the U.S. Constitution, (2) structure and function of governmental branches, and (3) political participation and policy making.
Introduction to Humanities
This introductory humanities course allows students to practice essential writing, communication, and critical thinking skills necessary to engage in civic and professional interactions as mature, informed adults. Whether through studying literature, visual and performing arts, or philosophy, all humanities courses stress the need to form reasoned, analytical, and articulate responses to cultural and creative works. Studying a wide variety of creative works allows students to more effectively enter the global community with a broad and enlightened perspective.
Introduction to Geography
This course will discuss geographic concepts, places and regions, physical and human systems and the environment.
This course provides further application and analysis of algebraic concepts and functions through mathematical modeling of real-world situations. Topics include: real numbers, algebraic expressions, equations and inequalities, graphs and functions, polynomial and rational functions, exponential and logarithmic functions, and systems of linear equations.
Applied Probability and Statistics
Applied Probability and Statistics was created as a clone of the Applied Healthcare Statistics course, with the healthcare content removed. Applied Probability and Statistics incorporates real-world scenarios for BU and IT students, as appropriate. This course will replace Introduction to Probability and Statistics in the standard path, for a more relevant and engaging student experience.
General Science Content
Integrated Physical Sciences
This course provides students with an overview of the basic principles and unifying ideas of the physical sciences: physics, chemistry, and Earth sciences. Course materials focus on scientific reasoning and practical and everyday applications of physical science concepts to help students integrate conceptual knowledge with practical skills.
Natural Science Lab
This course gives you an introduction to using the scientific method and engaging in scientific research to reach conclusions about the natural world. You will design and carry out an experiment to investigate a hypothesis by gathering quantitative data.
Scripting and Programming
Scripting and Programming - Foundations
Scripting and Programming - Foundations provides an introduction to programming, covering basic elements such as variables, data types, flow control, and design concepts. The course is language-agnostic in nature, ending in a survey of languages and introduces the distinction between interpreted and compiled languages. There are no prerequisites for this course.
Web Development Foundations
This course prepares students for the CIW Site Development Associate certification. The course introduces students to web design and development by presenting them with HTML5 and CSS, the foundational languages of the web, by reviewing media strategies, and by using tools and techniques commonly employed in web development.
Web Development Applications
User Interface Design
This course covers tools and techniques employed in user interface design including web and mobile applications. Concepts of clarity, usability and detectability are included in this course as well as other design elements such as color schemes, typography, and layout . Techniques like wireframing, usability testing, and SEO optimization are also covered. This course prepares students for the CIW User Interface Designer certification.
Network and Security
Network and Security – Foundations
Network and Security - Foundations introduces students to the components of a computer network and the concept and role of communication protocols. The course will cover widely used categorical classifications of networks (i.e. LAN, MAN, WAN, PAN, and VPN) as well as network topologies, physical devices, and layered abstraction. The course will also introduce students to basic concepts of security covering vulnerabilities of networks and mitigation techniques, security of physical media, and security policies and procedures.
Business of IT
Business of IT – Project Management
In this course, students will build on industry standard concepts, techniques, and processes to develop a comprehensive foundation for project management activities. During a project's life cycle, students will develop the critical skills necessary to initiate, plan, execute, monitor, control, and close a project. Students will apply best practices in areas such as scope management, resource allocation, project planning, project scheduling, quality control, risk management, performance measurement, and project reporting. This course prepares students for the following certification exam: CompTIA Project+.
Business of IT – Applications
Business of IT – Applications examines Information Technology Infrastructure Library ( ITIL®) terminology, structure, policies, and concepts. Focusing on the management of Information Technology (IT) infrastructure, development, and operations, students will explore the core principles of ITIL practices for service management to prepare them for careers as IT professionals, business managers, and business process owners. This course has no prerequisites.
Scripting and Programming - Applications
Scripting and Programming - Applications for undergraduates explores the various aspects of the C++ programming language by examining its syntax, the development environment, and tools and techniques to solve some real-world problems.
This course introduces the concepts of software engineering to IT core graduates. It is a standalone course that is critical to programs with emphasis in software development. This course emphasizes the need for a disciplined approach to software engineering by providing an overview of software and software engineering processes and their challenging nature. A generic process framework is covered to provide the groundwork for formal process models. Prescriptive process models such as the Waterfall Model and Agile Development are included. An introduction to the elements/phases of software engineering is introduced which includes Requirements Engineering, Design Concepts, Software Quality and Software Testing, and Project Management.
Software I builds object-oriented programming expertise and introduces powerful new tools for application development. You will learn about and put into action class design, exception handling, and other object-oriented principles and constructs to develop software that meets business requirements. This course requires foundational knowledge of object-oriented programming.
Software I – C#
Software I builds object-oriented programming expertise and introduces powerful new tools for C# application development. You will learn about and put into action class design, exception handling, and other object-oriented principles and constructs to develop software that meets business requirements. This course requires foundational knowledge of object-oriented programming. Scripting and Programming: Foundations and Scripting and Programming: Applications are prerequisites for this course.
User Experience Design
User Experience Design explores multiple tools and techniques used in user experience design. Students are presented with an in-depth view of activities involved in the design of user experience and have the opportunity to create several deliverables including persona profiles, information architectures, and prototypes of different levels of fidelity. In addition, the course also covers usability testing and the evaluation of quantitative and qualitative data derived from these and other experiments.
Software II - Advanced Java Concepts
Software II – Advanced Java Concepts refines object-oriented programming expertise and builds database and file server application development skills. You will learn about and put into action lambda expressions, collections, input/output, advanced error handling, and the newest features of Java 8 to develop software that meets business requirements. This course requires intermediate expertise in object-oriented programming and the Java language.
Software II - Advanced C#
Software II refines object-oriented programming expertise and builds database and file server application development skills. You will learn about and put into action lamda expressions, collections, and input/output to develop software with C# that meets business requirements. This course requires intermediate expertise in object-oriented programming and the C# language. The prerequisite for this course is Software I.
Software Quality Assurance
Software Quality Assurance applies a QA focus to every phase of the software development life cycle. This course investigates best practices for quality analysis, quality planning, and testing strategies as they pertain to the everyday practice of software development. Students will come to understand how their work fits into the bigger picture: how QA, testing, and code-writing practices interact within specific process models; the potential impact of new code on existing code or on other applications; the importance of usability and the influence users have on the ultimate success of an application. Students will explore test plans, test cases, unit tests, integration tests, regression tests, usability tests, and test and review tools.
This course covers basic elements of technical communication, including professional written communication proficiency; the ability to strategize approaches for differing audiences; and technical style, grammar, and syntax proficiency.
Data Management - Foundations
This course introduces students to the concepts and terminology used in the field of data management. They will be introduced to Structured Query Language (SQL) and will learn how to use Data Definition Language (DDL) and Data Manipulation Language (DML) commands to define, retrieve, and manipulate data. This course covers differentiations of data—structured vs. unstructured and quasi-structured (relational, hierarchical, XML, textual, visual, etc); it also covers aspects of data management (quality, policy, storage methodologies). Foundational concepts of data security are included.
Data Management - Applications
This course covers conceptual data modeling and provides an introduction to MySQL. Students will learn how to create simple to complex SELECT queries including subqueries and joins, and will also learn how to use SQL to update and delete data. Topics covered in this course include exposure to MySQL; developing physical schemas; creating and modifying databases, tables, views, foreign keys/primary keys (FKs/PKs), and indexes; populating tables; and developing simple Select-From-Where (SFW) queries to complex 3+ table join queries.
Structured Query Language
This course focuses on structured query language (SQL). It starts with a review of the basic statements and continues on to the creation of complex queries that affect multiple tables and utilize SQL functions. Data manipulation language (DML) and data definition language (DDL) are also covered, thus enabling the student to create and maintain database objects and modify data by using SQL commands.
Operating Systems for Programmers
This course covers operating systems from the perspective of a programmer including the placement of the operating system in the layered application development model. Primarily OSs provide Memory Management, Task Scheduling, and CPU allocation. Secondarily, OSs provide tools for file storage/access, permission control, event handling, network access, and cross-process interaction. OSs also provide tools for debugging problems within a single process or within groups of programs.
Leadership and Management
Organizational Behavior and Leadership
Organizational Behavior and Leadership explores how to lead and manage effectively in diverse business environments. Students are asked to demonstrate the ability to apply organizational leadership theories and management strategies in a series of scenario-based problems.
Mobile Application Development
This course introduces students to programming for mobile devices using a Software Development Kit (SDK). Students with previous knowledge of programming will learn how to install and utilize a SDK, build a basic mobile application, build a mobile applications using a graphical user interface(GUI), adapt applications to different mobile devices, save data, execute and debug mobile applications using emulators, and deploy a mobile application.
Mobile Application Development Using C#
Mobile Application Development Using C# introduces students to programming for mobile devices. Building on students’ previous knowledge of programming in C#, this course investigates Xamarin.Forms and how it can be used to build a mobile application. This course explores a broad range of topics, including mobile user ingterface design and development; building applications that adapt to different mobile devices and platforms; managing data using a local database; and consuming REST-based web services. There are several prerequisites for this course: Software I and II, and UI Design.