There are some professions that requires one or two certifications. Either you want a promotion at work, you want to add or advance in your knowledge or perhaps, you just want to have a Tech skill and you need where to learn and barge a certification, you can do some online courses either with certification or not. There are lots of websites you can get a free courses and get certified.
The beautiful thing about some online courses is that, you can access them for free and even get a certification. It might be that, at the point of completion of your free course, you will get paid for your certification before downloading and in some website, both learning and certification is free.
We have many free online courses on internet this days for different professions such as software development, business management, data science, project management, career development, Google IT support, cyber security, machine learning, social media marketing etc..
There are loads of courses you can access online for free.Today, we will be listing some of the free courses you can access for free at Coursera and the certification is free as well.
Here are the courses and content, all gotten from coursera
1. Successful Negotiation: Essential Strategies and Skills

WHAT YOU WILL LEARN
WEEK 1
Welcome to Successful Negotiation!
Through this course you’ll learn and practice the strategies and skills that will help you become a successful negotiator in your personal life and business transactions. After completing this module, you’ll be able to state the four key stages of negotiation and what you need to do successfully complete this course.
WEEK 2
Prepare: Plan Your Negotiation Strategy
This module focuses on the first step in the negotiation process – planning for a negotiation. One critical component you’ll learn is how to complete a negotiation analysis to set you up for success.
WEEK 3
Negotiate: Use Key Tactics for Success
This module focuses on two especially important topics: (1) how to use power during negotiations and (2) psychological tools that you can use during negotiations. Keep a paper and pencil handy, as you’ll be participating in several experiments as watch these videos!
WEEK 4
Close: Create a Contract
This module focuses on the negotiation that takes place in a business deal after reaching an initial agreement – the negotiation to create a binding contract. Among other things, you’ll learn to decide if you need a lawyer or can act as your own for contract creation. However, the videos should not be construed as providing legal advice.
WEEK 5
Perform and Evaluate: The End Game
This module focuses on performing and evaluating your agreement. If both parties perform as expected, there is no problem. But if they fail to perform, the dispute resolution processes that we cover in this module is important – especially mediation and arbitration.
WEEK 6
Practice Your Negotiation Skills
Put your newly developed skills to the test in this module with a friend or fellow MOOC participant from another part of the world!
WEEK 7
Final Examination
Once you have successfully completed the Final Exam, you will have successfully completed the course! The estimated time to complete the examination is 75 minutes. You can retake the examination until you are confident that you understand these concepts.
SKILLS YOU WILL GAIN
- Strategic Negotiations
- Communication
- Negotiation
- Decision Tree
2. English for Career Development

SKILLS YOU WILL GAIN
- Communication
- English Language
- Career Development
- Writing
What you will learn from this course
WEEK 1
Unit 1: Entering the Job Market
In this unit you will learn about the steps in the job search process.
WEEK 2
Unit 2: Resumes
In this unit, you will learn how to describe yourself and your experiences in a résumé. The unit will also help you build your job-related vocabulary.
WEEK 3
Unit 3: Writing a Cover Letter
This unit focuses on another important document for job-seekers: the cover letter. You will learn how to write a clear cover letter that tells employers why you are the right person for the job.
WEEK 4
Unit 4: Networking
This unit will teach job-seekers language for meeting new people, making small talk, and describing
WEEK 5
Unit 5: Interviewing For a Job
This unit is about the question-and-answer process of job interviews, and will help prepare learners to present themselves well in interviews.
3. Social Psychology

What you will learn from this course
This is broken down into weeks:
WEEK 1: Social Perceptions and Misperceptions
This week’s goals are to:
(1) learn what social psychology is and why it’s worth studying;
(2) take a “snapshot” of your thinking at the start of the course;
(3) see how perceptions of reality are psychologically constructed; and
(4) witness the shocking speed at which social judgments are made.
WEEK 2: The Psychology of Self-Presentation and Persuasion
This week’s goals are to:
(1) learn how people explain their behavior and the behavior of others;
(2) explore the link between attitudes and behavior;
(3) understand what cognitive dissonance is and why it matters; and
(4) gain some practical tips from the science of persuasion and social influence.
WEEK 3: Obedience, Conformity, and Deindividuation
This week’s goals are to:
(1) understand the psychological dynamics of obedience to authority;
(2) review studies on group pressure and conformity;
(3) learn about the dark side of deindividuation; and
(4) consider ethical issues related to psychology research.
WEEK 4: Group Behavior: The Good, Bad, and Ugly
This week’s goals are to:
(1) examine behavioral dynamics within and between groups;
(2) see what happens when people fall prey to the Abilene Paradox;
(3) read about social loafing, groupthink, and group polarization; and
(4) learn effective ways to reduce prejudice and discrimination in daily life.
WEEK 5: Mid-Course Break
This week offers a chance to catch up on any course material that you’ve missed. There are no required videos or readings, but for those of you whose week wouldn’t be complete without a little social psychology, please enjoy the optional materials in Week 5!
WEEK 6: Helping, Hurting, and Peacemaking
This week’s goals are to:
(1) look at the factors that influence whether people will help one another;
(2) examine the roots of aggression, violence, and terrorism;
(3) learn psychological techniques to promote peace and sustainable living; and
(4) carry out a personal experiment in which you spend 24 hours living as compassionately as possible.
WEEK 7: A Happy End to the Course
This week’s goals are to:
(1) consider whether empathy is a “magic bullet” for addressing social problems;
(2) learn what the most important ingredients are for a happy life;
(3) find out what researchers have discovered about romantic attraction and close relationships; and
(4) hear about additional resources and organizations if you want to continue studying social psychology.
4. Foundations of Teaching for Learning Capstone: The Reflective Practitioner

