Back to Courses

Computer Science Courses - Page 38

Showing results 371-380 of 2309
Introduction to OpenCL on FPGAs
OpenCL™ is a standard for writing parallel programs for heterogeneous systems, much like the NVidia* CUDA* programming language. In the FPGA environment, OpenCL constructs are synthesized into custom logic. An overview of the OpenCL standards will be discussed. You will learn about the platform, execution, memory, and programming models that define the OpenCL specification. Syntax of the OpenCL language will be discussed, and you will see examples of OpenCL usage. The similarities and differences between OpenCL and CUDA will be highlighted throughout. The advantages of using the Intel® FPGA OpenCL solution will be presented.*OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission of Khronos*Other names and brands may be claimed as the property of others
Big Data Analysis with Scala and Spark
Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We'll cover Spark's programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared-memory parallel collections or sequential Scala collections. Through hands-on examples in Spark and Scala, we'll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance. Learning Outcomes. By the end of this course you will be able to: - read data from persistent storage and load it into Apache Spark, - manipulate data with Spark and Scala, - express algorithms for data analysis in a functional style, - recognize how to avoid shuffles and recomputation in Spark, Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line. This course is intended to be taken after Parallel Programming: https://www.coursera.org/learn/parprog1.
Encryption And Decryption Using C++
In this 2-hour long project-based course, you will (learn basics of cryptography, build basic encryption application). we will learn basics of encryption and decryption techniques and gain basic related cryptography knowledge and by the end of this project you will be able to create an encryption application. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
Rapid Prototyping of Embedded Interface Designs
This course can also be taken for academic credit as ECEA 5347, part of CU Boulder’s Master of Science in Electrical Engineering degree. Rapid Prototyping is the second of three classes in the Embedded Interface Design (EID) specialization, an online version of the on-campus EID class taught in graduate embedded systems design. This course is focused on rapid prototyping of devices and systems and the related methods, practices, and principles that will help ensure your embedded interface designs are what your users both need and want. The class includes an introduction to rapid prototyping, prototyping device and system user interfaces, prototyping devices, and design considerations and perspectives for devices. The content ranges from general design best practices to specifics for embedded devices of different types and specific flavors of user interfaces, but all are presented to support developing embedded devices. The class includes practical projects that let you try some of standard methods in software development of prototype graphical user interfaces for devices using Qt and HTML. This course can be taken for academic credit as ECEA 5347, part of CU Boulder's Master of Science in Electrical Engineering degree.
Application Security and Monitoring
How vulnerable are your applications to security risks and threats? This course will help you identify vulnerabilities and monitor the health of your applications and systems. You’ll examine and implement secure code practices to prevent events like data breaches and leaks, and discover how practices like monitoring and observability can keep systems safe and secure. You will gain extensive knowledge on various practices, concepts, and processes for maintaining a secure environment, including DevSecOps practices that automate security integration across the software development lifecycle (SDLC), Static Application Security Testing (SAST) for identifying security flaws, Dynamic Analysis, and Dynamic Testing. You’ll also learn about creating a Secure Development Environment, both on-premise and in the cloud. You’ll explore the Open Web Application Security Project (OWASP) top application security risks, including broken access controls and SQL injections. Additionally, you will learn how monitoring, observability, and evaluation ensure secure applications and systems. You’ll discover the essential components of a monitoring system and how application performance monitoring (APM) tools aid in measuring app performance and efficiency. You’ll analyze the Golden Signals of monitoring, explore visualization and logging tools, and learn about the different metrics and alerting systems that help you understand your applications and systems. Through videos, hands-on labs, peer discussion, and the practice and graded assessments in this course, you will develop and demonstrate your skills and knowledge for creating and maintaining a secure development environment.
Introduction to Search Techniques in Python: Binary Search
By the end of this project, you will be able to code the binary search technique using Python programming language. Throughout the tasks, you will be able to identify and apply the basic skills needed for every programming language such as lists, functions, recursion and if conditions. Each part of this project will prepare you to code on your own in Python language, whether to work on search techniques or simple coding Python programming is one of the easiest programming languages, since its syntax is English-like. It is used in many applications and mastering it will definitely pave a way for you to start a career in any programming-based field. Python is also the base for the machine learning and deep learning field. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
Designing Hardware for Raspberry Pi Projects
This is course 4 of this specialization (although it can be taken out of order) and focuses on applying experience and knowledge gained in the first three courses to build physical electronics hardware. Specifically, this course focuses on four areas: circuit simulation, schematic entry, PCB layout, and 3D CAD modeling. There are many excellent commercial applications available in these areas, however to give everyone access we'll be using all free and open-source software. By the end of this course you should feel comfortable using free and open-source software to design your own printed circuit board and any bracketry or case to hold it, customized for your application. Module 1 covers circuit simulation using several open-source projects and simulation methods for simulating transient response of circuits as well as frequency-domain response of filters. Additionally, we'll use open-source filter synthesis tools to help you quickly design and simulation filters. Module 2 is all about creating professional looking electrical schematics. This is both an art and a skill and we'll cover the technical elements of using schematic entry software as well as broad concepts that are portable to any commercial application. Module 3 takes our schematic and turns it into a physical PCB design. Understanding this process of how the schematic and the PCB layout work together is critical. We'll be demonstrating this with open-source software, but again, the concepts apply to any commercial software you may have access to. Module 4 demonstrates the powerful idea of co-designing your electrical and mechanical systems together. We'll create a 3D model of our electrical PCB and bring it into 3D CAD software to design mechanical parts around it. Tying together these two applications opens another dimension in customizing your projects.
Information Systems Auditing, Controls and Assurance
The course is awarded The Best Free Online Courses of All Time, and Best Online Courses of the Year (2021 Edition) by Class Central (http://www.classcentral.com). --- Information systems (IS) are important assets to business organizations and are ubiquitous in our daily lives. With the latest IS technologies emerging, such as Big Data, FinTech, Virtual Banks, there are more concerns from the public on how organizations maintain systems’ integrity, such as data privacy, information security, the compliance to the government regulations. Management in organizations also need to be assured that systems work the way they expected. IS auditors play a crucial role in handling these issues. In the course “Information Systems Auditing, Controls and Assurance”, you will explore risks of information systems, and how to mitigate the risks by proper IS Controls. You will also get familiar with the IS Audit procedures and how they are applied during the IS development throughout the Systems Development Life Cycle (SDLC). Finally, you will get to observe how we can make the system changes more manageable using formal IS Management practices, such as Change Management Controls and Emergency Changes. The conversations between the course instructor - Prof. Percy Dias, and the IS auditing practitioner will give you a concrete idea on how IS auditors perform their duties, the qualities to become IS auditors and future prospects of IS auditing industry. This course is suitable for students and graduates from Information Systems, Information Technology and Computer Science, and IT practitioners who are interested to get into the IS auditing field. It is also a good starting point for learners who would like to pursue further studies for IS audit certifications – such as Certified Information Systems Auditor (CISA).
Test Accessibility of Your Design with WAVE
Wave is an online suite of tools that you can use to check the accessibility of a website against the Web Content Accessibility Guidelines (WCAG). In this project, you will learn about WCAG and how to use WAVE to ensure your web page is meeting the guidelines.
APIs Explorer: Create and Update a Cluster
This is a self-paced lab that takes place in the Google Cloud console. In this lab you’ll learn how to use an inline Google APIs Explorer template to call the Cloud Dataproc API to create a cluster, run a simple Spark job in the cluster, and update the cluster.