Full Stack Development Immersive

See Program Overview

START:
23 November, 2020
DURATION:
30 weeks
CREDIT:
24

INSTRUCTORS:

Categories

The Full Stack Development Immersive is designed to take individuals with little to no programming experience and make them successful software developers. The program consists of 16, 1-unit semester equivalent courses and 4, 2-unit semester equivalent courses for a total program length of 30 weeks. The student workload for this program is a minimum of 1080 hours, where 360 hours is dedicated to contact work or instruction and 720 hours or more of outside study or preparation.

The term “Full Stack” means that students will be working with every layer in the “stack” of a typical web application: user interface, front end (browser), middle tier, and back end (server and database). The program has a deep emphasis on the most popular current web technology languages: HTML, CSS, JavaScript, React, Python and others. It will also cover many peripheral tools, technologies and methodologies such as GitHub, Agile and SCRUM. The term “immersive” is in reference to the delivery style. Students will be building websites and applications as they work through each week of the program.

These sites and programs will start out as relatively simple single page websites, to fully functioning web applications with integrations to external data sources and mobile app capability. At the end of the program, students will build applications using everything they have learned throughout the program in a setting that will reflect a typical web startup or technology department at a large company. They will leave the program having deployed a fully functioning web company that is live on the web and accessible through a mobile device.

FSDI 101: Introductory HTML & CSS (1 unit)

This course is designed to cover the fundamentals of the HTML programming language and CSS creation of rules that specify how the content of an element should appear. Students will develop skills like creating the basic structure of a website, text, lists and images. They will create their first HTML5 website with each of the elements presented in the course. Students will gain a basic understanding of the functions and inner-workings of CSS, how to write CSS rules, and how to apply CSS rules to HTML pages.

FSDI 102: Intermediate HTML & CSS (1 unit)

This course presents an intermediate-level HTML programming language and CSS creation of rules that specify how the content of an element should appear. Students will develop skills like creating the more advanced structures of a website, such as images, tables as well as audio and video integration. They will create an HTML5 website with each of the elements presented in this and the previous course. Students will gain a thorough understanding of the functions and inner-workings of CSS, how to write CSS rules, and how to apply CSS rules to HTML pages.

FSDI 103: Programming Fundamentals (1 unit)

This course teaches students how to program in Scratch, an easy to use visual programming language. In particular, the course will introduce students to the fundamental principles of computing and will help them think like software engineers. Since programming is fundamentally about figuring out how to solve a series of problems and writing relating algorithms, a clear set of steps to solve any problem will be presented in this course. Students will learn how to develop an algorithm, progress to reading code, then understand how programming concepts relate to algorithms.

FSDI 104: JavaScript Fundamentals (1 unit)

This course presents the key concepts in computer programming using JavaScript. Students will learn the basic principles of how computers create models of the world by using data and how JavaScript is utilized to change the contents of an HTML page. Students will gain an understanding of the basics of JavaScript and how the Document Object Model (DOM) allows access to change a document’s contents while it is loaded into the browser. Students will also explore how events are used to trigger code.

FSDI 105: jQuery Fundamentals (1 unit)

This course presents the principles of jQuery and how it can make the process of writing scripts faster and easier. Students will learn how to take a series of common tasks that require many lines of JavaScript code to accomplish and wrap them into methods that can be called with a single line of code. In addition, students will be introduced to Ajax and Application Programming Interfaces (APIs), including new APIs that are part of HTML5 and those of sites like Google Maps.

FSDI 106: JavaScript and jQuery Solutions (1 unit)

This course is designed for students to utilize fundamental JavaScript and jQuery knowledge to create a project that can demonstrate their basic knowledge of each. Students will continue to practice writing code and learning more advanced topics of JavaScript and jQuery, given their importance for full stack developers because jQuery is the most widely deployed JavaScript library, with 3 to 4 times more usage than any other JavaScript library on the web.

FSDI 107: Asp.net Core Solutions (1 unit)

This course provides a basic overview of Asp.net, an open-source server-side web application framework designed for web development to produce dynamic web pages. This is a unique course focused on a specific product that was developed by Microsoft that is commonly used by full stack developers in a wide variety of programming fields and technology-based applications. Students will be able to program and build dynamic web sites, web applications and web services using Asp.net Core, a new open-source modular web framework that is a successor to Asp.net.

FSDI 108: Introductory React (1 unit)

This course explores JavaScript based front-end application development using React.js. Students will use JavaScript ES6 to develop a React application. They will be introduced to various aspects of specific React components, or smaller pieces of code, which allow for more complex user interface (UI) designs and the creation of reusable UI components. In addition, students will learn about React router and its role in developing single-page applications.

FSDI 109: Intermediate React (1 unit)