What you will learn from this course
WEEK 1
Introduction and Review phase
Looking back on eight satisfactorily completed courses, what have been the key ideas and highlights of your learning? How much of that learning will have a direct impact on your teaching? On your personal and professional values? On your relationship with colleagues? With children? With parents or other adults?
WEEK 2
Practical Task Creation
Lesson plans. Who needs them? Don’t good teachers just teach spontaneously and flexibly in response to their students? Of course many teachers do just that, especially if they have been teaching for a long time. So why engage in the laborious business of creating a lesson plan? Who is it for and what use does it serve?
WEEK 3
Evaluation phase
During the courses, much has been said about feedback as a key aspect of learning. As a teacher, or simply as a social being, you have been giving feedback both formally and informally over the course of your life. You have also been on the receiving end of feedback, from family, friends, colleagues, and employers. However, you might not have been given feedback before in a context such as this, from fellow course members, and virtual rather than face to face.
WEEK 4
Reflection-on-action phase
In this final week of the Capstone course the focus is on updating and refining lesson plans, finalizing portfolios, looking back on achievements, and giving thought to what may come next.
5. International Women’s Health and Human Rights

WHAT YOU WILL LEARN
WEEK 1
Introduction
Women’s Rights = Human Rights
Learning the basics of women’s rights and human rights. Why do we use the lens of human rights to examine women’s issues?
WEEK 2
Education
WEEK 3
Childhood & Adolescence: Female Genital Mutilation
WEEK 4
Childhood & Adolescence: HIV/AIDS
WEEK 5
Reproductive Health
Engage Your Community – Assignment #1
One of two special assignments that will take you out to interact with members of your community
WEEK 6
Violence Against Women in the Home and Community
WEEK 7
Women in War and Refugee Settings
WEEK 8
Women’s Quest to Escape Poverty: Work & Economic Empowerment
WEEK 10
Women, Aging, and End of Life
Engage Your Community – Assignment #2
Second of two special assignments where you engage with members of your community
Choosing Priorities, Making a Difference
SKILLS YOU WILL GAIN
- Health Education
- Reproductive Health
- Community Health
- Sexually Transmitted Infections
6. Innovation Management

WHAT YOU WILL LEARN
WEEK 1
Introduction
After this week’s studies and the associated exercise, you will understand the meaning of innovation and innovation management. Also, you will learn to identify and differentiate between various types of innovation. As a result, you will become acquainted with basic terminology that will help you to better process and understand the course content of the following weeks.
WEEK 2
The Adoption of Innovations
You will learn to understand how innovations diffuse in society. You will be able to describe the adoption life cycle and discriminate between the various adopter groups. You will also learn what it takes for someone to adopt something new. Altogether, you will gain a better understanding of what determines whether and how fast people adopt innovations.
WEEK 3
The Fuzzy Front-End – Creativity
In a knowledge-based and innovation-driven business environment, creativity is an essential capability if an organisation is to gain a sustainable competitive advantage. All innovations begin with creative ideas, and creativity is also needed during the entire innovation process. So, it is imminent that employees in any job and at any level of the organisation can contribute to innovation with creative ideas. This module comprises of four instruction videos, one interview with a creativity consultant, and two assignments. After this module you will understand what creativity is and how you, other people and groups become more creative: crucial knowledge for any manager that wants to excel in innovation!
WEEK 4
The Fuzzy Front-End – Idea Management
Organisations receive many new ideas from employees, suppliers, and customers. But they often do not realise the innovative potential of these ideas because they fail to properly manage them. By studying this module and doing the associated exercises, you will understand the basic principles of idea management. You will be able to differentiate between three types of idea management programmes, and learn about their different characteristics, advantages and disadvantages. In addition, you will learn about two general challenges that many idea management programmes face: how to motivate people to continuously submit ideas and how to improve the quality of ideas. A better understanding of the principles, differences, and challenges of idea management will help you design appropriate idea management programmes that turn new ideas into successful innovations.
WEEK 5
Strategy – Innovation Strategy
Innovating is no longer a choice, but a business imperative. This imperative demands a clear strategic direction for the innovation activities. This week will introduce the central challenges and available solutions to develop and execute an innovation strategy. In addition, you will study the typologies and evolution of change in the business environment, and discuss tools that can help you make sense of your business environments. An important element in this module is that the change does not always occur independent of the firms, but firms are both subjects and agents of change. In particular, you will discuss how firms can shape their environment through disruptive innovations.
WEEK 6
Strategy – Portfolio Management
This week’s module is about portfolio management, which covers how to implement your innovation strategy. We introduce the concept of the funnel. We show two alternative funnels, reactive and proactive, and we explain the differences. You will explore three practical examples of the proactive process: Ericsson, Lego and Philips. Next, we will elaborate on an important consideration in portfolio management, which is protecting intellectual property. Finally, you will learn two specific tools that you can use in portfolio management. The first is a financial tool, the real options method, and the second one is the planning tool called ‘roadmapping’.
WEEK 7
Execution – Implementing Innovation
By studying the materials of this week and doing the associated exercise you will learn how innovation projects can be managed. You will understand and describe the different elements of stage-gate models. Also, you will familiarise yourself with the concepts of experimentation and enlightened experimentation within the context of innovation project management. As a result, you will be equipped with an understanding of the peculiarities of innovation projects, and how companies deal with these peculiarities.
WEEK 8
Execution – Teams and Networks
How do teams and social networks affect the development and the sharing of knowledge and innovation? The module will consist of four videos that will help you develop conceptual and practical knowledge on these topics. After a brief introduction of what teams and social networks are – and of what they are not – you will learn how these every-day concepts relate to innovation in organisations. You will explore key concepts about teams and networks, and become more aware of how you can generate and transmit innovation in your work activity.
WEEK 9
Final exam
SKILLS YOU WILL GAIN
- Social Network
- Management
- Innovation
- Innovation Management
7. Food & Beverage Management

