Javascript
JavaScript is the programming language of HTML and the Web
You will be equipped with the most in-demand skills to stand out in the software development job market. All courses are designed to help you launch your new career and each course contains practical assignments to build your portfolio.
JavaScript is the programming language of HTML and the Web
MEAN is a free and open-source JavaScript software stack for building dynamic websites and web applications. The MEAN stack is MongoDB, Express.js, AngularJS, and Node.js
Native mobile apps are built for a specific platform. Web apps are accessed via the internet browser
Algorithms are the processes by which we optimize efficiency, performance, speed, and scalability of our applications.
Software that provides an interface to a database for information storage and retrieval.
(Subject to Change)
The Science and Technology of Consciousness
This course is an introduction to the study of consciousness in practical experience (using the Transcendental Meditation technique) and intellectual understanding using the principles of consciousness.
Intro to Programming with JavaScript
In this course, you will learn the hidden potential of JavaScript functional language, the course will introduce you to the Document Object Model (DOM) manipulation and events handling, with an introduction to ECMAScript6 (ES6) features. At the end of the course you will be able to solve a few common JavaScript problems.
Topics include:
● Intro to Git
● Basic HTML5
● CSS box model and intro to layout
● Intro to Bootstrap
● Core concepts of JavaScript (JS)
● Introduction to DOM
● Introduction to obtrusive events handling
● Data types
● Arrays
● Variables
● Conditional statements
● Expressions and operators
● Traditional looping
● Scoping, global scope
● Simple recursion
● Regular expressions
Object-Oriented Programming in JavaScript
In this course, you will gain proficiency in using JavaScript as a functional programming language and deeper understanding to some fundamentals. You will learn object-oriented programming (OOP) principles and the particular flavor of JavaScript’s dynamic object model, including the new features of ES6.
Topics include:
● Imperative Javascript vs Object-Oriented Javascript vs Functional Style
● Closures
● ES6: Arrow functions, rest operator and destructuring
● Pure functions
● Higher-order functions
● The object model (inheritance, prototype-based OOP, creating hierarchies)
● Classes (function constructors), inheritance and prototype
● The meaning of “this”
● Using call() and apply() and bind()
● Try / catch, error
● Working with objects (creating objects, methods, getters/setters)
● Recursive algorithms
● Event Loop and call-stack
● callbacks
● Array new API: Map, Reduce, Filter
● Final project
Introduction to Algorithms
In this course, you will learn core computer science concepts for writing efficient and effective algorithms. Using algorithms in your programming allows you to improve the efficiency, performance, speed, and scalability of your applications. You will learn what algorithms are, why they are important, and how to code them out in JavaScript. You will also learn other important programming concepts along the way such as functional programming, time complexity, recursion, and other important concepts. This course is very good for anyone who is interviewing for engineering jobs at both large and small companies. Interviewers will very often ask candidates to write algorithms out in code, and this course will prepare you very well to do that and will absolutely help you to excel in technical interviews.
Topics include:
● Graph algorithms
● Computational complexity (worst, best, average)
● Runtime complexity
● Binary Trees
● Sort and search algorithms
● Classic algorithms (Palindromes, Anagrams, Matrix Spiral, Fibonacci)
Modern Asynchronous Programming
This course goes deep into asynchronous web programming concepts, and covers the most essential design patterns for JS, that includes the observer pattern, factory, decorator and many more. It also covers working with Web API and Immutable data structures.
Topics include:
● Collaborative Git
● Intro to TypeScript and Bundlers
● Asynchronous JavaScript
● Event-Loop
● History API, Geolocation API
● Ajax (HTTP, Ajax, JSON, Fetch, CORS, Debugging)
● Promises and Async/Await
● Reactive Programming
● RxJS Observables and Operators
● Design Patterns: Module, Prototype, Singleton, Observer, Façade, Factory, Decorator, Proxy, Strategy, Memoization.
● Modern Web Browsers
Databases and Software Development
This course will cover the essentials of DB design principles and an introduction to SQL and noSQL databases. it also provides an opportunity to practicalize the programming knowledge you have gained from prior courses by having you work on a set of small to mid-scale software development projects. You will also gain hands-on experience in building a fully functional Web application using all the skills you have learned in the previous courses.
Topics include:
● DB design principles
● Primary and Foreign keys
● DB Relationship
● SQL vs noSQL
● Data modeling
● SQL/NoSQL drivers API
● Working with the DOM
● Working with Asynchronous JS
● Building a fully functional CRUD application (Create, Read, Update and Delete)
● Working with API’s
● Working with Promises and Observables objects
Leadership for Technical Managers
The goal of this course is to provide students with knowledge and skills in leadership, including communication skills as preparation for future leadership roles. By the end of this course, students will understand the answers to key questions regarding effective leadership, including the following: Are there ‘natural-born’ leaders? Do you have to have charisma to lead effectively? What one asset is required to be a leader? What is the difference between managing and leading? What are the many ‘intelligences’ required to lead in this era? What is ‘management malpractice’ and how does it lead to self-sabotage? Knowing that feedback is essential to the leading process, how do we get over the fear of giving and receiving it? What is the source of 80% of the problems found in the workplace? Is there scientific research available to assist the organization in improving its individual and team leadership skills? Guest speakers will include eminent Entrepreneurs, Computer Scientists, Philanthropists, Academics and other prominent leaders in society.
Server Side Programming
This course focuses on using JavaScript at the backend (NodeJS). You will learn how NodeJS works and gain a deep understanding of its core application programming interface (API). The course covers how the JS compiler engine (V8) works and how to structure code using modules, and how asynchronous code works in Node and the Node event loop. The course also teaches Node Package Manager (NPM), how to build a web server, how to work with Express framework, and how to use SQL/NoSQL databases such as MySQL/MongoDB.
You will learn all the techniques that define a modern web application including persisting data in the database and building a Restful API.
The course also covers many other computer science concepts.
Topics include:
● HTTP & Rest API design
● Maintaining application state
● Node API
● Node Package Manager (npm)
● Model-Controller architecture, Express framework, and middlewares
● Server-side routing
● Token-based authentication
● Dockerizing App
● Containers Orchestration
Web Application Development 1
React is the most popular library for building powerful web applications. In this course, you will learn how to use React and ES6 to build robust, scalable applications from the ground up using the latest Redux patterns to maintain their application state.
Topics include:
● Component-based web application development
● Components Design Patterns
● Consuming rest APIs
● Persistence with browser API
● JSX and React API (props, proptypes, events, refs)
● Application data flow
● Deploying React apps
Mobile Application Development
This course transitions from web development to mobile application development using React Native, a popular framework from Facebook that enables cross-platform native applications to run using JavaScript without the need to know Java or Swift. In the course, you will use your knowledge of Flexbox specification to build layouts, along with some modern JavaScript, called JavaScript XML (JSX), which is a JavaScript extension. You will gain experience with React Native and its paradigms, application architecture, and user interfaces. The course culminates in a final project where you will implement a mobile app entirely of your own design.
Web Application Development 2
In this course, you will learn Reactive Programming Architecture of Single Page Web Applications (SPA) along with all the necessary skills to build a full modern web application using TypeScript and Angular. You will learn deep understanding of how Angular works.
Topics include:
● Change detection
● Reactive RxJs programming with observables and subjects
● The Shadow DOM
● Zones
● Modules, components, custom directives and pipes
● Services and dependency injection
● Angular compiler: JIT and AOF compilation
● Forms (template driven and data driven)
● Routing, guards and route protection
● HTTP client
● JWT JSON Web Token authentication
Cloud Programming
This course will cover cloud programming patterns and will allow students to practice working with various web cloud services, including AWS Serverless functions and Google Cloud functions.
Topics include:
● Database as a service (Atlas)
● Google Cloud Platform (Functions)
● API in the cloud
● AWS Lambda, Serverless
● Web Services
● Final Project
Final Project
In this project, you will apply the tools and technologies you learned to create and deploy a web and mobile app, which involves building a full stack back-end API and a user interface using any front-end framework along with a supported mobile application.
Career Strategies in Information Technology
This course has a practical focus on preparing MSD students to gain employment after they graduate. Students learn networking strategies, practice interviewing techniques, and use the telephone and Internet for extending their professional networks. They also develop scripts for introducing themselves and describing their achievements and capabilities with confidence in various formats, writing about themselves in the cover letter, resume, and portfolio, and speaking about themselves and what they can offer to potential employers.
Students extend their preparation into an active job search with employers. Technical interview training is provided by MSD Faculty. Management Faculty provides application and interview coaching support that results in continuous self-improvement and self-awareness for being successful in starting a new job. Job success is further supported by students developing: personal budgets, IT project management skills, and professional communication skills.
If you already have strong programming experience and prefer to focus on other programming languages, visit our sister program website:
(Subject to Change)
Problem Solving with Computational Thinking
This course focuses on teaching students the higher order (critical) thinking skills needed in computer science (analysis, evaluation, logic and reasoning). The course
starts by explaining how computers work, and then focuses on having students read and write pseudo code as an easy way to introduce programming concepts such as variables, selection, repetition, and arrays without having to worry too much about syntax.
Procedural Programming
This course introduces the fundamental concepts related to computer programming,preparing students with the skills to write basic computer programs, and the knowledge to understand basic programs written by others.
Topics include:
Built-in data types
Flow
Control using conditionals and loops
Arrays
Console I/O
Recursion
Using libraries
Using classes to create their own data types
Object Oriented Programming
This course covers programming, specifically focusing on object-oriented concepts and creating GUI applications.
Topics include:
Classes and objects
Primitives and references
Inheritance and polymorphism,
Interfaces and abstract classes
Exception handling
GUI programming in Swing
Serialization and file I/O
Data Structures
Students use computer programming laboratory problems to apply the principles of data structure organization in a practical environment and develop advanced programming skills. The organizing power of knowledge is found to be the source of order in computer data structures.
Topics include:
Abstract data types
Internal representation of data
Stacks
Queues
Linked lists
Hash maps
Binary trees
Heaps
Red-black trees
3-4 trees and B trees
Discrete Mathematics
Discrete mathematics is becoming increasingly important because of its wide applicability in computer science, as well as in management and the other sciences. Two
key processes in discrete mathematics studied in this course are algorithmic problem solving and recursion.
Topics Include:
Logic and sets
Graph theory
Difference equations
Health Related Fitness
This course presents the latest knowledge from Western science and the Maharishi Consciousness-Based Health Care program concerning the optimum daily routine for establishing the foundation for lifelong excellent health and growing enlightenment. The major focus is on the details of the ideal routine of sleep, diet, exercise, meaningful activity, recreation, and the importance of the regular experience of pure consciousness for optimum health and evolution. This course combines both lectures and physical activity labs.
“I prefer the modular system because we focus on one subject at a time. We can go deeper into each course, digest that knowledge, and then progress onto the next course.”
—Kasahun Tahone
Our program includes an intensive career strategies workshop to help you prepare to secure a job. Topics include company searches, resumes, interview skills and offer evaluations.
Our experienced career staff is there to guide you through all of this preparation. We also help evaluate your offers including salary and fringe benefits. You’ll get professional help with:
Our Coaches are experienced professionals with backgrounds in computer science and writing, editing, business, and IT recruiting.
Live practice sessions: Students practice both telephone and in-person interviewing. Each student is given opportunities to practice interviews and receive feedback.
Master’s in Software Development
Maharishi International University
1000 North Fourth St.
Fairfield, Iowa 52557 USA
(800) 563-9673 (call or text)
(641) 819-3013 (call or text)