diff --git a/coursera_syncer/Rakefile b/coursera_syncer/Rakefile new file mode 100644 index 0000000..e2ac612 --- /dev/null +++ b/coursera_syncer/Rakefile @@ -0,0 +1,68 @@ +require "active_record" +require 'yaml' + +namespace :db do + + db_config = YAML::load(File.open('config/database.yml')) + db_config_admin = db_config.merge({'database' => 'postgres', 'schema_search_path' => 'public'}) + + desc "Create the database" + task :create do + ActiveRecord::Base.establish_connection(db_config_admin) + ActiveRecord::Base.connection.create_database(db_config["database"]) + puts "Database created." + end + + desc "Migrate the database" + task :migrate do + ActiveRecord::Base.establish_connection(db_config) + ActiveRecord::Migrator.migrate("db/migrate/") + Rake::Task["db:schema"].invoke + puts "Database migrated." + end + + desc "Drop the database" + task :drop do + ActiveRecord::Base.establish_connection(db_config_admin) + ActiveRecord::Base.connection.drop_database(db_config["database"]) + puts "Database deleted." + end + + desc "Reset the database" + task :reset => [:drop, :create, :migrate] + + desc 'Create a db/schema.rb file that is portable against any DB supported by AR' + task :schema do + ActiveRecord::Base.establish_connection(db_config) + require 'active_record/schema_dumper' + filename = "db/schema.rb" + File.open(filename, "w:utf-8") do |file| + ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file) + end + end + +end + +namespace :g do + desc "Generate migration" + task :migration do + name = ARGV[1] || raise("Specify name: rake g:migration your_migration") + timestamp = Time.now.strftime("%Y%m%d%H%M%S") + path = File.expand_path("../db/migrate/#{timestamp}_#{name}.rb", __FILE__) + migration_class = name.split("_").map(&:capitalize).join + + File.open(path, 'w') do |file| + file.write <<-EOF +class #{migration_class} < ActiveRecord::Migration + def self.up + end + def self.down + end +end + EOF + end + + puts "Migration #{path} created" + abort # needed stop other tasks + end +end diff --git a/coursera_syncer/config/database.yml b/coursera_syncer/config/database.yml new file mode 100644 index 0000000..b9b4a53 --- /dev/null +++ b/coursera_syncer/config/database.yml @@ -0,0 +1,5 @@ +# config/database.yml +host: 'localhost' +adapter: 'postgresql' +encoding: utf-8 +database: 'coursera_syncer_test' diff --git a/coursera_syncer/coursera_client.rb b/coursera_syncer/coursera_client.rb new file mode 100644 index 0000000..8156629 --- /dev/null +++ b/coursera_syncer/coursera_client.rb @@ -0,0 +1,20 @@ +module CourseraClient + def self.get_courses + courses_response_body = get_raw_courses + raw_courses = courses_response_body['elements'] + raw_courses.map do |raw_course| + { + coursera_id: raw_course['id'], + name: raw_course['name'], + description: raw_course['description'], + coursera_url: raw_course['previewLink'] + # : raw_course['coursera_url'], + } + end + end + + def self.get_raw_courses + # Assume we can send GET request to coursera and return raw course list + # JSON response body. + end +end diff --git a/coursera_syncer/coursera_syncer.rb b/coursera_syncer/coursera_syncer.rb new file mode 100644 index 0000000..9e8f8da --- /dev/null +++ b/coursera_syncer/coursera_syncer.rb @@ -0,0 +1,8 @@ +require_relative './coursera_client' + +module CourseraSyncer + def self.sync! + courses_attributes = CourseraClient.get_courses + courses_attributes.each { |course_attrs| Course.create(course_attrs) } + end +end diff --git a/coursera_syncer/db/migrate/20160624144643_create_courses.rb b/coursera_syncer/db/migrate/20160624144643_create_courses.rb new file mode 100644 index 0000000..d971acb --- /dev/null +++ b/coursera_syncer/db/migrate/20160624144643_create_courses.rb @@ -0,0 +1,11 @@ +class CreateCourses < ActiveRecord::Migration + def change + create_table :courses do |t| + t.string :name + t.text :description + t.string :coursera_url + t.string :coursera_id + t.datetime :starts_at + end + end +end diff --git a/coursera_syncer/db/schema.rb b/coursera_syncer/db/schema.rb new file mode 100644 index 0000000..c3a3a87 --- /dev/null +++ b/coursera_syncer/db/schema.rb @@ -0,0 +1,29 @@ +# encoding: UTF-8 +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20160624144643) do + + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "courses", force: :cascade do |t| + t.string "name" + t.text "description" + t.string "coursera_url" + t.string "coursera_id" + t.datetime "starts_at" + t.datetime "created_at" + t.datetime "updated_at" + end + +end diff --git a/coursera_syncer/models/course.rb b/coursera_syncer/models/course.rb new file mode 100644 index 0000000..7a22383 --- /dev/null +++ b/coursera_syncer/models/course.rb @@ -0,0 +1,2 @@ +class Course < ActiveRecord::Base +end diff --git a/coursera_syncer/spec/coursera_syncer_spec.rb b/coursera_syncer/spec/coursera_syncer_spec.rb new file mode 100644 index 0000000..ece3df6 --- /dev/null +++ b/coursera_syncer/spec/coursera_syncer_spec.rb @@ -0,0 +1,20 @@ +require_relative './spec_helper' +require_relative '../coursera_syncer' +require_relative '../models/course' + +describe CourseraSyncer do + before do + Course.destroy_all + file = + File.open(File.dirname(__FILE__) + '/fixtures/courses.json', 'rb').read + course_data = JSON.parse(file) + allow(CourseraClient).to receive(:get_raw_courses).and_return(course_data) + end + describe '::sync!' do + it 'syncs sources from coursera api course list' do + CourseraSyncer.sync! + expect(Course.count).not_to eq 0 + expect(Course.find_by(coursera_id: 'v1-228')).not_to be_nil + end + end +end diff --git a/coursera_syncer/spec/fixtures/courses.json b/coursera_syncer/spec/fixtures/courses.json new file mode 100644 index 0000000..9072d17 --- /dev/null +++ b/coursera_syncer/spec/fixtures/courses.json @@ -0,0 +1 @@ +{"elements":[{"id":"v1-228","description":"For anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice.","slug":"digitalmedia","courseType":"v1.session","name":"Creative Programming for Digital Media & Mobile Apps"},{"id":"69Bku0KoEeWZtA4u62x6lQ","slug":"gamification","description":"Gamification is the application of game elements and digital game design techniques to non-game problems, such as business and social impact challenges. This course will teach you the mechanisms of gamification, why it has such tremendous potential, and how to use it effectively. For additional information on the concepts described in the course, you can purchase Professor Werbach's book For the Win: How Game Thinking Can Revolutionize Your Business in print or ebook format in several languages.","courseType":"v2.ondemand","startDate":1447095621493,"name":"Gamification"},{"id":"0HiU7Oe4EeWTAQ4yevf_oQ","slug":"missing-data","courseType":"v2.ondemand","description":"This course will cover the steps used in weighting sample surveys, including methods for adjusting for nonresponse and using data external to the survey for calibration. Among the techniques discussed are adjustments using estimated response propensities, poststratification, raking, and general regression estimation. Alternative techniques for imputing values for missing items will be discussed. For both weighting and imputation, the capabilities of different statistical software packages will be covered, including R®, Stata®, and SAS®.","startDate":1459792858280,"name":"Dealing With Missing Data"},{"id":"5zjIsJq-EeW_wArffOXkOw","courseType":"v2.ondemand","slug":"vital-signs","description":"The vital signs – heart rate, blood pressure, body temperature, respiration rate, and pain – communicate important information about the physiological status of the human body. In this six-part course we explore the anatomy and physiology underlying the vital signs so that you will develop a systematic, integrated understanding of how the body functions. Relevant body systems are reviewed including cardiovascular and respiratory, followed by explanations of how the function of these systems affects vital signs. We discuss normal ranges, normal variants, and the mechanisms that underlie changes in the objective measurement of vital signs. The course also includes demonstrations of appropriate techniques for measuring vital signs in yourself and others.\n\nThe course is designed for a broad, general audience but will be particularly interesting for individuals working in healthcare, those considering a career as a healthcare professional, lay caregivers, those with an interest in personal health and fitness, or anyone who simply wants to understand how the body functions.","startDate":1456817703360,"name":"Vital Signs: Understanding What the Body Is Telling Us"},{"id":"v9CQdBkhEeWjrA6seF25aw","description":"Themes can provide a great structure and pedagogical framework for engaging students with many different subjects, including art. In this course, you will develop skills for looking at art through a thematic lens. You will explore four themes–Places & Spaces, Art & Identity, Transforming Everyday Objects, and Art & Society–while learning about artworks from The Museum of Modern Art's collection.","courseType":"v2.ondemand","startDate":1439923333939,"slug":"modern-art-ideas","name":"Modern Art & Ideas"},{"id":"QgmoVdT2EeSlhSIACx2EBw","startDate":1431661792194,"description":"This is an introductory astronomy survey class that covers our understanding of the physical universe and its major constituents, including planetary systems, stars, galaxies, black holes, quasars, larger structures, and the universe as a whole.","courseType":"v2.ondemand","name":"The Evolving Universe","slug":"evolvinguniverse"},{"id":"QTTRdG3vEeWG0w42Sx-Gkw","slug":"learntomod","description":"Welcome to LearnToMod For Educators!\n\nIn this course you will learn about:\nProgramming\nMinecraft\nMinecraft Modding\nand Becoming a LearnToMod Educator\nand we will help you through this journey!\n\nYou will get a lot of hands-on experience with an easy-to-use programming environment that is available 100% online and for free! Not only can you use it, but all of your students will also be able to use it for free as well! \n\nCome learn the wonders of programming and how to use Minecraft as a way to engage students in learning programming. \n\nYou don't have to have ever programmed or played Minecraft before to be able to succeed in this course. We have already successfully taught hundreds of teachers around the world with this software and curriculum, with nearly 1000 teachers using LearnToMod in their classrooms before this course has even launched. You can not only introduce your students to a new skill that is applicable in any field, but you can learn a new skill as well!\n\nThis course is estimated to take approximately 4 weeks with only 5 hours of work each week. \n\nBe the hit of your school by becoming a Minecraft Modder (programmer)!","courseType":"v2.ondemand","startDate":1447089894199,"name":"LearnToMod For Educators"},{"id":"v1-1355","name":"Water: The Essential Resource","slug":"waterandenvironment","description":"Using water as the unifying theme, explore ocean and freshwater topics and instructional strategies to integrate environmental content in your teaching practice.","courseType":"v1.session"},{"id":"5uXCfFu2EeSU0SIACxCMgg","name":"Bioinformatic Methods I","description":"Large-scale biology projects such as the sequencing of the human genome and gene expression surveys using RNA-seq, microarrays and other technologies have created a wealth of data for biologists. However, the challenge facing scientists is analyzing and even accessing these data to extract useful information pertaining to the system being studied. This course focuses on employing existing bioinformatic resources – mainly web-based programs and databases – to access the wealth of data to answer questions relevant to the average biologist, and is highly hands-on. \n\nTopics covered include multiple sequence alignments, phylogenetics, gene expression data analysis, and protein interaction networks, in two separate parts. \n\nThe first part, Bioinformatic Methods I (this one), deals with databases, Blast, multiple sequence alignments, phylogenetics, selection analysis and metagenomics. \n\nThis, the second part, Bioinformatic Methods II, covers motif searching, protein-protein interactions, structural bioinformatics, gene expression data analysis, and cis-element predictions. \n\nThis pair of courses is useful to any student considering graduate school in the biological sciences, as well as students considering molecular medicine. Both provide an overview of the many different bioinformatic tools that are out there. \n\nThese courses are based on one taught at the University of Toronto to upper-level undergraduates who have some understanding of basic molecular biology. If you're not familiar with this, something like https://learn.saylor.org/course/bio101 might be helpful. No programming is required for this course.","startDate":1421096015614,"courseType":"v2.ondemand","slug":"bioinformatics-methods-1"},{"id":"Rr2thkIKEeWZtA4u62x6lQ","description":"Have you ever wondered how a product recommender is built? How you can infer the underlying sentiment from reviews? How you can extract information from images to find visually-similar products to recommend? How you construct an application that does all of these things in real time, and provides a front-end user experience? That’s what you will build in this course!\n\nUsing what you’ve learned about machine learning thus far, you will build a general product recommender system that does much more than just find similar products You will combine images of products with product descriptions and their reviews to create a truly innovative intelligent application.\n\nYou’ve probably heard that Deep Learning is making news across the world as one of the most promising techniques in machine learning, especially for analyzing image data. With every industry dedicating resources to unlock the deep learning potential, to be competitive, you will want to use these models in tasks such as image tagging, object recognition, speech recognition, and text analysis. In this capstone, you will build deep learning models using neural networks, explore what they are, what they do, and how. To remove the barrier introduced by designing, training, and tuning networks, and to be able to achieve high performance with less labeled data, you will also build deep learning classifiers tailored to your specific task using pre-trained models, which we call deep features. \n\nAs a core piece of this capstone project, you will implement a deep learning model for image-based product recommendation. You will then combine this visual model with text descriptions of products and information from reviews to build an exciting, end-to-end intelligent application that provides a novel product discovery experience. You will then deploy it as a service, which you can share with your friends and potential employers. \n\nLearning Outcomes: By the end of this capstone, you will be able to:\n -Explore a dataset of products, reviews and images.\n -Build a product recommender.\n -Describe how a neural network model is represented and how it encodes non-linear features.\n -Combine different types of layers and activation functions to obtain better performance.\n -Use pretrained models, such as deep features, for new classification tasks. \n -Describe how these models can be applied in computer vision, text analytics and speech recognition. \n -Use visual features to find the products your users want.\n -Incorporate review sentiment into the recommendation.\n -Build an end-to-end application.\n -Deploy it as a service. \n -Implement these techniques in Python.","name":"Machine Learning Capstone: An Intelligent Application with Deep Learning","startDate":1441044246396,"slug":"ml-capstone","courseType":"v2.capstone"},{"id":"rajsT7UJEeWl_hJObLDVwQ","courseType":"v2.ondemand","description":"剪辑台前,剪辑师就像厨师对待食材一样,摆弄着拍摄现场记录下来的影像片段,用影像和声音去捕捉线索和瞬间,讲述一个故事,同时赋予故事以力量、以情感。怎样平衡剪辑給画面带来的跳跃?当有几条情节线索相互穿插时,又应使用哪些剪辑手法?剪辑过程和编剧的过程一样,以叙事和抒情为最高准则,同时不断突破陈规,创造专属于自己的独特风格。本课程将带领学习者从剪辑开始,认识镜头,认识剪辑的语法,揭开微电影创作的神秘面纱。","slug":"jian-ji","startDate":1459465663004,"name":"剪辑:像编剧一样剪辑"},{"id":"lfKT5sS3EeWhPQ55lNYVVQ","startDate":1462810844656,"courseType":"v2.ondemand","name":"Turn Down the Heat: From Climate Science to Action","description":"Each part of the world faces specific vulnerabilities to climate change and has different opportunities to mitigate the effects and build resilience in the 21st century. With the Paris Agreement at COP 21, the global community has signaled its intent to act. Indeed, without climate action, decades of development progress are threatened, meaning that we are at a ‘make it or break it’ point in time. This course presents the most recent scientific evidence, explains the different regional impacts and divulge climate action strategies, and some opportunities for you to take action on climate change.\n\nAbout the Course\n\nThis action-oriented MOOC gives you the opportunity to learn about regional climate change impacts and sector-specific strategies to increase resilience and move towards a low-carbon future. You will have the opportunity to explore these issues in depth and tailor your learning experience for one or more of the following regions:\n\n• Latin America and Caribbean\n• Sub-Saharan Africa\n• Middle East and North Africa\n• Eastern Europe and Central Asia\n• East Asia and Pacific\n• South Asia\n\nTo do this, the MOOC brings together renowned scientists and policymakers to provide a synthesis of the most recent scientific evidence on climate change, regional low emissions and climate resilient development strategies across sectors, and an overview of the Paris Agreement and other outcomes of COP 21.\n\nCourse Syllabus\n\nOverview \n\nTurn Down the Heat: From Climate Science to Action is divided into four weeks. The first two weeks will provide a comprehensive overview of the scientific evidence for climate change, followed by region-specific insights on the impacts of a warmer world in the 21st century. The last two weeks will focus on action strategies that are being undertaken in different regions and countries to meet the climate challenge, and on how individuals can take action.\n\nWeek 1: Climate Change in the 21st Century\n\n• Historical and projected observed changes in the climate system, leading up to the end of the 21st century\n• The potential of Intended Nationally Determined Contributions (INDCs) submitted at COP 21 from 187 countries to induce climate action\n• Trends in climate change impacts, including loss of Arctic sea ice, melting glaciers, increased heat waves and extreme temperatures, and drought and aridity \n• Possible responses from natural systems, explaining how warming could result in sea-level rise, heat waves and extreme temperatures, and ocean acidification\n\nWeek 2: Sectoral and Regional Impacts\n\n• Impacts on key development sectors—from warming above pre-industrial temperatures and projected climate trends—across each of the world’s regions\n• Sectoral impacts focusing on agricultural production, water resources, ecosystem services, and coastal vulnerability for affected populations \n• Importance of risks with the potential to reverse hard-won development gains and potentially trap millions in poverty, illustrating the need for urgent action now\n\nWeek 3: From Science to Action on Climate Change\n\n• Region-specific discussions on mitigation actions needed to reduce emissions while decreasing vulnerability to climate change impacts through adaptation and by building climate resilience\n• Perspectives from regional experts on their experiences in strategies and actions proposed in each region to help transition towards a low-emissions, climate-resilient development path \n\nWeek 4: What You Can Do\n\n• Transformative impact of day-to-day changes when brought to a global scale\n• The rationale for acting now, acting together and acting differently\n• Examples and expected benefits of mitigation and adaptation policies, considering both contributions to global emission reductions and local development opportunities\n\nCourse Format\n\nThis MOOC has a week-by-week structure, with resources, activities and exercises for you to engage in during each of the four weeks of the course. Each week, you will find a variety of course material, including: \n\n• Interactive video talks by renowned climate scientists and practitioners \n• Resources: Core, optional (deep dive) and fun interactives on the week’s theme\n• Quizzes that check your knowledge, reinforce the lesson’s material and provide immediate feedback\n• Assignments that will sharpen your skills of analysis, reflection and communication\n• Discussion forums and social media that enable collaboration with others from around the world, enriching interaction among participants\n• A live interactive Google Hangouts on air with international experts, who will engage in a Q&A session on climate change\n• As a final project, you will create a digital artifact","slug":"climate-science"},{"id":"v1-1250","description":"Learn how to make effective decisions about your future career and how to take control of your professional development by honing your critical thinking and employability skills.\nSuitable for anyone undertaking some form of study, regardless of academic discipline, interests or employment background.\n","slug":"career","courseType":"v1.session","name":"Enhance Your Career and Employability Skills"},{"id":"POZJ3uOtEeSoXCIACw4Gzg","courseType":"v2.ondemand","name":"工程圖學 2D CAD","startDate":1434394468188,"description":"工程圖學在教什麼?這門課有的重要性為何? 對我的專業有什麼幫助?沒有工程背景的人也可以學習工程圖學嗎?我不是工程師,學習工程圖學對我的生活有幫助嗎?\n這門課是CAD/BIM技術與應用專項課程的第一門課,與其他三門課「工程圖學2D專題」、「工程圖學3D」,及「工程圖學3D專題」,作為工程圖學及電腦繪圖的入門課程,你將在這門課會學到各種繪圖的原理與方法,以及AutoCAD電腦繪圖技術,並在相關的作業練習中,逐漸熟練這些基本技術。\n工程製圖的應用無所不在,最主要的目的就是利用圖像來描述物體的形貌與功能,作為保存與傳遞想法的工具。繪圖一點也不難,無論你從事什麼工作,來自什麼背景,只要你具備中學程度的基本幾何和三角函數概念,就可以在這裡從頭開始,學會工程圖學!你會驚訝的發現,當繪圖融入你的生活時帶來的趣味與方便!","slug":"2d-cad"},{"id":"ugSnwH9hEeSiIiIAC3lQMQ","courseType":"v2.ondemand","startDate":1418764922399,"description":"Ders çok değişkenli fonksiyonlardaki iki derslik dizinin ikincisidir. Birinci ders türev ve entegral kavramlarını geliştirmekte ve bu konulardaki problemleri temel çözme yöntemlerini sunmaktadır. Bu ders, birinci derste geliştirilen temeller üzerine daha ileri konuları işlemekte ve daha kapsamlı uygulamalar ve çözümlü örnekler sunmaktadır. Ders gerçek yaşamdan gelen uygulamaları da tanıtmaya önem veren “içerikli yaklaşımla” tasarlanmıştır. \n\nBölümler\nBölüm 1: Multivar 1'in Özeti, Dairesel Koordinatlarda Entegraller\nBölüm 2: Türev Uygulamalarından Seçme Konular\nBölüm 3: Çok Değişkenle Zincirleme Türev ve Jakobiyan\nBölüm 4: Uzayda Yüzey ve Hacım Entegralleri\nBölüm 5: Düzlemde Akı Entegralleri\nBölüm 6: Düzlemde Green, Uzayda Stokes ve Green-Gauss Teoremleri\nBölüm 7: Stokes ve Green-Gauss Teoremleri ve Doğanın Korunum Yasaları\n-----------\nThe course is the second of the two course sequence of calculus of multivariable functions. The first course develops the concepts of derivatives and integrals of functions of several variables, and the basic tools for doing the relevant calculations. This course builds on the foundations of the first course and introduces more advanced topics along with more advanced applications and solved problems. The course is designed with a “content-based” approach, i. e. by solving examples, as many as possible from real life situations.\n\nBölümler\nBölüm 1: Summary of Multivar I, Integral in Circular Coordinates\nBölüm 2: Topics of Derivative Applications\nBölüm 3: Chain Derivatives with Multi Variables and Jacobian\nBölüm 4: Surface and Volume Integrals in Space\nBölüm 5: Flux Integrals in the Plane\nBölüm 6: Green in Plane, Stokes in Space and Green-Gauss Theorems\nBölüm 7: Stokes and Green-Gauss Theorem and Nature Conservation Laws\n-----------\nKaynak: Attila Aşkar, “Çok değişkenli fonksiyonlarda türev ve entegral”. Bu kitap dört ciltlik dizinin ikinci cildidir. Dizinin diğer kitapları Cilt 1 “Tek değişkenli fonksiyonlarda türev ve entegral”, Cilt 3: “Doğrusal cebir” ve Cilt 4: “Diferansiyel denklemler” dir.\n\nSource: Attila Aşkar, Calculus of Multivariable Functions, Volume 2 of the set of Vol1: Calculus of Single Variable Functions, Volume 3: Linear Algebra and Volume 4: Differential Equations. All available online starting on January 6, 2014","name":"Çok değişkenli Fonksiyon II: Uygulamalar / Multivariable Calculus II: Applications","slug":"calculus-diferansiyel-hesap"},{"id":"rc5KG0aUEeWG1w6arGoEIQ","courseType":"v2.ondemand","slug":"accounting-analytics","startDate":1452300586134,"description":"Accounting Analytics explores how financial statement data and non-financial metrics can be linked to financial performance.  In this course, taught by Wharton’s acclaimed accounting professors, you’ll learn how data is used to assess what drives financial performance and to forecast future financial scenarios. While many accounting and financial organizations deliver data, accounting analytics deploys that data to deliver insight, and this course will explore the many areas in which accounting data provides insight into other business areas including consumer behavior predictions, corporate strategy, risk management, optimization, and more. By the end of this course, you’ll understand how financial data and non-financial data interact to forecast events, optimize operations, and determine strategy. This course has been designed to help you make better business decisions about the emerging roles of accounting analytics, so that you can apply what you’ve learned to make your own business decisions and create strategy using financial data. ","name":"Accounting Analytics"},{"id":"gpAI9GK4EeWFkQ7sUCFGVQ","courseType":"v2.ondemand","slug":"solid-waste-management","description":"Have you come across large piles of garbage in neighborhoods and streets, or smelly waste disposal sites polluting the environment of low and middle income countries? Are you also convinced that improvements are necessary and do you want to know what kind of sustainable solutions are appropriate to better manage waste and enhance recycling and recovery? If yes, this course is for you! \n\nThis course provides an overview of the municipal solid waste management situation in developing countries covering key elements of the waste management system, with its technical, environmental, social, financial and institutional aspects. Besides understanding the challenges you will learn about appropriate and already applied solutions through selected case studies. The course also covers strategic planning and policy issues discussing future visions for waste management and the aspect of a circular and green economy. Considering the importance of the organic waste fraction, the course covers several organic waste treatment technology options such as composting, anaerobic digestion, and some other innovative approaches. \n\nSTATEMENT OF ACCOMPLISHMENT \nThis course offers free Statements of Accomplishment (SoA) issued by Eawag. You can earn a SoA by successfully completing the quizzes and the final exam. Please be aware that this SoA is not a paid Course Certificate issued by Coursera & EPFL.\n\nMOOC SERIES “SANITATION, WATER AND SOLID WASTE FOR DEVELOPMENT”\nThis course is one of four in the series “Sanitation, Water and Solid Waste for Development\". Please visit the course page for more information.","startDate":1456157441110,"name":"Municipal Solid Waste Management in Developing Countries"},{"id":"v1-640","courseType":"v1.session","slug":"ccss-math1","name":"Common Core in Action: Math Classroom Challenges- Using Formative Assessment to Guide Instruction","description":"This course offers participants an opportunity to engage in a community of learners using an inquiry cycle focusing on math formative assessments as a strategy for implementing CCSS in math. It focuses on the implementation of a Classroom Challenge: a 1 – 2 day lesson developed by the Mathematics Assessment Project (MAP) based on formative assessment and the CCSSM."},{"id":"Kzg9QkDxEeWZtA4u62x6lQ","name":"Music and Social Action","startDate":1456120207596,"courseType":"v2.ondemand","description":"What is a musician’s response to the condition of the world? Do musicians have an obligation and an opportunity to serve the needs of the world with their musicianship?\n \nAt a time of crisis for the classical music profession, with a changing commercial landscape, a shrinking audience base, and a contraction in the number of professional orchestras, how does a young musician construct a career today? Are we looking at a dying art form or a moment of reinvigoration?\n \nIn this course we will develop a response to these questions, and we will explore the notion that the classical musician, the artist, is an important public figure with a critical role to play in society.\n \nThe course will include inquiry into a set of ideas in philosophy of aesthetics; a discussion about freedom, civil society, and ways that art can play a role in readying people for democracy; discussion on philosophy of education as it relates to the question of positive social change; and an exploration of musical and artistic initiatives that have been particularly focused on a positive social impact.\n \nGuiding questions for this course inquiry will include:\n \n - How can classical music effect social change?\n - How has music made positive change in communities around the globe?\n - What can the field of classical music learn from other movements for social change?\n - How have educators and philosophers thought about the arts and their connection to daily contemporary life?\n \nEach class will explore one critical question through lectures, discussions, interviews, or documentaries.","slug":"music-and-social-action"},{"id":"tEqImn2kEeWb-BLhFdaGww","description":"Producing music is an incredibly creative process, and knowing the tools of the trade is essential in order to transmit the musical ideas in your head into the DAW in a creative and uninhibited way. Whether you have used a computer to create music before, or you have been curious about production for years, this 4-week course will give you an introductory look into the world of Avid Pro Tools and Pro Tools First.","courseType":"v2.ondemand","startDate":1455311734103,"name":"Pro Tools Basics","slug":"protools"},{"id":"yO13mkySEeW_MgoxMAgbMQ","startDate":1453147988595,"courseType":"v2.ondemand","description":"How can we shape urban development towards sustainable and prosperous futures?\n\nThis course will explore sustainable cities as engines for greening the economy. We place cities in the context of sustainable urban transformation and climate change. Sustainable urban transformation refers to structural transformation processes – multi-dimensional and radical change – that can effectively direct urban development towards ambitious sustainability and climate goals.\n\nWe will connect the key trends of urbanization, decarbonisation and sustainability. We will examine visions, experiments and innovations in urban areas. We will look at practices (what is happening in cities at present) and opportunities (what are the possibilities for cities going forwards into the future). We bring together a collection of diverse short films and key short readings on sustainable cities as well as interactive forums and a practical assignment to create an online learning community.\n\nThis course provides key examples of activities to promote sustainable cities in Scandinavia, Europe and around the world. We utilize films and reports by WWF, the Economist Intelligence Unit, ICLEI – Local Governments for Sustainability, UN-Habitat, C40 Climate Leadership Group, Arup, Sustainia, the Rockefeller Foundation, and ongoing research projects. This course is produced by Lund University in cooperation with WWF and ICLEI. It is available for free to everyone, everywhere!\n\nThe International Institute for Industrial Environmental Economics (IIIEE) at Lund University is an international centre of excellence on sustainable solutions. The IIIEE is ideally suited to understand and explain the interdisciplinary issues in sustainable cities and greening the economy utilising the diverse disciplinary backgrounds of its international staff. The IIIEE has been researching and teaching on sustainable solutions since the 1990s and it has extensive international networks connecting with a variety of organizations. \n\n5 hours/week\n5 weeks duration\n30 films\n10 teachers","name":"Greening the Economy: Sustainable Cities","slug":"gte-sustainable-cities"},{"id":"FjD-ZB8oEeScWCIACnuVZQ","slug":"epidemiology","courseType":"v2.ondemand","startDate":1412124300000,"description":"Often called “the cornerstone” of public health, epidemiology is the study of the distribution and determinants of diseases, health conditions, or events among populations and the application of that study to control health problems. By applying the concepts learned in this course to current public health problems and issues, students will understand the practice of epidemiology as it relates to real life and makes for a better appreciation of public health programs and policies. This course explores public health issues like cardiovascular and infectious diseases – both locally and globally – through the lens of epidemiology.","name":"Epidemiology: The Basic Science of Public Health"},{"id":"6tx1Y3LiEeWxvQr3acyajw","name":"材料力學一 (Mechanics of Materials I)","courseType":"v2.ondemand","slug":"mechanics-of-materials-1","description":"課程介紹與教學目標 (About the course)\n  房屋為我們遮風避雨,讓我們安心工作、生活,而結構系統又是房屋的骨幹,讓房屋能站的又高、又直、又穩。你知道橫者為梁,直者為柱,但你知道在結構工程師的眼中,梁與柱有什麼其他的不同嗎?他們其中藏著什麼秘密,能支撐起整個結構?工程師要怎麼決定梁該有多深?柱該有多粗?該用矩形、圓形還是其他形狀?該用實心還是空心?在有地震的地方,設計上是否又有不一樣的考量?\n  材料力學是通往上述問題解答關鍵的一步。在材料力學(一)裡,我們會由大家熟知的虎克定律開始,以蓋房子的重要材料「結構鋼」為例,深入探討「力量」與「變形」這兩個令結構工程師愛恨交加的物理量之間的關係。然後依序探討結構桿件受軸力(拉/壓)、受扭、受彎、受剪四大外力作用下,會在桿件內部產生怎樣的相對應變形與受力,並探討建築結構設計概念與提供桿件設計演算範例。\n  本課程是希望精通「鋼筋混凝土設計」、「鋼結構設計」、「木構造設計」者必備的先修課程,也為對「彈性力學」有興趣者,提供許多基礎知識與這些知識如何實際應用於工程設計。\n主要授課對象為土木、建築相關從業人員與在學學生,其他包括工學院各科系同學或對材料力學有興趣的人士,也歡迎選修。\n\n授課形式 (Course format)\n  本堂課將以影片的形式為主, 搭配課後作業及期末報告的形式來進行。\n\n修課背景要求 (Recommended background)\n  靜力學 ( Statics )","startDate":1452548428215},{"id":"mwj3ASWcEeWs4gorU6Q1Yw","name":"職場素養 (Professionalism)","startDate":1439324335353,"courseType":"v2.ondemand","description":"介紹國際職場素養的內涵及相關課題,培育學生應有的職場視野與能力,便利學生融入職場環境,迅速自新手成為高手,裕如地發揮所學與所長。","slug":"zhichang-suyang"},{"id":"v1-174","courseType":"v1.session","slug":"optimization","name":"Discrete Optimization","description":"Tired of solving Sudokus by hand? This class teaches you how to solve complex search problems with discrete optimization concepts and algorithms, including constraint programming, local search, and mixed-integer programming."},{"id":"v1-1291","name":"Configuring the World: A Critical Political Economy Approach","courseType":"v1.session","description":"In today’s world, politics and economics are inextricably interconnected, but what is the nature of this connectivity? What are the power relationships that shape the world economy today and create new challenges for international institutions facing globalization? What makes some countries wealthier than others? Do we face cultural diversity or fragmentation? Does the type of governance effect economic development and social change or is it the other way around? How do we measure it and how trustworthy is the data? These issues and many more will be examined in this course along with up-to-date sources and biting criticism. ","slug":"configuringworld"},{"id":"5hRQhN9AEeWsvwp02yXW0Q","slug":"molecular-evolution","courseType":"v2.ondemand","name":"Molecular Evolution (Bioinformatics IV)","startDate":1464048024496,"description":"In the previous course in the Specialization, we learned how to compare genes, proteins, and genomes. One way we can use these methods is in order to construct a \"Tree of Life\" showing how a large collection of related organisms have evolved over time.\n\nIn the first half of the course, we will discuss approaches for evolutionary tree construction that have been the subject of some of the most cited scientific papers of all time, and show how they can resolve quandaries from finding the origin of a deadly virus to locating the birthplace of modern humans.\n\nIn the second half of the course, we will shift gears and examine the old claim that birds evolved from dinosaurs. How can we prove this? In particular, we will examine a result that claimed that peptides harvested from a T. rex fossil closely matched peptides found in chickens. In particular, we will use methods from computational proteomics to ask how we could assess whether this result is valid or due to some form of contamination.\n\nFinally, you will learn how to apply popular bioinformatics software tools to reconstruct an evolutionary tree of ebolaviruses and identify the source of the recent Ebola epidemic that caused global headlines."},{"id":"06EmILV2EeWq2A7HIftJ6w","description":"Ce cours d'introduction aux probabilités a la même contenu que le cours de tronc commun de première année de l'École polytechnique donné par Sylvie Méléard.\n\nLe cours introduit graduellement la notion de variable aléatoire et culmine avec la loi des grands nombres et le théorème de la limite centrale. \n\nLes notions mathématiques nécessaires sont introduites au fil du cours et de nombreux exercices corrigés sont proposés.\n\nCe cours propose aussi une introduction aux méthodes de simulations des variables aléatoires comme la méthode de Monte Carlo. Des expériences numériques interactives sont également mises à votre disposition pour vous permettre de visualiser diverses notions.","slug":"probabilites-2","courseType":"v2.ondemand","startDate":1454955008978,"name":"Aléatoire : une introduction aux probabilités - Partie 2"},{"id":"9h_j5XEiEeWbbw5cIAKQrw","courseType":"v2.ondemand","name":"Advanced Search Engine Optimization Strategies","startDate":1453242301480,"slug":"advanced-seo-strategies","description":"This course focuses on technical, mobile and social strategies for increasing site traffic. Learn how to build SEO for international audiences through content localization, global team alignment and optimizing for local search engines. Discover techniques to optimize mobile-friendly websites, get mobile apps discovered, and leverage social media to drive organic SEO traffic. You will also learn how to identify key SEO metrics and collect, interpret, validate, and report success to your clients and stakeholders."},{"id":"v1-1012","name":"数据结构与算法 Data Structures and Algorithms","slug":"dsalgo","courseType":"v1.session","description":"“数据结构与算法”是计算机学科中的核心基础课程。课程的主要目标培养学生较全面地理解基本数据结构的概念和经典算法的思想及各种实现方法,掌握数据结构和算法的设计分析技术。根据所求解问题的性质选择合理的数据结构并对时间空间复杂性进行必要的控制,提高程序设计的质量。使得学生在将来的学习、研究和工作中,具备设计和实现高效的数据结构和算法的能力。 "},{"id":"xaYbkyBTEeWibgoGfGzczQ","startDate":1440012881356,"courseType":"v2.ondemand","name":"4.- El Cálculo - Otros Modelos","description":"Este curso forma parte de una secuencia con la que se propone un acercamiento a la Matemática Preuniversitaria que prepara para la Matemática Universitaria.\nEn él se asocia un significado real con el contenido matemático que se aprende y se integran tecnologías digitales en el proceso de aprendizaje. \nSe propone la reinterpretación de los contenidos matemáticos relativos a Modelos con Radicales y Exponentes en términos de nociones y procesos del Cálculo Diferencial. Esto servirá como puente para el desarrollo de un pensamiento matemático avanzado con el que se trabajará en la Matemática Universitaria.","slug":"calculo-4"},{"id":"yS8ezjDPEeW-zwq84wShFQ","startDate":1454456339260,"description":"In this course we study the ancient, Socratic art of blowing up your beliefs as you go, to make sure they're built to last. We spend six weeks studying three Platonic dialogues - \"Euthyphro\", \"Meno\", \"Republic\" Book I - then two weeks pondering a pair of footnotes to Plato: contemporary moral theory and moral psychology. \n\nPlatonic? Socratic? Socrates was the teacher, but he said he never did. Plato was the student who put words in his teacher's mouth. You'll get a feel for it.\n\nWe have a book: the new 4th edition of \"Reason and Persuasion\", by the instructor (and his wife, Belle Waring, the translator.) It contains the Plato you need, plus introductory material and in-depth, chapter-length commentaries. (Don't worry! John Holbo knows better than to read his book to the camera. The videos cover the same material, but the presentation is different.) \n\nThe book is offered free in PDF form - the whole thing, and individual chapter slices. It is also available in print and other e-editions. See the course content for links and information.\n\nThe course is suitable for beginning students of Plato and philosophy, but is intended to offer something to more advanced students as well. We seek new, odd angles on old, basic angles. Tricky! The strategy is to make a wide-ranging, interdisciplinary approach. Lots of contemporary connections, to make the weird bits intuitive; plus plenty of ancient color, still bright after all these years. So: arguments and ideas, new possibilities, old stories, fun facts. Plus cartoons. \n\nThe results can get elaborate (some book chapters and some lesson videos run long.) But each video comes with a brief summary of its contents. The lessons progress. I put them in this order for reasons. But there's no reason you can't skip over and around to find whatever seems most interesting. There are any number of self-contained mini-courses contained in this 8-week course. You are welcome to them.\n\nPlato has meant different things to different people. He's got his own ideas, no doubt. (Also, his own Ideas.) But these have, over the centuries, been worn into crossing paths for other feet; been built up into new platforms for projecting other voices. (Plato did it to Socrates, so fair is fair.) So your learning outcome should be: arrival somewhere interesting, in your head, where you haven't been before. I wouldn't presume to dictate more exactly.","courseType":"v2.ondemand","name":"Reason and Persuasion: Thinking Through Three Dialogues By Plato","slug":"plato-dialogues"},{"id":"IjAlbH3IEeWb-BLhFdaGww","slug":"power-electronics","startDate":1453703650370,"courseType":"v2.ondemand","name":"Introduction to Power Electronics","description":"This course introduces the basic concepts of switched-mode converter circuits for controlling and converting electrical power with high efficiency. Principles of converter circuit analysis are introduced, and are developed for finding the steady state voltages, current, and efficiency of power converters. Assignments include simulation of a dc-dc converter, analysis of an inverting dc-dc converter, and modeling and efficiency analysis of an electric vehicle system and of a USB power regulator.\n\nAfter completing this course, you will:\n● Understand what a switched-mode converter is and its basic operating principles\n● Be able to solve for the steady-state voltages and currents of step-down, step-up, inverting, and other power converters\n● Know how to derive an averaged equivalent circuit model and solve for the converter efficiency\n\nA basic understanding of electrical circuit analysis is an assumed prerequisite for this course."},{"id":"v1-2959","name":"Deafness in the 21st Century","courseType":"v1.session","slug":"deafness","description":"If you want to know more about deafness in low and middle income countries this MOOC is for you. It is primarily aimed at those working as health or education professionals, government officials, support workers, NGOs and anyone with a family or personal interest in deafness. It aims to improve knowledge and understanding of this topic."},{"id":"v1-1419","name":"Introduction to Computational Arts: Visual Arts","description":"This production class serves as an introduction to, and exploration of digital imagery in the arts. Lectures will cover concepts and presentations of artists working in various capacities with computers, as well as tutorials on specific software packages. ","courseType":"v1.session","slug":"compartsvisual"},{"id":"JV2US53WEeW4xRJkiwxnYw","courseType":"v2.ondemand","description":"Le cours porte sur les usages généralement admis en matière de rédaction de contrats commerciaux, dans leur forme continentale ou anglo-saxonne. Les principales clauses de ces contrats sont examinées, à l’aide d’exemples tirés de contrats classiques.","name":"Rédaction de contrats","slug":"contrats","startDate":1456175551080},{"id":"qu8u8vqKEeSDoyIAC1CH0g","courseType":"v2.ondemand","name":"What’s Your Big Idea?","slug":"big-ideas","description":"Whether your interest lies in solving the world’s biggest problems, creating the next commercial success or addressing something closer to home, this course will give you a toolbox to vet your ideas and test them in the real world.","startDate":1435771827534},{"id":"v1-67","slug":"nutrition","name":"Nutrition for Health Promotion and Disease Prevention","courseType":"v1.session","description":"This course covers the basics of normal nutrition for optimal health outcomes and evidence-based diets for a variety of diseases."},{"id":"v1-1432","slug":"audio","courseType":"v1.session","name":"Audio Signal Processing for Music Applications","previewLink":"https://class.coursera.org/audio-002/lecture/preview","description":"In this course you will learn about audio signal processing methodologies that are specific for music and of use in real applications. You will learn to analyse, synthesize and transform sounds using the Python programming language."},{"id":"2prtDtPREeWh-hLKMaYc3w","name":"Introdução ao Controle de Sistemas","courseType":"v2.ondemand","slug":"controle","description":"Este curso apresenta os principais conceitos do controle de sistemas e mostra suas vantagens e importância para a sociedade moderna. Você vai entender o que é o controle de sistemas e como o controle com realimentação funciona, e passará a perceber a sua presença em diversas situações em seu dia-a-dia, na natureza, no corpo humano e em diversos dispositivos, desde os mais simples até os mais complexos.\n\nVocê vai perceber a necessidade de modelos teóricos para a análise e o projeto do controle de sistemas e aprenderá como verificar se um sistema atende a determinados requisitos de desempenho. Você também aprenderá como projetar um controle simples de modo a obter o melhor desempenho possível de um sistema de controle. Este é apenas o primeiro passo em direção a um vasto campo do conhecimento e lhe dará a base e a segurança necessárias para avançar em seus estudos no maravilhoso mundo do controle de sistemas.","startDate":1456535001047},{"id":"G6m5MzTeEeWWBQrVFXqd1w","name":"Public Relations Research","courseType":"v2.ondemand","slug":"prresearch","startDate":1445039145044,"description":"Perhaps you are familiar with research. You might have learned about research or maybe you conduct research in your life. How is that different from research in Public Relations practice? In this course, you will learn the foundations of research in PR. PR research is applied research. \n\nPractical application of research allows you to improve the organization’s performance. Research can be used in many ways in Public Relations practice. For example, you can use research to analyze and assess a need for the organization, ensure your objectives are realistic and connected to your outcome, identify and describe the relevant publics, brainstorm and test messages and channels, monitor the progress of your PR efforts, show impact and effectiveness of your program. This course will provide you the basic knowledge to plan, design, and conduct research to solve a PR problem. \n\nThis course is designed for students wanting to pursue careers in public relations as well as a refresher for entry level PR practitioners wanting to brush up on their knowledge of the field. Come join me in this tour of research in PR where you will learn to use research as the backbone of your strategic decisions based on evidence."},{"id":"k1EoDdm3EeWpMxLJs6PspQ","startDate":1456528296337,"slug":"wharton-proyecto-final-empresariales","name":"Proyecto de Fundamentos Empresariales de Wharton","description":"El Proyecto Final de Conocimiento Aplicado de Wharton te permite aplicar tus habilidades analíticas a retos de negocios reales, incluyendo el tuyo. Usarás esas habilidades empresariales recientemente adquiridas, para evaluar de manera reflexiva una oportunidad o situación real de compañías dirigidas por Wharton como Televisa.También podrás preparar un análisis estratégico y plantear una solución a un reto al que se enfrente tu propia compañía u organización. Personal cualificado de Wharton evaluará los mejores trabajos, y equipos de dirección de Televisa revisarán los proyectos que obtengan mejor puntuación.","courseType":"v2.capstone"},{"id":"QUTOlO03EeSC-CIAC38Bjw","courseType":"v2.ondemand","slug":"teaching-elementary","name":"First Year Teaching (Elementary Grades) - Success from the Start","startDate":1437422020576,"description":"Success with your students starts on Day 1. Learn from NTC's 25 years developing key skills and strategies to create positive, productive classroom environments where students thrive. How do you build relationships with Elementary Grade (K-6) students, establish and maintain behavioral expectations, implement classroom procedures and routines, and use instructional time effectively?\n\nAbout the Course:\nDeveloping mastery in establishing and maintaining a rich learning environment is one of the great joys of being a teacher. This course will provide high leverage strategies, resources, and support for professional growth so that you can provide students with the engaging, safe environment essential for student learning. This course is aligned to the needs of Elementary Grade teachers (self-contained K-6, or teaching the same set of students usually under 12 years old).\n\nThis course will teach you how to implement research-based strategies in the following areas: \n- Setting and communicating high expectations for students;\n- Building positive relationships with and between students;\n- Organizing the learning environment;\n- Behavioral preventions and interventions; and\n- Establishing and maintaining routines and procedures that support student learning.\n\nStellar classrooms don’t just happen—they’re created with the kind of intentional planning and preparation this course offers so that you and your students can be successful from the start!"},{"id":"v1-1045","slug":"interprofessional","courseType":"v1.session","name":"Collaboration and Communication in Healthcare: Interprofessional Practice","description":"Interprofessional collaborative practice is key to safe, high quality, accessible, patient-centered care. This course aims to introduce health professions learners to the fundamental principles and skills for effective interprofessional collaborative practice."},{"id":"v1-938","description":"Machine learning is the study that allows computers to adaptively improve their performance with experience accumulated from the data observed. The course teaches the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. [機器學習旨在讓電腦能由資料中累積的經驗來自我進步。本課程將介紹各領域中的機器學習使用者都應該知道的基礎演算法、理論及實務工具。]","name":"機器學習基石 (Machine Learning Foundations)","slug":"ntumlone","courseType":"v1.session"},{"id":"5epfT7cBEeScDCIAC9REiQ","startDate":1429569012650,"courseType":"v2.ondemand","description":"This course is designed to introduce students to the issues of energy in the 21st century – including food and fuels – which are inseparably linked – and will discuss energy production and utilization from the biology, engineering, economics, climate science, and social science perspectives. \n\nThis course will cover the current production and utilization of energy, as well as the consequences of this use, examining finite fossil energy reserves, how food and energy are linked, impacts on the environment and climate, and the social and economic impacts of our present energy and food production and use. After the introductory lectures, we will examine the emerging field of sustainable energy, fuel and food production, emphasizing the importance of developing energy efficient and sustainable methods of production, and how these new technologies can contribute to replacing the diminishing supplies of fossil fuels, and reduce the consequences of carbon dioxide release into the environment. This course will also cover the importance of creating a sustainable energy future for all societies including those of the developing world. Lectures will be prepared and delivered by leading UC San Diego and Scripps Institution of Oceanography faculty and industry professionals across these areas of expertise.","slug":"future-of-energy","name":"Our Energy Future"},{"id":"qqP6hnElEeWi0g6YoSAL-w","courseType":"v2.ondemand","description":"In this course, the second in the Geographic Information Systems (GIS) Specialization, you will go in-depth with common data types (such as raster and vector data), structures, quality and storage during four week-long modules: \n\nWeek 1: Learn about data models and formats, including a full understanding of vector data and raster concepts. You will also learn about the implications of a data’s scale and how to load layers from web services. \n\nWeek 2: Create a vector data model by using vector attribute tables, writing query strings, defining queries, and adding and calculating fields. You'll also learn how to create new data through the process of digitizing and you'll use the built-in Editor tools in ArcGIS.\n\nWeek 3: Learn about common data storage mechanisms within GIS, including geodatabases and shapefiles. Learn how to choose between them for your projects and how to optimize them for speed and size. You'll also work with rasters for the first time, using digital elevation models and creating slope and distance analysis products.\n\nWeek 4: Explore datasets and assess them for quality and uncertainty. You will also learn how to bring your maps and data to the Internet and create web maps quickly with ArcGIS Online.\n\nTake GIS Data Formats, Design and Quality as a standalone course or as part of the Geographic Information Systems (GIS) Specialization. By completing the second class in the Specialization you will gain the skills needed to succeed in the full program.","startDate":1459787275420,"slug":"gis-data","name":"GIS Data Formats, Design and Quality"},{"id":"v1-1961","name":"電磁學(Electromagnetics)","slug":"ntuem","startDate":1535760000000,"courseType":"v1.session","description":"靜電靜磁到電磁波相關物理、數學及應用之介紹"},{"id":"3791_tdbEeS2-SIAC4-TTw","name":"Fundamentals of Management","description":"Are you about to enter the workforce? Are you an emerging professional? Are you new to your role in the organization? All prospective new employees benefit from understanding management principles, roles and responsibilities, regardless of position. Now you can acquire an in-depth understanding of the basic concepts and theories of management while exploring the manager's operational role in all types of organizations. Gain insight into the manager's responsibility in planning, organizing, leading, staffing and controlling within the workplace. It’s never too soon to plan your professional path by learning how the best managers manage for success!","courseType":"v2.ondemand","startDate":1428113384189,"slug":"fundamentals-of-management"},{"id":"6eR54Y_nEeWF6gpQJiw6hQ","courseType":"v2.ondemand","slug":"chuangxin-siwei","description":"通过本门课程的学习,你的创新能力将会获得大幅提升。课程首先致力于观念的转变,其次我会讲到很多具体的创新思维和创新方法。创新并不仅仅是那些黑科技。解决生活或工作中碰到的每一个问题,都需要创新。每一个人的发展都会受到资源的制约,我希望这门课程里,你能找出制约自己发展的那些内部和外部条件,并创造性地解决,突破自己成长的天花板。","startDate":1465238147011,"name":"创新思维"},{"id":"ENhHCTboEeW8ZAoCexam_w","slug":"data-analysis-tools","name":"Data Analysis Tools","courseType":"v2.ondemand","description":"In this course, you will develop and test hypotheses about your data. You will learn a variety of statistical tests, as well as strategies to know how to apply the appropriate one to your specific data and question. Using your choice of two powerful statistical software packages (SAS or Python), you will explore ANOVA, Chi-Square, and Pearson correlation analysis. This course will guide you through basic statistical principles to give you the tools to answer questions you have developed. Throughout the course, you will share your progress with others to gain valuable feedback and provide insight to other learners about their work.","startDate":1445363926225},{"id":"5aTJVUhVEeWJHwqqqPAooQ","description":"The foundation for this course lies with unique synergies between pioneering research, teaching, and social initiatives through the Subsistence Marketplaces Initiative. Unique to this approach is a bottom-up understanding of the intersection of poverty and the marketplace.\n\nThe goals of this course are to help you develop an understanding of marketplace activity in the radically different context of subsistence where much of humanity resides and survives, and for you to design solutions that can be implemented by individuals, businesses, and social enterprises through economically, ecologically, and socially sustainable products for subsistence marketplaces.","courseType":"v2.ondemand","startDate":1460393159510,"name":"Subsistence Marketplaces","slug":"subsistence-marketplaces"},{"id":"A4W_GyDjEeW5Rwo0txKkgQ","description":"This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers. The design of the language makes it possible to write a powerful program in a few lines. The problems may be relatively complex, while the MATLAB programs that solve them are relatively simple: relative, that is, to the equivalent program written in a general-purpose language, such as C++ or Java. As a result, MATLAB is being used in a wide variety of domains from the natural sciences, through all disciplines of engineering, to finance, and beyond, and it is heavily used in industry. Hence, a solid background in MATLAB is an indispensable skill in today’s job market.\n\nNevertheless, this course is not a MATLAB tutorial. It is an introductory programming course that uses MATLAB to illustrate general concepts in computer science and programming. Students who successfully complete this course will become familiar with general concepts in computer science, gain an understanding of the general concepts of programming, and obtain a solid foundation in the use of MATLAB.\n\nStudents taking the course will get a MATLAB Online license free of charge for the duration of the course. The students are encouraged to consult the eBook that this course is based on. More information about these resources can be found on the Resources menu on the right.","slug":"matlab","startDate":1461357736006,"courseType":"v2.ondemand","name":"Introduction to Programming with MATLAB"},{"id":"v1-70","slug":"aboriginaled","name":"Aboriginal Worldviews and Education","courseType":"v1.session","description":"This course will explore indigenous ways of knowing and how this knowledge can inform education to the benefit of all students."},{"id":"eDu3y3Q7EeWKsgrp3VnvAw","slug":"seo-capstone","name":"Capstone: Website Optimization Client Report","description":"The Capstone Project will allow you to implement your SEO knowledge and gain practical experience optimizing a website, with a focus on On-Page SEO and client relationship management. The resulting plan may become part of your professional portfolio for interviewing prospective employers and/or clients.\n\nYou will identify a medium size website of your choosing (25 – 100) pages. You will conduct a full website audit and create an SEO report with specific recommendations for the website to increase its organic search engine optimization. You will also develop a measurement plan for the client site going forward, with ongoing goals they can track and list what metrics they can track. \n\nSpecific activities will include:\n•\tIdentify a medium size website (25 - 100 pages)\n•\tAnalyze the site and note any areas for improvement\n•\tPrepare interview questions for the client\n•\tAnalyze the site audience and demographics\n•\tPerform keyword research for the website\n•\tPrepare a competitive keyword analysis\n•\tSelect focus keywords\n•\tPerform a basic technical audit and note any issues","startDate":1453242313784,"courseType":"v2.capstone"},{"id":"WGJsi1UuEeWaMw4b4yEpbw","slug":"sotsialnaya-set","name":"«Ловцы человеков» или социальные сети в медиа, бизнесе, рекрутинге и образовании","description":"Мир сильно изменился с тех времен, когда люди общались между собою с помощью писем на бумаге и с помощью голоса, теперь все мы, расставляем кому-то сети отношений и попадаем в них сами, все мы отныне живем в Сети Глобальной паутины.\nВ этом новом мире сетей старые приемы налаживания отношений не работают: журналистов печатных изданий не читают в бумажном варианте, маркетологи, делающие ставку только на офлайн-работу, разоряют компании, пиарщики и рекламисты лишаются офлайн-аудитории, HR-специалист, не умеющий работать в сетях, не получает достоверной информации о своих кандидатах.\nЕдинственный выход для профессионала: идти в Сеть, «ищите и обрящете»!\n\nНаш курс поможет вам узнать:\n1.\tКакие сети существуют и как меняется психология «человека виртуально-сетевого».\n2.\tПочему блоггеры испытывают от своей деятельности блОженство и что такое гражданская журналистика.\n3.\tКак работает френд-бизнес и как компании делают из потребителей союзников, советчиков и сотрудников.\n4.\tКак найти работу или работника в Сети.\n5.\tКак организовать виртуальную вечеринку или виртуальный конкурс.","courseType":"v2.ondemand","startDate":1444934560043},{"id":"IEE-83HuEeWi0g6YoSAL-w","startDate":1452806109064,"courseType":"v2.ondemand","description":"社会调查与研究方法,\n首先,是一套观察社会现象、测量社会现象的工具;\n其次,是一套分析和运用社会现象数据的科学方法;\n最高境界,则是一套针对社会、经济、教育、政治、法律、管理、公共卫生、新闻报道等人类的生产与生活现象,进行科学沟通的思维逻辑与表达方式。","slug":"shehu-yanjiu-fangfa","name":"社会调查与研究方法 (上)Methodologies in Social Research (Part I)"},{"id":"Tr9rK6JtEeSwKiIACiONVg","name":"Introductory Human Physiology","slug":"physiology","startDate":1422914678064,"courseType":"v2.ondemand","description":"In this course, students learn to recognize and to apply the basic concepts that govern integrated body function (as an intact organism) in the body's nine organ systems."},{"id":"Wv_qFVYzEeWKXg4Y7_tPaw","startDate":1464020363028,"name":"The Manager's Toolkit: A Practical Guide to Managing People at Work","courseType":"v2.ondemand","slug":"people-management","description":"The aim of this course is to give you a practical guide to managing people at work. It does not matter whether you are a first time manager in a shop or a middle manager in an office environment; the same skills apply to every work place. In the course you will engage with some HR theories and then see how they translate into every day working life. \n\nAt the end of the course we hope you will be better equipped to choose a suitable employee, to motivate and appraise your team, to manage conflict in the work place and to lead and make decision on a day to day basis."},{"id":"koVAwj03EeWZtA4u62x6lQ","courseType":"v2.ondemand","description":"Are you a business executive or a manager who uses English in your career? Then you know that good business communication in English requires focus, vocabulary, and specific linguistic structures. In this course, you will follow along a recently promoted manager as she builds and leads her team to success. Together, you will practice the language and styles of communication needed in English for: \n•\tRecruiting and training a professional team to work together with integrity and respect\n•\tManaging and participating in well-organized meetings\n•\tMaking telephone conferences more efficient\n•\tWriting professional emails that are easy to read\nThe activities in this course will give you the opportunity to share your experience and receive immediate feedback from other business professionals around the world.\n\n¿Es usted un ejecutivo de negocios o gerente que utiliza inglés en su profesión? Entonces Ud. sabe que la buena comunicación empresarial en inglés exige los enfoques, el vocabulario y las estructuras lingüísticas específicas. En este curso, Ud. seguirá, a lo largo con un gerente recién promovido, como ella construye y conduce a su equipo hacia el éxito. Juntos, ustedes practicarán el lenguaje y los estilos de comunicación en inglés necesarios para:\n· Reclutar y el entrenar a un equipo profesional a trabajar juntos con integridad y respeto\n· Manejar y participar en las reuniones bien organizadas\n· Hacer que las conferencias telefónicas sean más eficaz\n· Escribir correos electrónicos profesionales que sean fáciles de leer\nLas actividades en este curso le dan la oportunidad de compartir su experiencia y recibir retroalimentación inmediata de otros profesionales empresariales en todo el mundo.","startDate":1446249601033,"slug":"ingles-empresarial-gestion-liderazgo","name":"Inglés Empresarial: Gestión y Liderazgo "},{"id":"v1-304","name":"TechniCity","courseType":"v1.session","slug":"techcity","description":"We live in real-time, technologically enhanced cities. Explore the sweeping changes that our cities are undergoing as a result of networks, sensors, and communication technology."},{"id":"v1-484","slug":"extrasolarplanets","description":"The course will provide an overview of the knowledge acquired during the past 20 years in the domain of exoplanets. It will review the different detection methods, their limitations, and the information provided on the orbital system and the planet itself, and how this information is helping our understanding of planet formation.","name":"The Diversity of Exoplanets","courseType":"v1.session"},{"id":"a05nBT8oEeWpogr5ZO8qxQ","slug":"infertilite","description":"İnfertilite tanı ve tedavi aşamasında bireylere verilecek hemşirelik bakım sürecinin uygulaması aşamasında ihtiyaç duyulan temel bilgiyi sağlar. İnfertilitenin nedenleri, tanı ve tedavi yöntemleri, bu süreçlerde çiftlerin yaşadıkları fiziksel ve psikososyal sorunları ve önlemeye yönelik hemşirelik girişimlerini içerir.","courseType":"v2.ondemand","startDate":1447697793569,"name":"İnfertilite Hemşireliği (Infertility Nursing)"},{"id":"8ZbHjRtCEeWBKhJRV_B8Gw","courseType":"v2.ondemand","description":"This course aims to provide a succinct overview of the emerging discipline of Materials Informatics at the intersection of materials science, computational science, and information science. Attention is drawn to specific opportunities afforded by this new field in accelerating materials development and deployment efforts. A particular emphasis is placed on materials exhibiting hierarchical internal structures spanning multiple length/structure scales and the impediments involved in establishing invertible process-structure-property (PSP) linkages for these materials. More specifically, it is argued that modern data sciences (including advanced statistics, dimensionality reduction, and formulation of metamodels) and innovative cyberinfrastructure tools (including integration platforms, databases, and customized tools for enhancement of collaborations among cross-disciplinary team members) are likely to play a critical and pivotal role in addressing the above challenges.","slug":"material-informatics","name":"Materials Data Sciences and Informatics","startDate":1466457893396},{"id":"v1-2380","slug":"uidesign2","name":"Mobile and Ubiquitous Computing","courseType":"v1.session","description":"This course is currently under development and is expected to be offered October 2015."},{"id":"iCIGe_T6EeS-1yIAC7MN4w","courseType":"v2.ondemand","slug":"experimental-methods","startDate":1446481614855,"description":"Learn about the technologies underlying experimentation used in systems biology, with particular focus on RNA sequencing, mass spec-based proteomics, flow/mass cytometry and live-cell imaging.\n\nA key driver of the systems biology field is the technology allowing us to delve deeper and wider into how cells respond to experimental perturbations. This in turns allows us to build more detailed quantitative models of cellular function, which can give important insight into applications ranging from biotechnology to human disease. This course gives a broad overview of a variety of current experimental techniques used in modern systems biology, with focus on obtaining the quantitative data needed for computational modeling purposes in downstream analyses. We dive deeply into four technologies in particular, mRNA sequencing, mass spectrometry-based proteomics, flow/mass cytometry, and live-cell imaging. These techniques are often used in systems biology and range from genome-wide coverage to single molecule coverage, millions of cells to single cells, and single time points to frequently sampled time courses. We present not only the theoretical background upon which these technologies work, but also enter real wet lab environments to provide instruction on how these techniques are performed in practice, and how resultant data are analyzed for quality and content.","name":"Experimental Methods in Systems Biology"},{"id":"t2hchZe2EeWjfxIrc5BW9Q","slug":"upravlinnya-chasom","courseType":"v2.ondemand","startDate":1450481276384,"description":"Працюйте розумніше, а не більше\nВи зможете здобути і застосувати ваші знання та розуміння особистої та професійної обізнаності, організованості та виконання зобов’язань, а також використовувати інструменти, методи та прийоми, про які ви дізналися, для постановки цілей та пріоритетів, планування та делегування для подолання управлінських викликів та покращення продуктивності. \n\nThis course is translated by the Ukrainian mobile network operator, lifecell.","name":"Працюйте розумніше, а не більше: управління часом для особистої та професійної продуктивності"},{"id":"v1-1052","description":"The meteoric rise of technologies used in our everyday life for profit, power, or improvement of an individual's life can, on occasion, cause cultural stress as well as ethical challenges. In this course, we will explore how these multifaceted impacts might be understood, controlled and mitigated.","slug":"techethics","courseType":"v1.session","name":"Technology and Ethics"},{"id":"NDBJAUWDEeWbNhIvIryYow","startDate":1460388417894,"name":"Investment Management in an Evolving and Volatile World by HEC Paris and AXA Investment Managers","description":"Have you ever wanted to invest in financial markets, but were always afraid that you didn’t have the proper tools or knowledge to make informed decisions? Have you ever wondered how investment management companies operate and what fund managers do? AXA Investment Managers, in partnership with HEC Paris, will introduce you to the most important ideas and concepts in investment management, to help you better understand your financial future.\n\nThis course will enable you to:\n•\tDefine what type of investor you are, your investment objectives, and potential constraints. \n•\tIdentify the main investable assets and important players in financial markets. \n•\tUnderstand basic portfolio management techniques. \n•\tApply these techniques in real case studies from the outset, through practical assessments. \n\nFinally, we will provide a comprehensive overview of today's asset management industry: the product cycles, professionals, and regulations. For those who want to identify a talented fund manager to invest for you, we offer important criteria for selecting one. For those who are interested in learning more about this fascinating industry, we lay the foundation for your ongoing financial journey. Join us now to explore the world of investment management! \n\nCourse Launching Date\nThe first session of the course will be launched on April 11th, 2016.\n\nCourse Specialists\nThe course has been developed in collaboration between HEC Paris, with Hugues Langlois managing the academic aspect, and AXA Investment Managers specialists, sharing their experiences and expertise and coordinated by Marion Le Morhedec. AXA Investment Managers participants include Maxime Alimi, Stephanie Condra, Nicholas Jeans, Elodie Laugel, Pierre-François de Mont-Serrat, Jean-Gabriel Pierre (AXA Group), Dorothée Sauloup, Irina Topa-Serry, Fiona Southall, Patrice Viot Coster, Susanna Warner, and Joachim Weitgasser.\n\nRecommended Background\nWe expect most participants to have a basic level of knowledge in mathematics and economics. However this is not essential, and we believe that people from any background can succeed with commitment and a strong interest.\nBe aware that in the case study, you will have to use Excel.\n\nCourse Format \nThis course will run for 4 weeks and consists of 4 modules, each with a series of lecture videos between 5 to 8 minutes long. Each module contains a set of practice and graded quiz questions. A complete portfolio management exercise covers concepts learned in all modules\n\nLanguage\nThe course will be in English, with French and Chinese subtitles.\n\nThe Project\nThe preparation of this MOOC has been an exciting adventure for many professionals at AXA Investment Managers and HEC, both for the speakers and a wealth of contributors. Thank you to all of them.\nWe hope you enjoy this course as much as we enjoyed creating it!","courseType":"v2.ondemand","slug":"investment-management"},{"id":"O0lyZeVUEeSglCIACzUL2A","startDate":1456854654169,"name":"iMOOC102: Mastering American e-Learning","courseType":"v2.ondemand","description":"This competency-based, skill-building course will help non-U.S. students, first generation immigrants and foreign-born professionals better understand and master American e-Learning, as well as other U.S. virtual environments, for college and career success.\n\nTo excel in American online learning and work environments, international students and foreign-born professionals need to know how American universities and companies use the Internet to organize study and work, develop and execute projects, communicate ideas, collaborate, and solve organizational and technical problems. By taking this course, you will learn how to enhance your cultural knowledge and assess potential skill gaps that may hinder your online experience or negatively impact your performance in U.S. virtual work environments. Throughout the course you will systematically review competencies required for online work, come to better understand common barriers for non-native students and professionals, learn how to detect and overcome competency gaps, and develop plans for self-improvement.\n\nWe hope that you will enjoy the course and invite you to share your own experiences with other students.","slug":"e-learning"},{"id":"QRDjcWLVEeWFkQ7sUCFGVQ","slug":"origins-universe-solarsystem","courseType":"v2.ondemand","name":"Origins - Formation of the Universe, Solar System, Earth and Life","description":"The Origins course tracks the origin of all things – from the Big Bang to the origin of the Solar System and the Earth. The course follows the evolution of life on our planet through deep geological time to present life forms.","startDate":1445299475789},{"id":"uVCz9Pp8EeS1ICIAC2sFKA","slug":"undp-cso","description":"《NGO能力建设入门》由联合国开发计划署(UNDP)出品。课程以非营利组织的成长脉络为主线,从组织建立之初对自身定位、使命和治理方式的思考,运行之时对人力资源和资金的管理,到发展之际对外界的拓展和传播,探索非营利组织在管理和运作过程中涉及的核心理念和关键问题。每节的15分钟的课程凝结了数十位业内专家实践经验的精华和对创新方法的探索,力求以丰富的案例和精心提炼的“干货”,帮助非营利组织解决实际问题。\n\n本课程是联合国首部中文“慕课”《民间组织能力建设入门》的升级版。基于第一期学员的反馈,新版课程强化了课程的体系性和知识点背后的逻辑,在注重实践经验分享的同时,更强调思考方式的培养,以期帮助非营利组织更好地“举一反三”、学以致用。\n\n完成本课程四个章节的学习,您不仅将掌握每项主题的关键知识点,亦会了解到各位专家不同经验的共通之处,发现治理、人力资源管理、筹款等议题之间的彼此关联,学会更系统性地思考非营利组织的管理和运作。\n\n当然,很多问题并没有标准答案或固定模板,因此本课程将通过一系列线上及线下的课外活动,鼓励同学们在汲取讲师们传授的经验的同时,发挥自身和集体的智慧,互相分享、不断碰撞,一同发现问题并寻找解决方案。\n\n\n>>>>>>>>>>>>>>>>课程大纲<<<<<<<<<<<<<<<<\n\n\n第1章 从使命到治理\n\n1.1 非营利组织概述(赵华,彼得·德鲁克社会组织学习中心秘书长)\n1.2 非营利组织——使命优先 (赵华,彼得·德鲁克社会组织学习中心秘书长)\n1.3 使命与组织管理实践 (彭艳妮,南都公益基金会常务副秘书长)\n1.4 非营利组织治理:理事会的角色 (赵华,彼得·德鲁克社会组织学习中心秘书长)\n1.5 组织的治理结构 (贾西津,清华大学公共管理学院副教授)\n\n\n第2章 人力资源管理\n\n2.1 非营利组织人力资源管理概念及价值(翟雁,北京惠泽人公益发展中心主任)\n2.2 非营利组织人力资源管理基本原则及方法(翟雁,北京惠泽人公益发展中心主任)\n2.3 员工管理:战略人力资源管理案例 (零慧,友成企业家扶贫基金会常务副秘书长)\n2.4 志愿者管理:志愿者的招募与保留 (翟雁,北京惠泽人公益发展中心主任)\n\n\n第3章 筹款\n\n3.1 非营利组织的资源分布及其特点(肖蓉,赠与亚洲中国首席代表)\n3.2 筹款方视角:非营利组织的资源开发(王超,世界自然基金会首席运营官)\n3.3 捐赠方视角:筹款从找对捐赠方开始(霍庆川,敦和慈善基金会秘书长助理)\n3.4 传统的筹款工具与方法(肖蓉,赠与亚洲中国首席代表)\n3.5 如何利用互联网为公益筹款(贝晓超,前新浪微博社会责任总监)\n\n\n第4章 对外拓展\n\n4.1 向政府拓展:非营利组织的政府关系(徐家良,上海交通大学学第三部门研究中心执行主任)\n4.2 倡导的基本理论与方法 (郭婷,中国发展简报副主编)\n4.3 向公众拓展:非营利组织的公信力(徐家良,上海交通大学学第三部门研究中心执行主任)\n4.4 体验式公益活动与新媒体传播(陈红涛,中国扶贫基金会副秘书长)\n\n\n>>>>>>>>>>>>>>>>常见问题<<<<<<<<<<<<<<<<\n\n1. 怎样才能获得证书?\n\n本课程有两种证书供同学们选择:\n\n1) 由课程平台提供方Coursera颁发的付费认证证书(电子版)\n认证证书(Verified Certificate)是Coursera颁发的电子版证书,带有唯一认证编码。获得认证证书要求同学们每一次平时作业和考试的得分都分别超过80%,并需向Coursera支付$29美金的费用。您可以先免费注册课程,开始学习课程后再选择支付证书费用。更多关于Coursera的证书问题请浏览:https://www.coursera.org/certificate/undpcso 页面下方的常见问题解答。\n\n2) 由课程内容提供方UNDP颁发的免费结业证书(电子版)\n结业证书带有UNDP logo,用户姓名和课程名称,不带认证编码,不具有认证效力,主要目的是鼓励并纪念同学们顺利通过课程。获得结业证书只需要免费注册,不需要支付任何费用,完成课程并总成绩超过80%即可申请获得。\n\n请注意:本期课程不提供任何纸质证书。联合国开发计划署不在本课程的任何环节收取任何费用,且不对Coursera的收费政策负责。\n\n\n2. 课程的时间安排是怎样的?\n\n本期课程将从2015年12月21日起开放全部内容,持续六周时间,包括四章内容的学习和一次期末考试。每周的课后习题设有截止日期(通常是每周一章),建议同学们根据截止日期安排学习,以便与其他同学保持同步、交流学习,课程组也会根据一周一章的进度安排相应的课外活动。当然,同学们也可以选择灵活地支配自己的进度,只需在整个学期结束前完成并提交所有内容即可获得本期课程的总评。\n\n\n3. 课程的评分政策是怎样的?\n\n总成绩(100%)= 四次课后习题(50%) + 期末考试(50%) \n课后习题主要以选择题为主,由系统评分;期末考试形式为主观题,由同伴互评。\n\n\n关于课程如有更多问题,欢迎通过课程论坛答疑板块或微信公众号(ID:UNDPCSO)向我们提问。","courseType":"v2.ondemand","name":"NGO能力建设入门 Building Capacity of CSOs in China","startDate":1450628618380},{"id":"eGUHRneUEeWtpg5GoAM5Iw","name":"TDD – Desenvolvimento de Software Guiado por Testes","startDate":1464015828985,"courseType":"v2.ondemand","slug":"tdd-desenvolvimento-de-software-guiado-por-testes","description":"Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD). \n\nO objetivo deste curso é expor você aos princípios e práticas de desenvolvimento guiado por testes, tanto para modelar quanto para desenvolver aplicações e componentes de software, sem abandonar os conceitos e princípios de orientação a objetos aprendidos no curso anterior. De fato, pregamos que tais conceitos e princípios fortalecem o emprego do TDD no desenvolvimento ágil de software com mais qualidade. Este curso terá um grande foco em atividades hands-on, permitindo a você captar todos os aspectos práticos da técnica e facilitar a sua aplicação quando estiver projetando e desenvolvendo software de maneira ágil nos próximos cursos.\n\nOs conceitos de desenvolvimento de software com Java apresentados neste curso incluem o seguinte: revisão de testes de unidade; automação de testes; desenvolvimento guiado por testes; ciclo do TDD; refatoração de código de produção; ciclo de refatoração; uso de objetos stubs e mocks; boas práticas no TDD; modelagem de software por meio do TDD.\n\nAo final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar, agora usando o TDD, versões modificadas e estendidas do componente de gamificação constante do Trabalho de Conclusão da Especialização, com base nas boas práticas exercitadas neste curso."},{"id":"v1-3406","name":"Feeding the World","courseType":"v1.session","description":"Over the next 40 years, food production must double to meet the growing needs of the world population, which is estimated to exceed 9 billion by the year 2050. But, how do producers provide the growing human population with the needed food while maximizing the efficiency of production and minimizing impacts on the environment to ensure a sustainable future for us all?","slug":"feedingtheworld"},{"id":"UIi0kNpgEeWP9RIK11q74w","slug":"systems-science-obesity","courseType":"v2.ondemand","description":"Systems science has been instrumental in breaking new scientific ground in diverse fields such as meteorology, engineering and decision analysis. However, it is just beginning to impact public health. This seminar is designed to introduce students to basic tools of theory building and data analysis in systems science and to apply those tools to better understand the obesity epidemic in human populations. There will also be a lab in which students will use a simple demonstration model of food acquisition behavior using agent-based modeling on standard (free) software (netlogo). The central organizing idea of the course is to examine the obesity epidemic at a population level as an emergent properties of complex, nested systems, with attention to feedback processes, multilevel interactions, and the phenomenon of emergence. While the emphasis will be on obesity, the goal will be to explore ways in which the systems approach can be applied to other non-communicable diseases both nationally and internationally. \n \nTopics will include:\na) the epidemiology of obesity across time and place,\nb) theories to explain population obesity,\nc) the role of environments and economic resources in obesity\nc) basic concepts and tools of systems science,\nd) modeling energy-balance related behaviors in context,\ne) agent-based models, systems dynamic models, and social network models","name":"Systems Science and Obesity","startDate":1465794357308},{"id":"GVy8tIIKEeWXmQ4F86nmrw","description":"With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering.\n\nLearning Outcomes. By the end of this course you will be able to:\n\n- reason about task and data parallel programs,\n- express common algorithms in a functional style and solve them in parallel,\n- competently microbenchmark parallel code,\n- write programs that effectively use parallel collections to achieve performance\n\nRecommended 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 Functional Program Design in Scala: https://www.coursera.org/learn/progfun2.","courseType":"v2.ondemand","slug":"parprog1","name":"Parallel programming","startDate":1463981301279},{"id":"v1-1572","name":"Geospatial Intelligence & the Geospatial Revolution","description":"Learn how the revolution in geospatial technology combined with the tradecraft of Geospatial Intelligence (GEOINT) have changed how we develop insights about how humans use geography, and discover the power of GEOINT.","courseType":"v1.session","slug":"geoint"},{"id":"Wa2LIymGEeWFggqB2SRvtQ","startDate":1460954512918,"courseType":"v2.ondemand","name":"Advanced Converter Control Techniques","description":"This course covers advanced converter control techniques, including averaged-switch modeling and Spice simulations, modeling and design of peak current mode and average current mode controlled converters, as well as an introduction to control of single-phase ac grid tied rectifiers and inverters. Design and simulation examples include wide bandwidth point-of-load voltage regulators, low-harmonic power-factor-correction rectifiers, and grid-tied inverters for solar photovoltaic power systems. Upon completion of the course, you will be able to model, design control loops, and simulate state-of-the-art pulse-width modulated (PWM) dc-dc converters, dc-ac inverters, ac-dc rectifiers, and other power electronics systems. \n\nThis course assumes prior completion of Introduction to Power Electronics, Converter Circuits, and Converter Control","slug":"current-control"},{"id":"l-VzSGYDEeWq4RLQvtY_lQ","startDate":1448867327228,"courseType":"v2.ondemand","name":"Alternative Approaches to Valuation and Investment","description":"In this course, participants will develop an understanding of the intuitive foundations of asset and investment valuation, and how alternative valuation techniques may be used in practice. This is part of a Specialization in corporate finance created in partnership between the University of Melbourne and Bank of New York Mellon (BNY Mellon).","slug":"valuation"},{"id":"1npjqJPKEeWF6gpQJiw6hQ","name":"Макроэкономика (Macroeconomics)","slug":"makrojekonomika","courseType":"v2.ondemand","startDate":1464807391185,"description":"Курс посвящен изучению макроэкономических вопросов, таких как долгосрочный рост, циклические колебания экономики и стабилизационная политика государства.\n\nЦелью курса является знакомство слушателей с основными понятиями макроэкономики, с базовыми моделями и принципами, которые используются при анализе текущего состояния экономики той или иной страны, что позволит самостоятельно ориентироваться в происходящих процессах и явлениях, а также проводить оценку эффективности и необходимости проводимой государством макроэкономической политики.\n\nДанный курс покрывает на базовом уровне все основные темы макроэкономики. Примерно две трети курса посвящены анализу общего равновесия на рынках труда, заемных средств, финансовых, денежных, товарных рынках, а также международных потоков капитала. Изучается долгосрочный экономический рост, идущий за счет накопления капитальных мощностей и технического прогресса. Вторая часть курса посвящена изучению природы краткосрочных колебаний вокруг долгосрочной траектории роста, таким как финансовый кризис и мировая рецессия 2008-2009 годов. Обсуждаются причины подобных спадов, а также оптимальная стабилизационная политика государства, призванная либо предотвращать подобные катаклизмы, либо сглаживать последствия от них.\n\nДля успешного прохождения курса желательно (но не обязательно) иметь базовые знания по микроэкономике."},{"id":"v1-1330","name":"From GPS and Google Maps to Spatial Computing","slug":"spatialcomputing","courseType":"v1.session","description":"This course introduces concepts, algorithms, programming, theory and design of spatial computing technologies such as global positioning systems (GPS), Google Maps, location-based services and geographic information systems. Learn how to collect, analyze, and visualize your own spatial datasets while avoiding common pitfalls and building better location-aware technologies.","previewLink":"https://class.coursera.org/spatialcomputing-001/lecture/preview"},{"id":"Gtv4Xb1-EeS-ViIACwYKVQ","courseType":"v2.ondemand","slug":"machine-learning","startDate":1425088202363,"description":"Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. Finally, you'll learn about some of Silicon Valley's best practices in innovation as it pertains to machine learning and AI.\n\nThis course provides a broad introduction to machine learning, datamining, and statistical pattern recognition. Topics include: (i) Supervised learning (parametric/non-parametric algorithms, support vector machines, kernels, neural networks). (ii) Unsupervised learning (clustering, dimensionality reduction, recommender systems, deep learning). (iii) Best practices in machine learning (bias/variance theory; innovation process in machine learning and AI). The course will also draw from numerous case studies and applications, so that you'll also learn how to apply learning algorithms to building smart robots (perception, control), text understanding (web search, anti-spam), computer vision, medical informatics, audio, database mining, and other areas.","name":"Machine Learning"},{"id":"ct7G8DVLEeWfzhKP8GtZlQ","name":"Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)","courseType":"v2.ondemand","description":"What you’ll achieve:\nIn this project-centered course* you will build a modern computer system, from the ground up. We’ll divide this fascinating journey into six hands-on projects that will take you from constructing elementary logic gates all the way through creating a fully functioning general purpose computer. In the process, you will learn - in the most direct and constructive way - how computers work, and how they are designed.\n\nWhat you’ll need:\nThis is a self-contained course: all the knowledge necessary to succeed in the course and build the computer system will be given as part of the learning experience. Therefore, we assume no previous computer science or engineering knowledge, and all learners are welcome aboard. You will need no physical materials, since you will build the computer on your own PC, using a software-based hardware simulator, just like real computers are designed by computer engineers in the field. The hardware simulator, as well as other software tools, will be supplied freely after you enroll in the course.\n\nCourse format:\nThe course consists of six modules, each comprising a series of video lectures, and a project. You will need about 2-3 hours to watch each module's lectures, and about 5-10 hours to complete each one of the six projects. The course can be completed in six weeks, but you are welcome to take it at your own pace. You can watch a TED talk about this course by Googling \"nand2tetris TED talk\".\n\n*About Project-Centered Courses: Project-centered courses are designed to help you complete a personally meaningful real-world project, with your instructor and a community of learners with similar goals providing guidance and suggestions along the way. By actively applying new concepts as you learn, you’ll master the course content more efficiently; you’ll also get a head start on using the skills you gain to make positive changes in your life and career. When you complete the course, you’ll have a finished project that you’ll be proud to use and share.","slug":"build-a-computer","startDate":1455311911911},{"id":"z_MvXQoVEeWCpyIAC3lAyw","name":"Revolutionary Ideas: Borders, Elections, Constitutions, Prisons","slug":"political-philosophy-2","description":"What is the purpose of government? Why should we have a State? What kind of State should we have?\n\nEven within a political community, there may be sharp disagreements about the role and purpose of government. Some want an active, involved government, seeing legal and political institutions as the means to solve our most pressing problems, and to help bring about peace, equality, justice, happiness, and to protect individual liberty. Others want a more minimal government, motivated, perhaps, by some of the disastrous political experiments of the 20th Century, and the thought that political power is often just a step away from tyranny. In many cases, these disagreements arise out of deep philosophical disagreements. \n\nAll political and legal institutions are built on foundational ideas. In this course, we will explore those ideas, taking the political institutions and political systems around us not as fixed and unquestionable, but as things to evaluate and, if necessary, to change. We will consider the ideas and arguments of some of the world’s most celebrated philosophers, including historical thinkers such as Plato, Hugo Grotius, David Hume, Thomas Jefferson, and James Madison, and more contemporary theorists such as Michelle Alexander, Kwame Anthony Appiah, Bryan Caplan, Angela Davis, Ronald Dworkin, Jon Elster, John Hart Ely, H.L.A. Hart, Michael Huemer, Andrew Rehfeld, and Jeremy Waldron.\n\nThe aim of the course is not to convince you of the correctness of any particular view or political position, but to provide you with a deeper and more philosophically-informed basis for your own views, and, perhaps, to help you better understand the views of those with whom you disagree.","courseType":"v2.ondemand","startDate":1438313678192},{"id":"v1-137","slug":"earth","name":"Planet Earth...and You!","courseType":"v1.session","description":"Planet Earth, an overview of selected geological topics, discusses how earthquakes, volcanoes, minerals and rocks, energy, and plate tectonics have interacted over deep time to produce our dynamic island in space, and its unique resources."},{"id":"bRPXgjY9EeW6RApRXdjJPw","slug":"progfun1","courseType":"v2.ondemand","description":"Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera.\n\nIn this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically.\n\nThe course is hands on; most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. The course is complemented by a series programming projects as homework assignments.\n\nLearning Outcomes. By the end of this course you will be able to:\n\n - understand the principles of functional programming,\n - write purely functional programs, using recursion,\n pattern matching, and higher-order functions,\n - combine functional programming with objects and classes,\n - design immutable data structures,\n - reason about properties of functions,\n - understand generic types for functional programs\n\nRecommended 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.","name":"Functional Programming Principles in Scala","startDate":1463981181585},{"id":"X4ituSzfEeWl3A7Kuc0JCQ","startDate":1450149208812,"courseType":"v2.ondemand","description":"Have you wondered how “Things” talk to each other and the cloud? Do you understand the alternatives for conveying latency-sensitive real time data versus reliable signaling data? Building on the skills from the Sensing and Actuation course, we will explore protocols to exchange information between processors. \n\nIn this course, you will learn how VoIP systems like Skype work and implement your own app for voice calls and text messages. You will start by using the Session Initiation Protocol (SIP) for session management. Next, you will learn how voice codecs such as Adaptive Multi Rate (AMR) are used in 3G networks and use them for voice traffic in your app. \n\nLearning Goals: After completing this course, you will be able to:\n\n1.\tImplement session initiation, management and termination on your DragonBoard™ 410c using SIP.\n2.\tDiscover other users and exchange device capabilities.\n3.\tCompare and contrast narrowband and wideband codecs and experience the voice quality differences between them.\n4.\tImplement and demonstrate VoIP calls using the DragonBoard 410c.","slug":"internet-of-things-communication","name":"Internet of Things: Communication Technologies"},{"id":"P--h6zpNEeWYbg7p2_3OHQ","slug":"python-data","startDate":1442270539818,"courseType":"v2.ondemand","description":"This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Informatics”. This course is equivalent to the second half of the 11-week \"Programming for Everybody (Python)\" course.","name":"Python Data Structures"},{"id":"Z3yHdBVBEeWvmQrN_lODCw","startDate":1442532605166,"courseType":"v2.ondemand","slug":"user-research","description":"What makes for a great user experience? How can you consistently design experiences that work well, are easy to use and people want to use? This course will teach you the core process of experience design and how to effectively evaluate your work with the people for whom you are designing. You'll learn fundamental methods of design research that will enable you to effectively understand people, the sequences of their actions, and the context in which they work. Through the assignments, you’ll learn practical techniques for making sense of what you see and transform your observations into meaningful actionable insights and unique opportunity areas for design. You’ll also explore how to generate ideas in response to the opportunities identified and learn methods for making your ideas tangible. By answering specific questions and refining your concepts, you’ll move closer to making your ideas real. We’ll use cases from a variety of industries including health, education, transportation, finance, and beyond to illustrate how these methods work across different domains. \n\nGood luck and we hope you enjoy the course!","name":"User Experience: Research & Prototyping"},{"id":"v1-477","description":"In this course you will learn the basics of the life-cycle assessment (LCA) method for holistic environmental analysis of products, technologies, and systems. LCA sheds light on the environmental implications of the consumption and behavioral choices we all make on a daily basis.","courseType":"v1.session","name":"How Green Is That Product? An Introduction to Life Cycle Environmental Assessment","slug":"introtolca"},{"id":"v1-1973","name":"The Caltech-JPL Summer School on Big Data Analytics","description":"This is an intensive, advanced summer school (in the sense used by scientists) in some of the methods of computational, data-intensive science. It covers a variety of topics from applied computer science and engineering, and statistics, and it requires a strong background in computing, statistics, and data-intensive research.\n","slug":"bigdataschool","courseType":"v1.session"},{"id":"v1-2184","slug":"assetpricing2","description":"This course is part two of an introduction to graduate-level academic asset pricing. This second part uses the theory and elaborates empirical understanding. It explores some classic applications including the Fama-French three-factor model, consumption and the equity premium, and extends the theory to cover options, bonds, and portfolios. ","courseType":"v1.session","name":"Asset Pricing, Part 2"},{"id":"DJfupMVPEeWLqBIulHpzDw","courseType":"v2.ondemand","slug":"economic-growth-part-2","startDate":1457578111403,"name":"Economic Growth and Distributive Justice Part II - Maximize Social Wellbeing","description":"If you really care about the big questions in the economies and societies of the 21st century, such as distributive justice - namely, inequality of income or wealth, and its correlation with economic growth - this course is meant for you. The knowledge you will gain can truly change your outlook on our world.\n\n\"Economic Growth and Distributive Justice - Maximizing Social Wellbeing\" is the second part of a two part course and it includes the following five lectures: \n(1) The excess burden of taxation\n(2) Tax incidence: who bears the economic burden of tax?\n(3) Progressivity: definition and ways to achieve\n(4) Low Income, Low Ability and the Optimal Income Tax Model\n(5) Designing the Tax and Transfer System that Maximizes Social Wellbeing\nIf you haven't done that already, we strongly recommend that you register for the first part of the course: \"Economic Growth and Distributive Justice - the Role of the State\". Taking both parts of the course would enable you to obtain a fuller and more comprehensive knowledge about Economic Growth and Distributed Justice.\n\nThe course is founded upon the elemental idea that the role of the state is to maximize the well-being - or simply the happiness - of its residents. In 9 fascinating, edifying lessons, using only simple words and decoding professional terminologies that sometimes baffle the intelligent layman, the course expounds many truths – both intuitive and unintuitive. Often using examples from the US and Europe, it does not however focus on policies in any particular region of the world, and is directly applicable to all countries around the globe.\n\nThe course touches upon the essence of important concepts like efficiency and equity, inequality and poverty, gross domestic product, tax evasion and tax planning; it presents the work of Nobel Laureate James Mirrlees and his followers - promoting a coherent system that integrates tax and government expenditures to maximize social welfare; and illuminates a range of high-profile issues from their economic angle:\n• Climate change: the atmosphere and oceans as public goods, and how smart (Pigovian) taxation can be used to combat the rapidly increasing threats to our planet;\n• Technology as the engine of economic growth;\n• Taxing the rich: How can we mitigate the growing inequality problem? Should we impose a global tax on capital?\n\nThe curriculum includes interviews with major figures in the fields of law and of economics: Harvard's Elhanan Helpman, Dan Shaviro from NYU and Richard Epstein from the University of Chicago and NYU.\n\nAfter successfully completing this course, you can expect to be able to:\n• better understand economic issues presented in the media\n• form an informed opinion on the strengths and weaknesses of presented social economic policies\n• define and measure inequality and poverty\n• define the connection between inequality (income, wealth) and economic growth\n• explain the foundations of economic growth\n• design a tax and transfer system to maximize the happiness of individuals\n\nAll these will allow you to better understand the policies being developed around you, and to play a larger, more informed role in their development, as a conscientious citizen."},{"id":"orCUF26dEeW8nw5ORrHGtQ","startDate":1465231618971,"courseType":"v2.ondemand","slug":"finance-markets","description":"Markets begins with one of the most common and important elements of the financial system – interest rates. You will learn why interest rates have always been a key barometer in determining the value of everything. You will explore the changing influence of interest rates; the impact of interest rates on consumption, investment and economic growth; and the bizarre realities of negative interest rates. Markets explains how interest rates change the value of all financial instruments, highlighting the role of the bond and stock markets that have toppled empires. We take a closer look at the equity pricing models and equity markets that reverberate across the globe, and explore everything from the first stock ever issued – by the Dutch East India Company – to the little-understood but powerful derivative securities market. By the end of the course, you will have developed insight into the intersections of the financial markets with worlds of policy, politics, and power. You will have demonstrated that insight by teaching an important financial concept and translating a financial product or transaction to someone who will clearly benefit from your advice.","name":"Finance for Everyone: Markets"},{"id":"v1-2028","name":"Rural Health Nursing","description":"This course will provide learners with an opportunity to explore the challenges, opportunities, and skills necessary to provide nursing care in rural areas. ","courseType":"v1.session","slug":"ruralnursing"},{"id":"v1-376","name":"Introduction to Classical Music","slug":"introtoclassical","courseType":"v1.session","description":"This course will focus on Western classical music of the eighteenth and nineteenth centuries; it is designed for people who are passionate about classical music but who have not necessarily had any advanced training or taken any college-level music courses. The only prerequisite is a basic knowledge of how to read musical notation."},{"id":"v1-129","name":"Heterogeneous Parallel Programming","slug":"hetero","courseType":"v1.session","description":"This course introduces concepts, languages, techniques, and patterns for programming heterogeneous, massively parallel processors. Its contents and structure have been significantly revised based on the experience gained from its initial offering in 2012. It covers heterogeneous computing architectures, data-parallel programming models, techniques for memory bandwidth management, and parallel algorithm patterns."},{"id":"v1-380","slug":"socialepi","name":"Social Epidemiology","courseType":"v1.session","description":"Social epidemiology is about how a society makes people sick and/or healthy. We address not only the identification of new disease risk factors (e.g., deficient social capital) but also how well-known exposures (e.g., cigarette smoking, lead paint, health insurance) emerge and are maintained by the social system."},{"id":"zN_XyjlAEeWCYBKNeFwojw","description":"The capstone will develop a professional-quality web portfolio. Students will demonstrate the ability to design and implement a responsive site for a minimum of three platforms. Adherence to validation and accessibility standards will be required. The evolving student implementations will be reviewed each week by capstone peers and teaching assistants to make sure that the student keeps up with the agenda of the course. \n\nUpon completion of this course students will feel comfortable creating and/or updating existing front-end sites, utilizing existing frameworks, and testing sites for accessibility compliance.\n\nThis course is only open to students who have completed the first four courses in the Web Design for Everybody specialization: Introduction to HTML5, Introduction to CSS3, Interactivity with JavaScript, and Advanced Styling with Responsive Design.","slug":"web-design-project","startDate":1465833846926,"name":"Web Design for Everybody Capstone","courseType":"v2.capstone"},{"id":"v1-1373","description":"Join us and learn how to develop, test, and deploy high-impact solutions to society's toughest challenges.","slug":"socialimpact","courseType":"v1.session","name":"Social Entrepreneurship"}],"paging":{"next":"100","total":1921},"linked":null} \ No newline at end of file diff --git a/coursera_syncer/spec/models/course_spec.rb b/coursera_syncer/spec/models/course_spec.rb new file mode 100644 index 0000000..7e4d02f --- /dev/null +++ b/coursera_syncer/spec/models/course_spec.rb @@ -0,0 +1,11 @@ +require_relative '../spec_helper' +require_relative '../../models/course' + +describe Course do + before { Course.destroy_all } + it 'can be persisted with attributes' do + Course.create(name: 'other name') + expect(Course.count).to eq 1 + expect(Course.first.name).to eq 'other name' + end +end diff --git a/coursera_syncer/spec/spec_helper.rb b/coursera_syncer/spec/spec_helper.rb new file mode 100644 index 0000000..fbb0738 --- /dev/null +++ b/coursera_syncer/spec/spec_helper.rb @@ -0,0 +1,8 @@ +require 'active_record' +require_relative '../models/course' + +ActiveRecord::Base.establish_connection( + :adapter => 'postgresql', + :database => 'coursera_syncer_test', + :host => 'localhost' +)