WHAT YOU WILL LEARN
WEEK 1
Products vs. Markets
How products generate value for the customer and how customers value products and their quality
WEEK 2
Tradition vs. Innovation
The role of tradition and innovation along the customer experience in the food and beverage industry. The value of brands in the tradition and innovation dilemma.
WEEK 3
Local vs. Global
There is value in being local in a global market and there is value in being global in a local market. The role of distribution networks in international food and beverage markets.
WEEK 4
Small vs. Big
Leveraging on size to build a competitive advantage in food and beverage markets. The design of growth strategies in different markets.
WEEK 5
Great Insights from the Field
Here you can find some additional material to let you discover some practical insights of the food and beverage world.
SKILLS YOU WILL GAIN
- Promotion And Marketing Communications
- Food Marketing
- Marketing
- Brand Management
8. Problem Solving, Python Programming, and Video Games

WHAT YOU WILL LEARN
WEEK 1
Module 0: Introduction
In Module 0, you will meet the instructional team and be introduced to the four themes of this course: computer science, problem solving, Python programming, and how to create video games.
WEEK 2
Module 1: Design Hacking Version 1
In Module 1, you will explore the game creation process that is used in this course. You will use this process to design Version 1 of the first game, Hacking. You will use two problem-solving techniques: problem decomposition and algorithms. You will explore five criteria for problem decomposition: experiential decomposition, feature selection, problem refinement, spatial decomposition, and temporal decomposition. To create your design for Hacking Version 1, you will use three interactive learning objects: the description builder, functional test plan builder, and algorithm builder.
WEEK 3
Module 2: Program Hacking Version 1
In Module 2, you will discover how lexics, syntax, and semantics can be used to understand and describe programming languages. You will use these concepts to understand your first Python statement (expression statement), first three Python expressions (literal, identifier, function call), and first five Python types (int, str, float, function, NoneType). You will use these Python constructs to write, test, and debug Hacking Version 1, a text-based game version. You will then reflect on your game version by using a third problem-solving technique called abstraction, including the specific technique of solution generalization, to solve similar problems.
WEEK 4
Module 3: Hacking Version 2
In Module 3, you will identify solution issues in your game. You will apply a second form of the abstraction problem-solving technique, called using templates, to solve a solution issue by using a graphics library. You will then use lexics, syntax, and semantics to learn two new Python statements (assignment, import), two new Python expressions (binary expression, attribute reference), and one new Python type (module). You will employ these Python constructs and a simple graphics library to write, test, and debug Hacking Version 2.
WEEK 5
Module 4: Hacking Version 3
In Module 4, you will modify your game design to support multiple gameplay paths using a new problem decomposition criteria called case-based decomposition, which utilizes a selection control structure. You will learn one new Python statement (if), one new Python expression (unary expression), and one new Python type (bool). You will employ these Python constructs to write, test, and debug Hacking Version 3.
WEEK 6
Module 5: Hacking Version 4 & 5
In Module 5, you will modify your game design using two new abstraction techniques, called control abstraction and data abstraction. You will explore two different control abstractions, called definite and indefinite repetition. You will learn two new Python statements (for, while), four new Python expressions (subscription expression, expression list, parenthesized expression, list display), and three new Python types (tuple, list, range). You will employ these Python constructs to write, test, and debug Hacking Version 4 and Hacking Version 5.
WEEK 7
Module 6: Hacking Version 6
In Module 6, you will learn a new control abstraction called a user-defined function. You will learn how to implement user-defined functions using two new Python statements (function definition, return). You will employ these Python constructs to significantly improve the quality of your code in Hacking Version 6.
WEEK 8
Module 7: Hacking Version 7
In Module 7, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Hacking game by designing, coding, testing, and debugging Hacking Version 7.
WEEK 9
Module 8: Poke the Dots Version 1 & 2
In Module 8, you will design and implement Version 1 of a new graphical game called Poke the Dots. You will then modify your game design using data abstraction to create user-defined classes. You will learn two new Python statements (class definition, pass) that will allow you to construct your own Python types. You will employ these Python constructs to implement Poke the Dots Version 2.
WEEK 10
Module 9: Poke the Dots Version 3
In Module 9, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Poke the Dots game by designing, coding, testing, and debugging Poke the Dots Version 3.
WEEK 11
Module 10: Poke the Dots Version 4
In Module 10, you will modify your game design using a new form of control abstraction called user-defined methods. User-defined methods allow you to restrict access to the attributes of a class to improve data abstraction. You will employ user-defined methods to implement Poke the Dots Version 4.
WEEK 12
Module 11: Poke the Dots Version 5
In Module 11, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Poke the Dots game by designing, coding, testing, and debugging Poke the Dots Version 5.
SKILLS YOU WILL GAIN
- Python Syntax And Semantics
- Video Games
- Python Programming
- Problem Solving
- Computer Science
9. Computer Science: Programming with a Purpose

