star_border star_border star_border star_border star_border
Never before has the video game market been at a better time. There are currently many platforms available and the emergence of mobile devices has revolutionized the sector. The existence of multiple platforms implies great challenges for developers in decision making, both in the choice of platforms and in the sizing of work teams. One solution to these problems is to use a game engine, and without a doubt the most popular and used engine of the moment is Unity. Unity is the most popular engine for reasons such as its powerful tools, its ability to generate games on more than 20 different platforms, its excellent learning curve and the hundreds of add-ons available to it developed by third parties.
    star_border star_border star_border star_border star_border
    Welcome to the self paced course, Algorithms: Design and Analysis ! Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists. Specific topics in the course include: "Big-oh" notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), randomized algorithms (QuickSort, contraction algorithm for min cuts), data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of BFS and DFS, connectivity, shortest paths). Learners will practice and master the fundamentals of algorithms through several types of assessments. There are 6 multiple choice quizzes to test your understanding of the most important concepts. There are also 6 programming assignments, where you implement one of the algorithms covered in lecture in a programming language of your choosing. The course concludes with a multiple-choice final. There are no assignment due dates and you can work through the course materials and assignments at your own pace.
      star_border star_border star_border star_border star_border
      Software development teams frequently struggle with multiple issues between software development and systems operations teams. While the former are interested in offering frequent updates to add value and upgrades to the user experience, the latter are invested in safeguarding the value of the delivered product through platforms or softwares and its way to achieve it is by keeping a stable environment for the users. Today’s market demands from organizations and businesses of the new digital era to be agile on their software delivery and improve on their applications and web platforms. On top of that, new technologies, like the cloud and virtualization, have enabled the development of new tools to accelerate processes and achieve a tighter relationship between both teams. The needs for speed and security in web platforms and applications originated the DevOps culture, which empowers software development teams with tools to assure the stability of platforms while quickly delivering new version updates. In this MOOC you will learn the fundamentals of the DevOps culture. You will work with scripts and log checking in Linux. Also, we will go over the pillars of DevOps like Continuous Integration/Continuous Deployment, the paradigm shift in systems management with Infrastructure as Code and the creation of containers to assure the CI/CD pipeline. The topics featured in this MOOC are specially relevant to software developers since it enables them to manage software development efficiently on an individual or team scale. Git and github are the most used software versioning tools amongst development teams. While, they are not unique in their kind, they are the most widely accepted in the industry. By the end of this course you will acquire the competencies needed to manage software from a Linux system; we will focus on the Ubuntu distribution but the concepts can be generalized to other distros. Likewise, you will learn to use different commands that will help you during the operations of a DevOps project. In addition, you will be able to manage different software versions as an individual or as part of a development team.
        star_border star_border star_border star_border star_border
        As the Internet of Things (IoT) continues to grow so will the number of privacy and security concerns and issues. As a professional working in the field, it is essential to understand the potential security risks and how to best mitigate them. In this course, you will learn about security and privacy issues in IoT environments. We’ll explore the organizational risks posed by IoT networks, and the principles of IoT device vulnerabilities. We’ll also look at software and hardware IoT Applications for industry. With billions of devices tracking our every move, privacy is a critical issue. We will explore and discuss the social and commercial implications the IoT brings to society.
          star_border star_border star_border star_border star_border
          Want to produce and record your own music? This course will help you do that by showing you how to apply new technologies to your own creative practice, using freeware and browser based apps. Music Technology Foundations draws on Adelaide’s world-class pioneering expertise in making electronic music, to provide a great foundation to a career in music and to enable any learner to use technology in creative ways. In this course, you’ll learn about the core principles of music technology, including sound, audio, MIDI, effects and sequencing.
            star_border star_border star_border star_border star_border
            Improvements in modern biology have led to a rapid increase in sensitivity and measurability in experiments and have reached the point where it is often impossible for a scientist alone to sort through the large volume of data that is collected from just one experiment. For example, individual data points collected from one gene expression study can easily number in the hundreds of thousands. These types of data sets are often referred to as ‘biological big data’ and require bioinformaticians to use statistical tools to gain meaningful information from them. In this course, part of the Bioinformatics MicroMasters program, you will learn about the R language and environment and how to use it to perform statistical analyses on biological big datasets. This course is part of the Bioinformatics MicroMaster’s program from UMGC. Upon completion of the program and receipt of the verified MicroMaster’s certificate, learners may then transition into the full UMGC Master’s Program in Biotechnology with a specialization in Bioinformatics without any application process or testing. See the MicroMasters program page for more.
              star_border star_border star_border star_border star_border
              In this course, you will learn what AI is and understand its applications and use cases and how it is transforming our lives. You will explore basic AI concepts including machine learning, deep learning, and neural networks as well as use cases and applications of AI. You will be exposed to concerns surrounding AI, including ethics, bias, jobs and the impacts on society. You will take a glimpse of the future with AI, get advice for starting an AI related career, and wrap up the course by demonstrating AI in action with a mini project. This AI for Everyone course does not require any programming or computer science expertise and is designed to introduce the basics of AI to anyone whether you have a technical background or not.
                star_border star_border star_border star_border star_border
                Experimentation is a key capability for any business to develop and master. Learn how to leverage data to build knowledge and apply this knowledge to improve business outcomes and create strategic advantages. This course is part of both the Digital Product Management and Digital Leadership MicroMasters programs. In it, you will learn to develop iterative business experiments using agile methods. This capability is central to digital businesses as it allows them to sustain competitive advantage through both incremental improvements as well as significant, disruptive innovations when opportunities and conditions warrant them. This course focuses on experimentation across the three layers of a digital business: (1) the capacity of the technical infrastructure to provide an iterative and operational process that uses experiments to gather data and develop knowledge (2) the ability to use agile methods and manage the knowledge interfaces among experts at the organizational layer to derive insight from data to create knowledge and ultimately drive improvements in products and processes. (3) the capability to use the technical and organizational infrastructures to drive experimentation at scale in order to deliver digital transformation.
                  star_border star_border star_border star_border star_border
                  JavaScript is the programming language of the World Wide Web. As a professional web software developer, you will not only need to know how to program in this simple yet powerful language, but you will need to understand the fundamentals of how data is exchanged on the World Wide Web (WWW) and what tools and frameworks are available to you for creating robust, interactive web applications. This course, part of the CS Essentials for Software Development Professional Certificate program, provides an introduction to modern web development using JavaScript. In addition to exploring the basics of web page creation using HTML and CSS, you will learn advanced web page layout and responsive design tools such as Bootstrap. You will also learn how browsers represent a web page data using the Document Object Model (DOM) and how to develop dynamic, interactive web pages using JavaScript in the browser. Beyond fundamental JavaScript syntax and advanced language features such as callbacks, events, and asynchronous programming, you will work with jQuery, which provides functionality for simplified DOM manipulation and event handling. This course will also introduce you to modern web frameworks and component-based libraries such as React.js for efficiently developing modular web page components, and D3.js for creating data-driven documents. We will also teach you how to represent and exchange data using JavaScript Object Notation (JSON), and how to access RESTful APIs on the web. Server-side JavaScript is becoming more prevalent in the industry, with web frameworks such as Node.js and Express making it simple to create and deploy complex, data-driven web applications. This course will prepare you to use such frameworks and show you how to integrate them with NoSQL databases such as MongoDB.
                    star_border star_border star_border star_border star_border
                    How do you optimally encode a text file? How do you find shortest paths in a map? How do you design a communication network? How do you route data in a network? What are the limits of efficient computation? This course, part of the Computer Science Essentials for Software Development Professional Certificate program, is an introduction to design and analysis of algorithms, and answers along the way these and many other interesting computational questions. You will learn about algorithms that operate on common data structures, for instance sorting and searching; advanced design and analysis techniques such as dynamic programming and greedy algorithms; advanced graph algorithms such as minimum spanning trees and shortest paths; NP-completeness theory; and approximation algorithms. After completing this course you will be able to design efficient and correct algorithms using sophisticated data structures for complex computational tasks.