Back to Courses

Computer Science Courses - Page 35

Showing results 341-350 of 2309
Computational Thinking with Javascript 1: Draw & Animate
This is the first course in a sequence of four courses that develops essential 21st century computational thinking (CT) skills using the popular JavaScript language as a vehicle. At the end of this first course you will: know a framework for CT to help you learn about it and work with others; be developing your CT skills so that you can more easily work with digital technology of all kinds; be able to read and write programs in JavaScript that involve drawing and animation, using a specialised library; and post your creations on the web so that others can appreciate your skills. This course is suitable for: complete beginners; those who have taken an introductory course in any programming language and want to learn more deeply about the thinking and learning skills they are starting to develop; those who wish to learn Javascript in a supportive environment. The follow-on courses explore the manipulation and analysis of data, such an important aspect of our lives now, again in a highly supportive environment, and then we move the context to mainstream web--based platforms so that you can use these skills more widely.
Prediction and Control with Function Approximation
In this course, you will learn how to solve problems with large, high-dimensional, and potentially infinite state spaces. You will see that estimating value functions can be cast as a supervised learning problem---function approximation---allowing you to build agents that carefully balance generalization and discrimination in order to maximize reward. We will begin this journey by investigating how our policy evaluation or prediction methods like Monte Carlo and TD can be extended to the function approximation setting. You will learn about feature construction techniques for RL, and representation learning via neural networks and backprop. We conclude this course with a deep-dive into policy gradient methods; a way to learn policies directly without learning a value function. In this course you will solve two continuous-state control tasks and investigate the benefits of policy gradient methods in a continuous-action environment. Prerequisites: This course strongly builds on the fundamentals of Courses 1 and 2, and learners should have completed these before starting this course. Learners should also be comfortable with probabilities & expectations, basic linear algebra, basic calculus, Python 3.0 (at least 1 year), and implementing algorithms from pseudocode. By the end of this course, you will be able to: -Understand how to use supervised learning approaches to approximate value functions -Understand objectives for prediction (value estimation) under function approximation -Implement TD with function approximation (state aggregation), on an environment with an infinite state space (continuous state space) -Understand fixed basis and neural network approaches to feature construction -Implement TD with neural network function approximation in a continuous state environment -Understand new difficulties in exploration when moving to function approximation -Contrast discounted problem formulations for control versus an average reward problem formulation -Implement expected Sarsa and Q-learning with function approximation on a continuous state control task -Understand objectives for directly estimating policies (policy gradient objectives) -Implement a policy gradient method (called Actor-Critic) on a discrete state environment
Introduction to Software Engineering
If you are curious to learn more about the field of software engineering, this course is for you. No prior knowledge or qualification in programming or software development is necessary. Software Engineers are in great demand and now is a great time to learn more about this exciting career path. The field of software engineering is growing at an estimated rate of 22% according to the US Bureau of Labor and Statistics. In addition to aspiring software engineers, this course is also suitable for those in related careers such as Product and Project Managers, IT Managers, Information Developers and others who communicate and interact with software engineers. This course teaches you about the power of the Software Development Lifecycle (SDLC) and software development methodologies like Agile. Explore fundamental programming principles and foundations of design, architecture, and deployment. Investigate skills a software engineer needs and identify job opportunities with hands-on projects. You will also learn about programming basics and software development tools and stacks. Throughout this course, you’ll hear from expert and novice software engineers to get a feel for what the job is like from their perspective. After completing this introductory course you will be conversant in the tools, technologies, terminology, processes, and practices in software engineering.
Data Mining Pipeline
This course introduces the key steps involved in the data mining pipeline, including data understanding, data preprocessing, data warehousing, data modeling, interpretation and evaluation, and real-world applications. Data Mining Pipeline can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder. Course logo image courtesy of Francesco Ungaro, available here on Unsplash: https://unsplash.com/photos/C89G61oKDDA
Google Workspace Admin: Managing Google Meet
This is a Google Cloud Self-Paced Lab. In this lab, you will learn how to create a meeting and live stream, how to configure different features in Google Meet, as well as how to configure access to Google Meet.
Relational Database Support for Data Warehouses
Relational Database Support for Data Warehouses is the third course in the Data Warehousing for Business Intelligence specialization. In this course, you'll use analytical elements of SQL for answering business intelligence questions. You'll learn features of relational database management systems for managing summary data commonly used in business intelligence reporting. Because of the importance and difficulty of managing implementations of data warehouses, we'll also delve into storage architectures, scalable parallel processing, data governance, and big data impacts. In the assignments in this course, you can use either Oracle or PostgreSQL.
C for Everyone: Structured Programming
In the new world we live in, coding is a universally valuable skill, whether you're a scientist, artist, or a humanist. Algorithms are everywhere, and we all have to understand how they work. The C language is particularly well suited as an introduction to coding: It's a tried-and-true language, and it allows you to understand computing processes at a deep level. You will also get an introduction to more advanced programming in C++ in the final module. This is a continuation of C for Everyone: Fundamentals, which you should take before beginning this course. The time estimated time commitment for this course is five hours a week for five weeks.
Introduction to Applied Cryptography
This course is a non-mathematical introduction to the role that cryptography plays in providing digital security for everyday applications such as the internet, mobile phones, wireless networks and cryptocurrency. In this introductory course you will develop an understanding of the functionality and purpose of the main cryptographic tools we use today. You will learn how to make decisions about which cryptographic tools are most appropriate to deploy in specific settings. You will also explore the wider infrastructure surrounding cryptography and how this impacts the overall security of systems deploying cryptography. Cryptography provides the core toolkit that underpins most digital security technologies. An understanding of what cryptography does, and its limitations, is critical to developing a wider appreciation of the security of everyday digital applications. Since cryptography provides tools for atomic security services such as confidentiality and data integrity, an appreciation of cryptography will also equips you with a fundamental understanding of what security means in cyberspace. Learning outcomes for the module. By the end of this module learners will be able to: 1. Explain the precise role that cryptography plays in the security of any digital system. 2. Appreciate the breadth of use of cryptography to support security of digital systems. 3. Identify core concepts and terminology concerning use of cryptography 4. Assess the points of vulnerability relating to cryptography in any digital system deploying it.
Containerization Using Docker
Welcome to "Containerization using Docker". In this guided project you will learn how to use Docker to create a customised image of your application using Dockerfiles, enable data persistence and will also learn various methods to share your Docker images. Also, the task-based approach that we follow in our guided project will get you a better understanding of basic commands in Docker that comes very handy while working on your real-life project. . Most importantly you will leave this course with more confidence that will get you to work in Docker platform more efficiently. If you have questions about course content, please post them in the forums to get help from others in the course community. For technical problems with the Coursera platform, visit the Learner Help Center. Good luck as you get started, and I hope you enjoy the course! Happy learning !!!!!
Securing Software, Data and End Points
Course 4: Securing Software, Data and End Points Welcome to Course Four. As we know, most attacks against systems involve exploiting vulnerabilities in software that powers hardware. Additionally, attackers may exploit vulnerabilities in the underlying hardware, especially when that hardware is for the protected against being stolen or accessed with unauthorized use, but their real target and all the tax is data. Therefore, it's so critical, the total set of software powering an organization's business logic and processes must be kept secure. As we'll see in this chapter, the software provides a layered environment. Building from a core or kernel of trustworthy functions up through to the mobile code and executable content. This enables and empowers all web apps and remote data access. Security professionals need to appreciate securing software covers two very different, but closely related major tasks. They need to ensure that the Security Posture of that software is known and understood, as well as ensure the software is installed, maintained, and used in ways consistent with Security Posture or improve it over time. As we discussed in the previous chapter, Security Posture is the set of risks, vulnerabilities controls, and residual risks pertaining to an asset or system. We summarize the safety or risk of using an asset and the degree of reliance that can be placed on the results from a specific context or situation. In this course, we'll build on that foundation by looking more closely at how the data can be the target of an attack and part of exploiting other vulnerabilities in the system. We'll explore what security professionals, as non-programmers, can do to reduce the risk of such malformed input attacks. In course two, we also discussed the non-human user concept as a general way to view management and security of devices and software entities to protect those entities from threats to their integrity and to protect the overall system and individual assets from unauthorized behavior by those non-human users. In this chapter, we'll build on those concepts, as we dive into Endpoint Security Issues and Approaches. Course 4 Learning Objectives After completing this course, the participant will be able to:  L4.1 - Discuss software systems and application security. L4.2 - Recognize data security concepts and skills.  L4.3 - Identify malicious code and countermeasures.   L4.4 - Evaluate mobile device management (MDM) and security issues with mobile and autonomous endpoints. L4.5 - Review attacks and countermeasures for virtual machines. Course Agenda Module 1: Securing Software (Domain 1 - Security Operations and Administration, Domain 3 - Risk Identification, Monitoring and Analysis , Domain 7 - Systems and Application Security ) Module 2: Securing Data (Domain 1 - Security Operations and Administration, Domain 7 - Systems and Application Security ) Module 3: Identify and Analyze Malicious Code and Activity (Domain 7 - Systems and Application Security) Module 4: Implement and Operate Endpoint Security (Domain 7 - Systems and Application Security ) Module 5: Operate and Secure Virtual Environments (Domain 7 - Systems and Application Security , Domain 6 - Network and Communications Security)    Who Should Take This Course: Beginners Experience Required: No prior experience required