WHAT YOU WILL LEARN
WEEK 1
BASIC PROGRAMMING CONCEPTS
Why program? This lecture addresses that basic question. Then it describes the anatomy of your first program and the process of developing a program in Java using either virtual terminals or a program development environment, with some historical context. Most of the lecture is devoted to a thorough coverage of Java’s built-in data types, with example programs for each.
WEEK 2
CONDITIONALS AND LOOPS
The if, while, and for statements are Java’s fundamental control structures. This lecture is built around short programs that use these constructs to address important computational tasks. Examples include sorting, computing the square root, factoring, and simulating a random process. The lecture concludes with a detailed example illustrating the process of debugging a program.
WEEK 3
ARRAYS
Computing with a large sequence of values of the same type is extremely common. This lecture describes Java’s built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards, the coupon collector test for randomness, and random walks in a grid.
WEEK 4
INPUT AND OUTPUT
To interact with our programs, we need mechanisms for taking information from the outside world and for presenting information to the outside world. This lecture describes several such mechanisms: for text, drawings, and animation. Detailed examples covered include fractal drawings that model natural phenomena and an animation of a ball bouncing around in the display window.
WEEK 5
FUNCTIONS AND LIBRARIES
Modular programming is the art and science of breaking a program into pieces that can be individually developed. This lecture introduces functions (Java methods), a fundamental mechanism that enables modular programming. Motivating examples include functions for the classic Gaussian distribution and an application that creates digital music.
WEEK 6
RECURSION
A recursive function is one that calls itself. This lecture introduces the concept by treating in detail the ruler function and (related) classic examples, including the Towers of Hanoi puzzle, the H-tree, and simple models of the real world based on recursion. We show a common pitfall in the use of recursion, and a simple way to avoid it, which introduces a different (related) programming paradigm known as dynamic programming.
WEEK 6
RECURSION
A recursive function is one that calls itself. This lecture introduces the concept by treating in detail the ruler function and (related) classic examples, including the Towers of Hanoi puzzle, the H-tree, and simple models of the real world based on recursion. We show a common pitfall in the use of recursion, and a simple way to avoid it, which introduces a different (related) programming paradigm known as dynamic programming.
WEEK 7
PERFORMANCE
When you develop a program, you need to be aware of its resource requirements. In this lecture, we describe a scientific approach to understanding performance, where we develop mathematical models describing the running time our programs and then run empirical tests to validate them. Eventually we come to a simple and effective approach that you can use to predict the running time of your own programs that involve significant amounts of computation.
WEEK 8
ABSTRACT DATA TYPES
In Java, you can create your own data types and use them in your programs. In this and the next lecture, we show how this ability allows us to view our programs as abstract representations of real-world concepts. First we show the mechanics of writing client programs that use data types. Our examples involve abstractions such as color, images, and genes. This style of programming is known as object-oriented programming because our programs manipulate objects, which hold data type values.
WEEK 9
CREATING DATA TYPES
Creating your own data types is the central activity in modern Java programming. This lecture covers the mechanics (instance variables, constructors, instance methods, and test clients) and then develops several examples, culminating in a program that uses a quintessential mathematical abstraction (complex numbers) to create visual representations of the famous Mandelbrot set.
WEEK 10
PROGRAMMING LANGUAGES
We conclude the course with an overview of important issues surrounding programming languages. To convince you that your knowledge of Java will enable you to learn other programming languages, we show implementations of a typical program in C, C++, Python, and Matlab. We describe important differences among these languages and address fundamental issues, such as garbage collection, type checking, object oriented programming, and functional programming with some brief historical context.
SKILLS YOU WILL GAIN
- Programming Principles
- Computer Science
- Algorithms
- Java Programming
10. Computer Architecture

WHAT YOU WILL LEARN
WEEK 1
Introduction, Instruction Set Architecture, and Microcode
This lecture will give you a broad overview of the course, as well as the description of architecture, micro-architecture and instruction set architectures
WEEK 2
Cache Review
This lecture covers control hazards and the motivation for caches.
WEEK 3
Superscalar 2 & Exceptions
This lecture covers the common issues for superscalar architecture.
WEEK 4
Superscalar 4
This lecture covers the common methods used to improve the performance of out-of-order processors including register renaming and memory disambiguation.
WEEK 5
VLIW2
This lecture covers the common methods used to improve VLIW performance.
WEEK 6
Advanced Caches 1
This lecture covers the advanced mechanisms used to improve cache performance.
WEEK 7
Memory Protection
This lecture covers memory management and protection.
WEEK 8
Multithreading
This lecture covers different types of multithreading.
WEEK 9
Parallel Programming 2
This lecture covers the solutions for the consistency problem in parallel programming
WEEK 10
Multiprocessor Interconnect 1
This lecture covers the design of interconnects for a multiprocessor.
WEEK 11
Large Multiprocessors (Directory Protocols)
This lecture covers the motivation and implementation of directory protocol used for coherence on large multiproccesors.
11. Machine Learning