This course focuses on designing controlled forms. Students will be introduced to Flux architecture as a design pattern and Redux as a predictable state container for JavaScript apps or an application data-flow architecture. The course explores various aspects of Redux and its use to develop React-Redux powered applications. Students will then learn how to perform asynchronous calls to communicate with a REST API.

FSDI 110: Introductory Python (1 unit)

This course presents the basic principles of Python, a general-purpose coding language that can be used for other types of programming and software development besides web development, in contrast to HTML, CSS and JavaScript. This includes back end development, data science, and writing scripts among other things. Students will build a Python application utilizing lists, if statements, if else statements, dictionaries, classes and functions. A particular focus will be given to testing and debugging a Python application for quality control purposes.

FSDI 111: Intermediate Python and Flask (1 unit)

This course is designed to teach students how to leverage the Flask micro web framework using Python programming language to build and run software applications of various types. Throughout this course students will learn how to create micro-services, write and employ templates to create graphical frontends for their web applications, connect applications to databases to allow users to create, read, update and delete persistent records, leverage web forms to obtain user input and more. The course presents some classical examples for analysis and development by the student, such as building a restful backend that interacts with a database to store user data, a blog type website and a basic e-commerce or online store type application.

FSDI 112: Introductory Django (1 unit)

This course takes an expanded look at Python as a programming language building on the student’s introductory Python knowledge, particularly focusing on Django, a high-level Python web framework that encourages rapid development and clean, pragmatic design. Students will be exposed to the peer development process of a web-based application, including its testing and deployment using Django.

FSDI 113: Intermediate Django (1 unit)

This course is designed to introduce students to more complex problems surrounding the development and deployment of a Django application. The user will gain intimate knowledge on how to build a more robust, secure and scalable application using the Django framework. Students will experience why Django is the most popular Python framework for web development and a key tool for full stack developers seeking to use a framework that includes all the necessary features by default instead of offering them as separate libraries.

FSDI 114: Algorithms and Data Structures (1 unit)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Python implementations. It covers elementary data structures, sorting, and searching algorithms. Using a combination of data structures and algorithms, students will learn how to apply them to drastically improve the performance of a program by designing efficient data structures which are key to designing efficient algorithms.

FSDI 115: User Experience and Responsive Design (1 unit)

This course is focused on helping students build a complete design project from start to finish while applying the principals and guidelines of UX design, such as user testing and wire frames. Students will learn how responsive design is used to build and end product that will provide a good user experience across as many devices as possible. Their project will have Responsive Web Design (RWD) functionality that reflects dynamic changes to the appearance of a website depending on the screen size and orientation of the device being used to view it, as well as page elements that reshuffle as the viewpoint grows or shifts.

FSDI 116: Software Development Methodology Fundamentals (1 unit)

This course presents several aspects of the software development life cycle (SDLC), an iterative and multi-step process that provides a systemic approach for building and delivering software applications. Students will be exposed to methodologies like Agile, Scrum and test-driven development. Students will learn how to use certain methodologies, which project managers employ for the design, planning, implementation and achievement of their overall project objectives. Students will be required to engage in a collaborative effort of forming self-organizing and cross-functional teams, as well as defining the end user.

FSDI 117: Agile Architecture and Software Project Management (2 units)

This course presents some of the fundamentals of software architecture and design patterns within an Agile environment. Students will write code based on various design patterns and will select the most appropriate architecture that is adaptable and applicable to their project. Students will review various tasks associated with Software Project Management, such as cost and effort estimation, an essential consideration for all freelancers and junior full stack developers.

FSDI 118: Capstone I: User Experience (2 units)

This course is designed to integrate several concepts and tools discussed in previous courses. Students will begin working on the basic programing tasks for their final Capstone project. In particular, focusing on designing, building and testing user experience (UX) aspects of the project. A special focus will be made on branding, usability and function as key drivers that enhance the experience that people have while interacting with a product while making sure they find value in what is being provided.

FSDI 119: Capstone II: Agile Methodology and Architecture (2 units)

This course will take students through the process defining a development approach and general architecture for the final Capstone project. Students will continue to develop their project using an Agile methodology. Students will implement the principles of adaptive planning leading to flexible responses to change while also employing architectural styles and design patterns that allow the incorporation of any change in the development process.

FSDI 120: Capstone III: Project Management (2 units)

This course concludes the Capstone series and Full Stack Development Immersive program. Students are required to finalize their Capstone projects, by implementing various programming principles presented in the program and by demonstrating their own ability to manage the development process and financial feasibility of their respective projects. Students will be launching their projects as live websites or applications that can be used to demonstrate the competencies they acquired in the program at a minimum, and if possible, as fully functioning tools that provide value to society. Students are required to present their final projects to their peers and submit a written report to the instructor, simulating a real-life project rollout scenario to future employers.