What you will learn from this course
WEEK 1
Introduction
Welcome to Machine Learning! In this module, we introduce the core idea of teaching a computer to learn concepts using data—without being explicitly programmed. The Course Wiki is under construction. Please visit the resources tab for the most complete and up-to-date information.
Linear Regression with One Variable
Linear regression predicts a real-valued output based on an input value. We discuss the application of linear regression to housing price prediction, present the notion of a cost function, and introduce the gradient descent method for learning.
Linear Algebra Review
This optional module provides a refresher on linear algebra concepts. Basic understanding of linear algebra is necessary for the rest of the course, especially as we begin to cover models with multiple variables.
WEEK 2
Linear Regression with Multiple Variables
What if your input has more than one value? In this module, we show how linear regression can be extended to accommodate multiple input features. We also discuss best practices for implementing linear regression.
Octave/Matlab Tutorial
This course includes programming assignments designed to help you understand how to implement the learning algorithms in practice. To complete the programming assignments, you will need to use Octave or MATLAB. This module introduces Octave/Matlab and shows you how to submit an assignment.
WEEK 3
Logistic Regression
Logistic regression is a method for classifying data into discrete outcomes. For example, we might use logistic regression to classify an email as spam or not spam. In this module, we introduce the notion of classification, the cost function for logistic regression, and the application of logistic regression to multi-class classification.
Regularization
Machine learning models need to generalize well to new examples that the model has not seen in practice. In this module, we introduce regularization, which helps prevent models from overfitting the training data.
WEEK 4
Neural Networks: Representation
Neural networks is a model inspired by how the brain works. It is widely used today in many applications: when your phone interprets and understand your voice commands, it is likely that a neural network is helping to understand your speech; when you cash a check, the machines that automatically read the digits also use neural networks.
WEEK 5
Neural Networks: Learning
In this module, we introduce the backpropagation algorithm that is used to help learn parameters for a neural network. At the end of this module, you will be implementing your own neural network for digit recognition.
WEEK 6
Advice for Applying Machine Learning
Applying machine learning in practice is not always straightforward. In this module, we share best practices for applying machine learning in practice, and discuss the best ways to evaluate performance of the learned models.
Machine Learning System Design
To optimize a machine learning algorithm, you’ll need to first understand where the biggest improvements can be made. In this module, we discuss how to understand the performance of a machine learning system with multiple parts, and also how to deal with skewed data.
WEEK 7
Support Vector Machines
Support vector machines, or SVMs, is a machine learning algorithm for classification. We introduce the idea and intuitions behind SVMs and discuss how to use it in practice.
WEEK 8
Unsupervised Learning
We use unsupervised learning to build models that help us understand our data better. We discuss the k-Means algorithm for clustering that enable us to learn groupings of unlabeled data points.
Dimensionality Reduction
In this module, we introduce Principal Components Analysis, and show how it can be used for data compression to speed up learning algorithms as well as for visualizations of complex datasets.
WEEK 9
Anomaly Detection
Given a large number of data points, we may sometimes want to figure out which ones vary significantly from the average. For example, in manufacturing, we may want to detect defects or anomalies. We show how a dataset can be modeled using a Gaussian distribution, and how the model can be used for anomaly detection.
Recommender Systems
When you buy a product online, most websites automatically recommend other products that you may like. Recommender systems look at patterns of activities between different users and different products to produce these recommendations. In this module, we introduce recommender algorithms such as the collaborative filtering algorithm and low-rank matrix factorization.
WEEK 10
Large Scale Machine Learning
Machine learning works best when there is an abundance of data to leverage for training. In this module, we discuss how to apply the machine learning algorithms with large datasets.
WEEK 11
Application Example: Photo OCR
Identifying and recognizing objects, words, and digits in an image is a challenging task. We discuss how a pipeline can be built to tackle this problem and how to analyze and improve the performance of such a system.
12. Learning, Knowledge, and Human Development

WHAT YOU WILL LEARN
WEEK 1
COURSE ORIENTATION + Foundations of Educational Psychology
This course sets out to provide an introduction to educational psychology. It includes a variety of voices and perspectives from the College of Education at the University of Illinois. Mary Kalantzis and Bill Cope offer a historical and conceptual overview of the field, classified broadly under the terms “behaviorism,” “brain developmentalism,” and “social cognitivism.” This is followed by four quite different practical examples of educational psychology at work. Dorothy Espelage discusses her work on the social and emotional conditions of learning in her research into bullying at school. Denice Hood gives an example of the application of psychology to educational counseling. George Reese speaks about “productive struggle” in learning. And finally, Joe Robinson-Cimpian discusses the application of quantitative psychology to analyze test results for the purposes of school and curricular placement.
WEEK 2
Brain Developmentalism and Social Cognitivism
In this module, we explore the main theories and theorists in approaches to educational psychology that we call “brain developmentalism” and “social cognitivism.”
WEEK 3
Social and Emotional Conditions of Learning and Student Development
This module and the following one present four leading educational psychologists from the University of Illinois demonstrating the range of applications of educational psychology. In this module, Dorothy Espelage explores the socio-emotional conditions of learning, with a particular focus on her research into bullying. Then, Denice Hood discusses student development.
WEEK 4
Productive Struggle in Learning and Quantitative Psychology
Two more, quite varied applications of educational psychology: George Reese discusses productive struggle, and Joe Robinson-Cimpian the application of quantitative educational psychology at a systems level.
13. Analysis of Algorithms

WHAT YOU WILL LEARN
WEEK 1
Analysis of Algorithms
We begin by considering historical context and motivation for the scientific study of algorithm performance. Then we consider a classic example that illustrates the key ingredients of the process: the analysis of Quicksort. The lecture concludes with a discussion of some resources that you might find useful during this course.
WEEK 2
Recurrences
We begin this lecture with an overview of recurrence relations, which provides us with a direct mathematical model for the analysis of algorithms. We finish by examining the fascinating oscillatory behavior of the divide-and-conquer recurrence corresponding to the mergesort algorithm and the general “master theorem” for related recurrences.
WEEK 3
Generating Functions
Since the 17th century, scientists have been using generating functions to solve recurrences, so we continue with an overview of generating functions, emphasizing their utility in solving problems like counting the number of binary trees with N nodes.
WEEK 4
Asymptotics
Exact answers are often cumbersome, so we next consider a scientific approach to developing approximate answers that, again, mathematicians and scientists have used for centuries.
WEEK 5
Analytic Combinatorics
Analytic Combinatorics. With a basic knowledge of recurrences, generating functions, and asymptotics, you are ready to learn and appreciate the basic features of analytic combinatorics, a systematic approach that avoids much of the detail of the classical methods that we have been considering. We introduce unlabeled and labelled combinatorial classes and motivate our basic approach to studying them, with numerous examples.
WEEK 6
Trees
The quintessential recursive structure, trees of various sorts are ubiquitous in scientific enquiry, and they arise explicitly in countless computing applications. You can find broad coverage in the textbook, but the lecture focuses on the use of analytic combinatorics to enumerate various types of trees and study parameters.
WEEK 7
Permutations
The study of sorting algorithms is the study of properties of permutations. We introduce analytic-combinatoric approaches to studying permutations in the context of this relationship.
WEEK 8
Strings and Tries
From DNA sequences to web indices, strings (sequences of characters) are ubiquitous in modern computing applications, so we use analytic combinatorics to study their basic properties and then introduce the trie, an essential and fundamental structure not found in classical combinatorics.
WEEK 9
Words and Mappings
We view strings as sets of characters or as functions from [1..N] to [1..M] to study classical occupancy problems and their application to fundamental hashing algorithms. Functions from [1..N] to [1..N] are mappings, which have an interesting and intricate structure that we can study with analytic combinatorics.
14. Becoming a changemaker: Introduction to Social Innovation

What you will learn from this course
WEEK 1
What’s our problem?
Welcome to Becoming a changemaker! This week, we distinguish between simple, complicated and complex problems. Social innovation takes place in complex systems and complex systems have complex or “wicked” problems, like the kinds of problems the world is trying to tackle right now such as climate change, HIV Aids and other pandemics, poverty and inequality. A complex system has many variables or elements such as different sorts of people, material and rules and those elements of the system are interacting with each other so much that the complexity increases exponentially. So the work of complexity is about bringing yourself into the system, engaging with it, living with it and innovating in yourself as you innovate in that system that you’re working in. You can’t look at the whole system but you can look at more than one piece of it. The more you start to bring in different parts of the systems, you can then start to connect those in ways that they weren’t connected before.
WEEK 2
What do we have to work with?
One of the hallmarks of very innovative organizations and people is that they see resources where other people don’t, and they can bring those resources to bear to create new innovative solutions. There’s transformative power in shifting from looking at needs, gaps, and what’s wrong, to appreciating strengths, resources and what’s right. Through developing a strength-based mindset and an appreciative approach you can discover hidden or underused resources. These resources might be people, kinds of knowledge and expertise, time, and physical spaces. As soon as you start seeing resources all around you, not only can you move forward but you become energised and hopeful, and creative things start to happen. You’ll find that you might be a lot richer than you think in terms of what you have to start building your own social innovation with.
WEEK 3
Getting out of your comfort zone
By nature the world of social innovation is made of crossing boundaries, bringing together different actors, resources, spaces, but it can be overwhelming. Part of our challenge on the journey to becoming changemakers is to learn how to become comfortable with discomfort and how in the social innovation space where you take yourself into spaces and you surround yourself with people that you normally do not engage with. Understanding how we define differences using cultural, sociological, psychological and spiritual lenses and what the nature of the differences is helps to develop tools for getting out of your comfort zone. It takes a little bit of courage because it makes you uncomfortable, but that’s how you build the competencies, the personal resilience to engage with difference when we do go and drive for innovations or we look to make differences in communities that are unlike us or operate in a different way.
WEEK 4
Innovating by design
A number of methodologies and processes can help generate ideas and creative opportunities, and some of these have been used in business to generate new products and services, and are starting to be applied in social innovation. Human-centred design is incredibly important, and the Design Thinking process allows you to start early and wherever you are with whatever you’ve got. Design Thinking has evolved as a way to respond to deeper user insights, to connect more with people and with communities so that we can actually design solutions that are human-centred. Design Thinking is not just about products, but also helps create new processes, new systems, new services, and importantly even user experiences. Following a Design Thinking process will help you iterate and test your solution with end users, with an emphasis on failing early and often through trying things out and prototyping. Powerful Design Thinking methodology can help you to come up with human-centred design solutions that manifest economic viability, technical feasibility and social desirability in your social innovation.
WEEK 5
Changing the system – who me?
Understanding that social innovation is system innovation can help us appreciate why social innovation is so difficult to do. Social innovations can start to challenge and change the underlying system conditions that caused the social or environmental problem in the first place. We are asked to innovate around belief systems, or around authority, power, and resource flows. So, a social innovation challenges the rules of the game. Asking what’s innovative about the work means asking questions around the experiences of where an innovation might be changing the rules of the games and allows us to go deeper into the kinds of impacts that might be possible, and discover hidden impacts. When any kind of social innovation starts to get at the systemic roots, we’re going to be provoking anxiety. So it’s quite helpful to map out the social system and the rules that govern it and then to consider how you are challenging these rules through the innovation.
WEEK 6
What if it works?
In the end social innovation is about impact. We’re all trying to have a meaningful, positive effect on the world, whatever that might mean to us. If we do this and we’re actually successful, this is going to take us sooner or later to the question of scale. How do we grow that innovation? As social innovations mature, the forms they could take and the multiple ways in which you could organise around achieving impact increase. It used to be easy to label organisations according to non-profit and for profit, and government institutions based on their purpose, its organisational structure and the way it measured what it achieved. That’s all changing. There are different ways to diffuse and scale the work that we’re doing to achieve impact.
SKILLS YOU WILL GAIN
- Sustainability
- Innovation
- Social Entrepreneurship
- Entrepreneurship
15. Crash Course on Python
WHAT YOU WILL LEARN
- Understand what Python is and why Python is relevant to automation
- Write short Python scripts to perform automated actions
- Understand how to use the basic Python structures: strings, lists, and dictionaries
- Create your own Python objects
WEEK 1
Hello Python!
In this module we’ll introduce you to the Coursera platform and the course format. Then, we’ll dive into the basics of programming languages and syntax, as well as automation using scripting. We’ll also introduce you to the Python programming language and some of the benefits it offers. Last up, we’ll cover some basic functions and keywords of the language, along with some arithmetic operations.
WEEK 2
Basic Python Syntax
In this module you’ll learn about different data types in Python, how to identify them, and how to convert between them. You’ll also learn how to use variables to assign data and to reference variables. You’ll deep dive into functions: how to define them, pass them parameters, and have them return information. You’ll explore the concepts of code reuse, code style, and refactoring complex code, along with effectively using code comments. Finally, you’ll learn about comparing data using equality and logical operators, and leveraging these to build complex branching scripts using if statements.
WEEK 3
Loops
In this module you’ll explore the intricacies of loops in Python! You’ll learn how to use while loops to continuously execute code, as well as how to identify infinite loop errors and how to fix them. You’ll also learn to use for loops to iterate over data, and how to use the range() function with for loops. You’ll also explore common errors when using for loops and how to fix them.
WEEK 4
Strings, Lists and Dictionaries
In this module you’ll dive into more advanced ways to manipulate strings using indexing, slicing, and advanced formatting. You’ll also explore the more advanced data types: lists, tuples, and dictionaries. You’ll learn to store, reference, and manipulate data in these structures, as well as combine them to store complex data structures.
WEEK 5
Object Oriented Programming (Optional)
In this module, you’ll be introduced to the concept of object-oriented programming! You’ll learn how to build your own classes with unique attributes and methods. You’ll get a chance to write documentation for your classes and methods using docstrings. You’ll learn all about object instances and object inheritance, as well as how to import and use Python modules to make use of powerful classes and methods. To round things out, you’ll also be introduced to Jupyter notebooks, which we’ll use to write and execute more complex code.
WEEK 6
What if it works?
In the end social innovation is about impact. We’re all trying to have a meaningful, positive effect on the world, whatever that might mean to us. If we do this and we’re actually successful, this is going to take us sooner or later to the question of scale. How do we grow that innovation? As social innovations mature, the forms they could take and the multiple ways in which you could organise around achieving impact increase. It used to be easy to label organisations according to non-profit and for profit, and government institutions based on their purpose, its organisational structure and the way it measured what it achieved. That’s all changing. There are different ways to diffuse and scale the work that we’re doing to achieve impact.
15. Bitcoin and Cryptocurrency Technologies

What you will learn from this course
Introduction to Crypto and Cryptocurrencies
Learn about cryptographic building blocks (“primitives”) and reason about their security. Work through how these primitives can be used to construct simple cryptocurrencies.
WEEK 2
How Bitcoin Achieves Decentralization
Learn Bitcoin’s consensus mechanism and reason about its security. Appreciate how security comes from a combination of technical methods and clever incentive engineering.
WEEK 3
Mechanics of Bitcoin
Learn how the individual components of the Bitcoin protocol make the whole system tick: transactions, script, blocks, and the peer-to-peer network.
WEEK 4
How to Store and Use Bitcoins
This week we’ll explore how using Bitcoins works in practice: different ways of storing Bitcoin keys, security measures, and various types of services that allow you to trade and transact with bitcoins.
WEEK 5
Bitcoin Mining
We already know that Bitcoin relies crucially on mining. But who are the miners? How did they get into this? How do they operate? What’s the business model like for miners? What impact do they have on the environment?
WEEK 6
Bitcoin and Anonymity
Is Bitcoin anonymous? What does that statement even mean—can we define it rigorously? We’ll learn about the various ways to improve Bitcoin’s anonymity and privacy and learn about Bitcoin’s role in Silk Road and other hidden marketplaces.
WEEK 7
Community, Politics, and Regulation
We’ll look at all the ways that the world of Bitcoin and cryptocurrency technology touches the world of people. We’ll discuss the community, politics within Bitcoin and the way that Bitcoin interacts with politics, and law enforcement and regulation issues.
WEEK 8
Alternative Mining Puzzles
Not everyone is happy about how Bitcoin mining works: its energy consumption and the fact that it requires specialized hardware are major sticking points. This week we’ll look at how mining can be re-designed in alternative cryptocurrencies.
WEEK 9
Bitcoin as a Platform
One of the most exciting things about Bitcoin technology is its potential to support applications other than currency. We’ll study several of these and study the properties of Bitcoin that makes this possible.
WEEK 10
Altcoins and the Cryptocurrency Ecosystem
Hundreds of altcoins, or alternative cryptocurrencies, have been started, either to fix Bitcoin’s perceived flaws or to pursue different goals and properties. We’ll look at everything that goes into an altcoin and how they interact with Bitcoin.
WEEK 11
The Future of Bitcoin?
The use of Bitcoin technology for decentralizing property, markets, and so on has been hailed as a recipe for economic and political disruption. We’ll look at the technological underpinnings of these proposals and the potential impact on society.
Computer Science: Programming with a Purpose
What you will learn from this course
WEEK 1
BASIC PROGRAMMING CONCEPTS
Why program? This lecture addresses that basic question. Then it describes the anatomy of your first program and the process of developing a program in Java using either virtual terminals or a program development environment, with some historical context. Most of the lecture is devoted to a thorough coverage of Java’s built-in data types, with example programs for each.
WEEK 2
CONDITIONALS AND LOOPS
The if, while, and for statements are Java’s fundamental control structures. This lecture is built around short programs that use these constructs to address important computational tasks. Examples include sorting, computing the square root, factoring, and simulating a random process. The lecture concludes with a detailed example illustrating the process of debugging a program.
WEEK 3
ARRAYS
Computing with a large sequence of values of the same type is extremely common. This lecture describes Java’s built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards, the coupon collector test for randomness, and random walks in a grid.
WEEK 3
ARRAYS
Computing with a large sequence of values of the same type is extremely common. This lecture describes Java’s built-in array data structure that supports such applications, with several examples, including shuffling a deck of cards, the coupon collector test for randomness, and random walks in a grid.
WEEK 5
FUNCTIONS AND LIBRARIES
Modular programming is the art and science of breaking a program into pieces that can be individually developed. This lecture introduces functions (Java methods), a fundamental mechanism that enables modular programming. Motivating examples include functions for the classic Gaussian distribution and an application that creates digital music.
WEEK 6
RECURSION
A recursive function is one that calls itself. This lecture introduces the concept by treating in detail the ruler function and (related) classic examples, including the Towers of Hanoi puzzle, the H-tree, and simple models of the real world based on recursion. We show a common pitfall in the use of recursion, and a simple way to avoid it, which introduces a different (related) programming paradigm known as dynamic programming.
WEEK 7
PERFORMANCE
When you develop a program, you need to be aware of its resource requirements. In this lecture, we describe a scientific approach to understanding performance, where we develop mathematical models describing the running time our programs and then run empirical tests to validate them. Eventually we come to a simple and effective approach that you can use to predict the running time of your own programs that involve significant amounts of computation.
WEEK 8
ABSTRACT DATA TYPES
In Java, you can create your own data types and use them in your programs. In this and the next lecture, we show how this ability allows us to view our programs as abstract representations of real-world concepts. First we show the mechanics of writing client programs that use data types. Our examples involve abstractions such as color, images, and genes. This style of programming is known as object-oriented programming because our programs manipulate objects, which hold data type values.
WEEK 9
CREATING DATA TYPES
Creating your own data types is the central activity in modern Java programming. This lecture covers the mechanics (instance variables, constructors, instance methods, and test clients) and then develops several examples, culminating in a program that uses a quintessential mathematical abstraction (complex numbers) to create visual representations of the famous Mandelbrot set.
WEEK 10
PROGRAMMING LANGUAGES
We conclude the course with an overview of important issues surrounding programming languages. To convince you that your knowledge of Java will enable you to learn other programming languages, we show implementations of a typical program in C, C++, Python, and Matlab. We describe important differences among these languages and address fundamental issues, such as garbage collection, type checking, object oriented programming, and functional programming with some brief historical context.
Courses and courses content Credit : Coursera