Programming Languages, Part A

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from University of Washington.

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming.

Recursion Higher-Order Function Pattern Matching Functional Programming

Next cohort starts June 22. Accessible for free. Completion certificates are offered.

Affiliate disclosure: Please use the blue and green buttons to visit Coursera if you plan on enrolling in a course. Commissions Reddsera receives from using these links will keep this site online and ad-free. Reddsera will not receive commissions if you only use course links found in the below Reddit discussions.

Taught by
Dan Grossman
Professor

Offered by
University of Washington

Reddit Posts and Comments

6 posts • 81 mentions • top 64 shown below

r/learnprogramming • post
756 points • castleguar
If you are interested in learning Functional Programming, Recursion, Pattern Matching, Higher Order Functions, this is the course.

One happy customer here, I'm not finished the course yet, but so far its really blowing my mind, it's hard, but I'm enjoying it.

https://www.coursera.org/learn/programming-languages

The language used is SML ( r/sml ) which is not the most popular language, but it's very similar to Ocaml, and shares a lot with F# and Haskell and seems to be a great spot to jump in. I found the course from Hacker News, a number of people there highly recommended it.

r/programming • post
26 points • jsyeo
Programming Languages MOOC Taught by Dan Grossman
r/emacs • post
52 points • _compunaut_
Great course to get into Functional Programming and Emacs/Elisp

Just wanted to let you know that the mooc/course which introduced me to Emacs and Functional Programming is starting again. Although the course is not about Emacs it is required in the first part of the course and can be used throughout.

The second part will teach you programming concepts in Racket. Since Racket is a Scheme it can serve as an introduction to Emacs Lisp as well. I can wholeheartedly recommend this course for anyone who learns Emacs Lisp on his own without any functional programming background. I did not complete the course the last time but it really got me started to get behind the Introduction to Emacs Lisp level. Besides that it is the best online course I have ever taken.

If anyone is interested, I participate in the current course again and it would be great to find some others from this channel to form some kind of Emacs/Elisp interested people kind of learning group.

The course already started but registration is still open:

https://www.coursera.org/learn/programming-languages

EDIT:

Because there is some interest I have created a subreddit for the study group. You can find it here:

https://www.reddit.com/r/ProgLangEmacs/

Join us now :)

Even if we are only a handful of people I hope we can build a place for Emacs enthusiasts with fruitful discussions around course topics and help each other to learn more about Functional Programming.

r/functionalprogramming • post
16 points • Hufe
Highly recommend this free course from the University of Washington for people who want to begin functional programming
r/learnprogramming • post
3319 points • ______DEADPOOL______
Here's a SANITIZED list of 530+ free online programming/CS courses (MOOCs) with feedback(i.e. exams/homeworks/assignments) that you can start this month (December 2016)

Preamble:

So, a submission on this sub to a huge list of MOOC courses caught my attention today as I've been trying to learn programming myself. So I look into the comments first to see what courses people were taking, when a comment caught my attention that says: "This is a great resouces but beware, OP ran some of the links through some pay site so that he profits out of traffic and hid this using bit.ly links...."

So I decided to investigate further, and sure enough. uBlock Origin blocked the first link that I clicked. It turns out, pretty much every link to the course on the post is a bit.ly link hiding a reference link to a spam site linksynergy.com. The url itself has reference id and everything. Full link:

http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&u1=reddit_learnprog_dec&subid=&offerid=451430.1&type=10&tmpid=18061&RD_PARM1=https://www.coursera.org/learn/game-programming

I posted this in the comment and reported the post for spamming, thought nothing more of it, and move on. In my goofing off, I ended up installing NVIDIA CodeWorks, and the damn installer turned out to be a download manager for installer to a bunch of stuffs it needed to install. So, I let it run and while it downloads, I thought I'd fire up Overwatch and try to climb out of gold rank, when for some reason, I thought about the MOOC post again.

Hiding a reference link using bit.ly is not only spamming, but it's also unethical because bit.ly tracks where clicks come from and the whole practice preys on the innocent who just wanted to learn some programming stuffs.

So I decided to go through the links and sanitized the bit.ly and removed all the spam links and replace it with direct links to each of the course.

Over the course of cleaning up the links, I found that OP feed all their links through two spam sites that ublock origin blocked:

The first one is the linksynergy site as I've mentioned before.

http://click.linksynergy.com/fs-bin/click?id=SAyYsTvLiGQ&u1=reddit_learnprog_dec&subid=&offerid=451430.1&type=10&tmpid=18061&RD_PARM1=https://www.coursera.org/learn/game-programming

The second one is through awin1.com

http://www.awin1.com/awclick.php?gid=295463&mid=6798&awinaffid=301045&linkid=599979&clickref=&p=https://www.edx.org/course/introduction-devops-transforming-linuxfoundationx-lfs161x

I hope this sort of shady spamming behavior is not tolerated in this sub, and doesn't happen again. But just in case another post comes up again next month, would someone be so kind as to make a bit.ly expander plugin for chrome or something to automate this cleanup without exposing the user's location, and clicking on the reference, etc. I didn't want to run this through python in case something bad happens and some dumb protocol got exposed or whatever.

Anyway, here's the full sanitized list. I've left the links bare so you can see this list has not been compromised. And if you'll excuse me, I'm going to run spybot on my system now.

Happy learning. GLHF.

BEGINNER25

Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: Web Applications for Everybody https://www.wa4e.com via Others|Self paced|NA|NA Python for Everybody https://www.py4e.com - Exploring Information via Others|Self paced|NA|NA NEW Swift for Beginners https://www.udacity.com/course/swift-for-beginners--ud1022 via Udacity|Self paced|NA|NA NEW Android for Beginners https://www.udacity.com/course/android-for-beginners--ud834 via Udacity|Self paced|NA|NA NEW Introduction to R https://www.datacamp.com/courses/free-introduction-to-r via Datacamp|Self paced|NA|NA NEW Intro to Python for Data Science https://www.datacamp.com/courses/intro-to-python-for-data-science via Datacamp|Self paced|NA|NA Introduction to the Internet of Things and Embedded Systems https://www.coursera.org/learn/iot via Coursera|5th Dec|4|3.7★ CODAPPS: Coding mobile apps for entrepreneurs https://www.coursera.org/learn/codapps via Coursera|5th Dec|8|5★ How To Create a Website in a Weekend! Project-Centered Course https://www.coursera.org/learn/how-to-create-a-website via Coursera|5th Dec|3|5★ Ruby on Rails: An Introduction https://www.coursera.org/learn/ruby-on-rails-intro via Coursera|5th Dec|3|3.1★ Build a Modern Computer from First Principles: From Nand to Tetris Project-Centered Course https://www.coursera.org/learn/build-a-computer via Coursera|5th Dec|6|4.8★ HTML, CSS and JavaScript https://www.coursera.org/learn/html-css-javascript via Coursera|5th Dec|3|4.1★ Introduction to HTML5 https://www.coursera.org/learn/html via Coursera|5th Dec|3|4.1★ Code Yourself! An Introduction to Programming https://www.coursera.org/learn/intro-programming via Coursera|5th Dec|5|4.3★ Introduction to CSS3 https://www.coursera.org/learn/introcss via Coursera|5th Dec|4|4.6★ HTML, CSS, and Javascript for Web Developers https://www.coursera.org/learn/html-css-javascript-for-web-developers via Coursera|5th Dec|5|5★ Python Programming: A Concise Introduction https://www.coursera.org/learn/python-programming-introduction via Coursera|5th Dec|NA|NA Usable Security https://www.coursera.org/learn/usable-security via Coursera|12th Dec|7|2.9★ An Introduction to Interactive Programming in Python Part 2 https://www.coursera.org/learn/interactive-python-2 via Coursera|12th Dec|4|4.8★ Programming Foundations with JavaScript, HTML and CSS https://www.coursera.org/learn/duke-programming-webvia Coursera|12th Dec|4|3.8★ Introduction to Web Development https://www.coursera.org/learn/web-development via Coursera|12th Dec|NA|NA An Introduction to Interactive Programming in Python Part 1 https://www.coursera.org/learn/interactive-python-1 via Coursera|12th Dec|5|4.9★ Creative Programming for Digital Media & Mobile Apps https://www.coursera.org/learn/digitalmedia via Coursera|19th Dec|NA|4★ Learn to Program: The Fundamentals https://www.coursera.org/learn/learn-to-programvia Coursera|19th Dec|10|4.8★ Internet History, Technology, and Security https://www.coursera.org/learn/internet-history via Coursera|26th Dec|10|4.6★

INTERMEDIATE156

Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: NEW Minecraft, Coding and Teaching https://www.edx.org/course/minecraft-coding-teaching-uc-san-diegox-ltm1xvia edX|Self paced|NA|NA VR Software Development https://www.udacity.com/course/vr-software-development--ud1014 via Udacity|Self paced|NA|NA NEW Swift for Developers https://www.udacity.com/course/swift-for-developers--ud1025 via Udacity|Self paced|NA|NA NEW Introduction to DevOps: Transforming and Improving Operations https://www.edx.org/course/introduction-devops-transforming-linuxfoundationx-lfs161x via edX|Self paced|NA|NA Algorithms, Part II https://www.coursera.org/learn/java-data-structures-algorithms-2 via Coursera|1st Dec|6|4.8★ Software Defined Networking https://www.coursera.org/learn/sdn via Coursera|1st Dec|NA|4.2★ NEW Probabilistic Graphical Models 3: Learning https://www.coursera.org/learn/probabilistic-graphical-models-3-learning via Coursera|1st Dec|NA|NA Single Page Web Applications with AngularJS https://www.coursera.org/learn/single-page-web-apps-with-angularjsvia Coursera|5th Dec|NA|NA Approximation Algorithms Part I https://www.coursera.org/learn/approximation-algorithms-part-1 via Coursera|5th Dec|5|5★ Managing Big Data with MySQL https://www.coursera.org/learn/analytics-mysql via Coursera|5th Dec|5|3.8★ Advanced Algorithms and Complexity https://www.coursera.org/learn/advanced-algorithms-and-complexity via Coursera|5th Dec|NA|NA Ruby on Rails Web Services and Integration with MongoDB https://www.coursera.org/learn/ruby-on-rails-web-services-mongodb via Coursera|5th Dec|4|4.8★ Advanced Styling with Responsive Design https://www.coursera.org/learn/responsivedesignvia Coursera|5th Dec|4|4.7★ Foundations of Objective-C App Development https://www.coursera.org/learn/objective-cvia Coursera|5th Dec|4|3★ Cloud Computing Concepts, Part 1 https://www.coursera.org/learn/cloud-computingvia Coursera|5th Dec|5|2.6★ Biology Meets Programming: Bioinformatics for Beginners https://www.coursera.org/learn/bioinformatics via Coursera|5th Dec|4|5★ The Arduino Platform and C Programming https://www.coursera.org/learn/arduino-platformvia Coursera|5th Dec|4|3.3★ App Design and Development for iOS https://www.coursera.org/learn/ios-app-design-development via Coursera|5th Dec|5|3★ Data Visualization https://www.coursera.org/learn/datavisualization via Coursera|5th Dec|4|3.2★ Rails with Active Record and Action Pack https://www.coursera.org/learn/rails-with-active-record via Coursera|5th Dec|4|4★ Graph Search, Shortest Paths, and Data Structures https://www.coursera.org/learn/algorithms-graphs-data-structures via Coursera|5th Dec|NA|NA The Raspberry Pi Platform and Python Programming for the Raspberry Pi https://www.coursera.org/learn/raspberry-pi-platform via Coursera|5th Dec|4|3.5★ Introduction to Spreadsheets and Models https://www.coursera.org/learn/wharton-introduction-spreadsheets-models via Coursera|5th Dec|4|4.7★ Responsive Website Basics: Code with HTML, CSS, and JavaScript https://www.coursera.org/learn/website-coding via Coursera|5th Dec|4|3.9★ Framework for Data Collection and Analysis https://www.coursera.org/learn/data-collection-framework via Coursera|5th Dec|NA|3.5★ Functional Program Design in Scala https://www.coursera.org/learn/progfun2 via Coursera|5th Dec|NA|NA Software Processes and Agile Practices https://www.coursera.org/learn/software-processes-and-agile-practices via Coursera|5th Dec|4|4.3★ Introduction to Software Product Management https://www.coursera.org/learn/introduction-to-software-product-managementvia Coursera|5th Dec|2|4.2★ Client Needs and Software Requirements https://www.coursera.org/learn/client-needs-and-software-requirements via Coursera|5th Dec|4|4.3★ Agile Planning for Software Products https://www.coursera.org/learn/agile-planning-for-software-products via Coursera|5th Dec|4|3★ Reviews & Metrics for Software Improvements https://www.coursera.org/learn/reviews-and-metrics-for-software-improvements via Coursera|5th Dec|4|NA Getting Started: Agile Meets Design Thinking https://www.coursera.org/learn/getting-started-agilevia Coursera|5th Dec|5|5★ Big Data Modeling and Management Systems https://www.coursera.org/learn/big-data-management via Coursera|5th Dec|NA|NA Best Practices for iOS User Interface Design https://www.coursera.org/learn/ui via Coursera|5th Dec|4|5★ Interfacing with the Arduino http://bit.ly/2gXagqZ via Coursera|5th Dec|4|4★ Communicating Data Science Results https://www.coursera.org/learn/data-results via Coursera|5th Dec|3|1★ Java Programming: Principles of Software Design https://www.coursera.org/learn/java-programming-design-principles via Coursera|5th Dec|4|4.7★ Object Oriented Programming in Java https://www.coursera.org/learn/object-oriented-java via Coursera|5th Dec|6|4.8★ Документы и презентации в LaTeX Introduction to LaTeX https://www.coursera.org/learn/latex via Coursera|5th Dec|5|NA Cloud Networking https://www.coursera.org/learn/cloud-networking via Coursera|5th Dec|5|4.3★ Web Application Development with JavaScript and MongoDB https://www.coursera.org/learn/web-application-development via Coursera|5th Dec|4|4.2★ Interfacing with the Raspberry Pi https://www.coursera.org/learn/raspberry-pi-interface via Coursera|5th Dec|4|1★ Data Manipulation at Scale: Systems and Algorithms https://www.coursera.org/learn/data-manipulation via Coursera|5th Dec|4|2.5★ Algorithmic Toolbox https://www.coursera.org/learn/algorithmic-toolbox via Coursera|5th Dec|5|4.7★ Toward the Future of iOS Development with Swift https://www.coursera.org/learn/iosswift via Coursera|5th Dec|4|NA Data Structures https://www.coursera.org/learn/data-structures via Coursera|5th Dec|4|2★ Server-side Development with NodeJS https://www.coursera.org/learn/server-side-development via Coursera|5th Dec|4|5★ Front-End JavaScript Frameworks: AngularJS https://www.coursera.org/learn/angular-js via Coursera|5th Dec|4|3.8★ Text Retrieval and Search Engines https://www.coursera.org/learn/text-retrieval via Coursera|5th Dec|4|3.2★ Interactivity with JavaScript https://www.coursera.org/learn/javascript via Coursera|5th Dec|4|4.3★ Cybersecurity and the Internet of Things https://www.coursera.org/learn/iot-cyber-security via Coursera|5th Dec|NA|NA Front-End Web UI Frameworks and Tools https://www.coursera.org/learn/web-frameworks via Coursera|5th Dec|4|4.3★ Managing an Agile Team https://www.coursera.org/learn/agile-team-management via Coursera|5th Dec|NA|2★ R Programming https://www.coursera.org/learn/r-programming via Coursera|5th Dec|4|2.7★ The Data Scientist’s Toolbox https://www.coursera.org/learn/data-scientists-toolsvia Coursera|5th Dec|4|3.2★ Getting and Cleaning Data https://www.coursera.org/learn/data-cleaning via Coursera|5th Dec|4|3.4★ Practical Machine Learning https://www.coursera.org/learn/practical-machine-learning via Coursera|5th Dec|4|3.4★ Exploratory Data Analysis https://www.coursera.org/learn/exploratory-data-analysis via Coursera|5th Dec|4|3.8★ Regression Models https://www.coursera.org/learn/regression-models via Coursera|5th Dec|4|2.6★ Statistical Inference https://www.coursera.org/learn/statistical-inference via Coursera|5th Dec|4|2.7★ Reproducible Research https://www.coursera.org/learn/reproducible-research via Coursera|5th Dec|4|3.7★ Software Architecture for the Internet of Things https://www.coursera.org/learn/iot-software-architecture via Coursera|5th Dec|NA|NA NEW Advanced Linear Models for Data Science 2: Statistical Linear Models https://www.coursera.org/learn/linear-models-2 via Coursera|5th Dec|NA|NA Games, Sensors and Media https://www.coursera.org/learn/games via Coursera|5th Dec|4|NA Mastering the Software Engineering Interview https://www.coursera.org/learn/cs-tech-interview via Coursera|5th Dec|4|5★ Algorithms on Graphs https://www.coursera.org/learn/algorithms-on-graphs via Coursera|5th Dec|NA|4★ Multiplatform Mobile App Development with Web Technologies https://www.coursera.org/learn/hybrid-mobile-development via Coursera|5th Dec|4|5★ Data Warehouse Concepts, Design, and Data Integration http://bit.ly/2fYB1hn via Coursera|5th Dec|5|5★ Advanced Data Structures in Java https://www.coursera.org/learn/advanced-data-structures via Coursera|5th Dec|5|NA Introduction to Data Science in Python https://www.coursera.org/learn/python-data-analysis via Coursera|5th Dec|NA|NA Algorithms on Strings https://www.coursera.org/learn/algorithms-on-strings via Coursera|5th Dec|NA|3★ Functional Programming Principles in Scala https://www.coursera.org/learn/progfun1 via Coursera|5th Dec|7|4.8★ Data Structures and Performance https://www.coursera.org/learn/data-structures-optimizing-performance via Coursera|5th Dec|5|5★ Programming Mobile Applications for Android Handheld Systems: Part 2 https://www.coursera.org/learn/android-programming-2 via Coursera|5th Dec|5|4.5★ Divide and Conquer, Sorting and Searching, and Randomized Algorithms https://www.coursera.org/learn/algorithms-divide-conquer via Coursera|5th Dec|NA|NA NEW Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming https://www.coursera.org/learn/algorithms-greedy via Coursera|5th Dec|NA|NA Build Your First Android App Project-Centered Course https://www.coursera.org/learn/android-appvia Coursera|5th Dec|5|3★ Responsive Website Tutorial and Examples https://www.coursera.org/learn/responsive-website-examples via Coursera|5th Dec|4|5★ Programming Mobile Applications for Android Handheld Systems: Part 1 https://www.coursera.org/learn/android-programming via Coursera|5th Dec|5|4.1★ Beginning Game Programming with C# https://www.coursera.org/learn/game-programming via Coursera|5th Dec|12|3.4★ Global Warming II: Create Your Own Models in Python https://www.coursera.org/learn/global-warming-model via Coursera|12th Dec|5|2★ Data Analysis Tools https://www.coursera.org/learn/data-analysis-tools via Coursera|12th Dec|4|3★ Algorithmic Thinking Part 1 https://www.coursera.org/learn/algorithmic-thinking-1 via Coursera|12th Dec|4|4.1★ Testing with Agile https://www.coursera.org/learn/agile-development via Coursera|12th Dec|NA|NA Interactive Computer Graphics https://www.coursera.org/learn/interactive-computer-graphics via Coursera|12th Dec|8|3.5★ Managing Data Analysis https://www.coursera.org/learn/managing-data-analysis via Coursera|12th Dec|1|1.8★ Cloud Computing Concepts: Part 2 https://www.coursera.org/learn/cloud-computing-2 via Coursera|12th Dec|5|4.8★ Cybersecurity and Mobility https://www.coursera.org/learn/cybersecurity-mobility via Coursera|12th Dec|NA|NA Android App Components - Intents, Activities, and Broadcast Receivers https://www.coursera.org/learn/androidapps via Coursera|12th Dec|NA|NA NEW Building Data Visualization Tools https://www.coursera.org/learn/r-data-visualization via Coursera|12th Dec|NA|NA Analysis of Algorithms https://www.coursera.org/learn/analysis-of-algorithms via Coursera|12th Dec|6|4.8★ Introduction to Meteor.js Development https://www.coursera.org/learn/meteor-development via Coursera|12th Dec|4|5★ iOS App Development Basics https://www.coursera.org/learn/ios-app-development-basics via Coursera|12th Dec|5|4★ Essential Design Principles for Tableau https://www.coursera.org/learn/dataviz-design via Coursera|12th Dec|NA|NA C++ For C Programmers, Part B https://www.coursera.org/learn/c-plus-plus-b via Coursera|12th Dec|NA|NA Data Science in Real Life https://www.coursera.org/learn/real-life-data-sciencevia Coursera|12th Dec|1|3★ Building a Data Science Team https://www.coursera.org/learn/build-data-science-team via Coursera|12th Dec|1|3.3★ Machine Learning https://www.coursera.org/learn/machine-learning via Coursera|12th Dec|11|4.8★ Principles of Computing Part 1 https://www.coursera.org/learn/principles-of-computing-1 via Coursera|12th Dec|5|4.6★ Introduction to Big Data https://www.coursera.org/learn/big-data-introduction via Coursera|12th Dec|3|2.6★ Running Product Design Sprints https://www.coursera.org/learn/running-design-sprints via Coursera|12th Dec|5|NA NEW Fundamentals of Computer Architecture https://www.coursera.org/learn/computer-architecture-fundamentals via Coursera|12th Dec|NA|NA Data Visualization and Communication with Tableau https://www.coursera.org/learn/analytics-tableau via Coursera|12th Dec|5|4★ Hadoop Platform and Application Framework https://www.coursera.org/learn/hadoop via Coursera|12th Dec|5|1.9★ A developer's guide to the Internet of Things IoT https://www.coursera.org/learn/developer-iot via Coursera|12th Dec|NA|4★ Internet of Things: Communication Technologies https://www.coursera.org/learn/internet-of-things-communication via Coursera|12th Dec|4|3★ Building R Packages https://www.coursera.org/learn/r-packages via Coursera|12th Dec|NA|NA Java Programming: Solving Problems with Software https://www.coursera.org/learn/java-programming via Coursera|12th Dec|4|3.3★ A Crash Course in Data Science https://www.coursera.org/learn/data-science-course via Coursera|12th Dec|1|3.3★ Database Management Essentials https://www.coursera.org/learn/database-management via Coursera|12th Dec|7|3.8★ Introduction to Neurohacking In R https://www.coursera.org/learn/neurohacking via Coursera|12th Dec|NA|NA The R Programming Environment https://www.coursera.org/learn/r-programming-environment via Coursera|12th Dec|NA|NA Introduction to Architecting Smart IoT Devices https://www.coursera.org/learn/iot-devices via Coursera|12th Dec|NA|NA Algorithmic Thinking Part 2 https://www.coursera.org/learn/algorithmic-thinking-2 via Coursera|12th Dec|NA|4.4★ Fundamentals of Visualization with Tableau https://www.coursera.org/learn/data-visualization-tableau via Coursera|12th Dec|NA|NA Dealing With Missing Data https://www.coursera.org/learn/missing-data via Coursera|12th Dec|NA|NA Java Programming: Arrays, Lists, and Structured Data https://www.coursera.org/learn/java-programming-arrays-lists-data via Coursera|12th Dec|4|4.3★ Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure https://www.coursera.org/learn/cloud-applications-part1 via Coursera|12th Dec|5|3.4★ Big Data Integration and Processing https://www.coursera.org/learn/big-data-integration-processing via Coursera|12th Dec|NA|NA Cybersecurity and the X-Factor https://www.coursera.org/learn/cybersecurity-and-x-factor via Coursera|12th Dec|NA|NA Advanced R Programming https://www.coursera.org/learn/advanced-r via Coursera|12th Dec|NA|NA Responsive Web Design https://www.coursera.org/learn/responsive-web-design via Coursera|12th Dec|4|3.3★ Introduction To Swift Programming https://www.coursera.org/learn/swift-programming via Coursera|12th Dec|5|1.2★ Data Management and Visualization https://www.coursera.org/learn/data-visualization via Coursera|12th Dec|4|2.4★ Principles of Computing Part 2 https://www.coursera.org/learn/principles-of-computing-2 via Coursera|12th Dec|NA|4.3★ Software Security https://www.coursera.org/learn/software-security via Coursera|12th Dec|6|4.7★ Java for Android https://www.coursera.org/learn/java-for-android via Coursera|13th Dec|4|NA NEW Building and Deploying Android App Projects https://www.coursera.org/learn/badaap via Coursera|15th Dec|NA|NA C++ For C Programmers, Part A https://www.coursera.org/learn/c-plus-plus-a via Coursera|19th Dec|NA|3.2★ Introduction to Genomic Technologies https://www.coursera.org/learn/introduction-genomics via Coursera|19th Dec|4|2.7★ Python for Genomic Data Science https://www.coursera.org/learn/python-genomics via Coursera|19th Dec|4|2.4★ Web Connectivity and Security in Embedded Systems https://www.coursera.org/learn/iot-connectivity-security via Coursera|19th Dec|NA|NA Bioinformatics: Introduction and Methods 生物信息学: 导论与方法 https://www.coursera.org/learn/bioinformatics-pku via Coursera|19th Dec|14|NA Statistics for Genomic Data Science https://www.coursera.org/learn/statistical-genomics via Coursera|19th Dec|4|2★ Web Application Development: Basic Concepts https://www.coursera.org/learn/web-app via Coursera|19th Dec|NA|NA 算法设计与分析 Design and Analysis of Algorithms https://www.coursera.org/learn/algorithms via Coursera|19th Dec|13|NA Genomic Data Science with Galaxy https://www.coursera.org/learn/galaxy-project via Coursera|19th Dec|4|1.8★ Discrete Optimization https://www.coursera.org/learn/discrete-optimization via Coursera|19th Dec|9|4.3★ Programming Languages, Part B https://www.coursera.org/learn/programming-languages-part-b via Coursera|19th Dec|NA|NA Build Your Own iOS App https://www.coursera.org/learn/build-app via Coursera|19th Dec|NA|NA 面向对象技术高级课程(The Advanced Object-Oriented Technology) https://www.coursera.org/learn/aoo via Coursera|19th Dec|12|NA Julia Scientific Programming https://www.coursera.org/learn/julia-programming via Coursera|19th Dec|NA|NA Computer Architecture https://www.coursera.org/learn/comparch via Coursera|19th Dec|11|4.5★ Internet of Things: How did we get here? https://www.coursera.org/learn/internet-of-things-history via Coursera|26th Dec|2|2★ Big Data, Cloud Computing, & CDN Emerging Technologies https://www.coursera.org/learn/big-data-cloud-computing-cdnvia Coursera|26th Dec|3|3.3★ Wireless Communication Emerging Technologies https://www.coursera.org/learn/wireless-communication-technologiesvia Coursera|26th Dec|5|3.7★ Internet of Things & Augmented Reality Emerging Technologies https://www.coursera.org/learn/iot-augmented-reality-technologies via Coursera|26th Dec|2|2.5★ Algorithms, Part I https://www.coursera.org/learn/introduction-to-algorithms via Coursera|26th Dec|6|4.4★ Cryptography I https://www.coursera.org/learn/cryptovia Coursera|26th Dec|7|4.7★ Programming Languages, Part C https://www.coursera.org/learn/programming-languages-part-c via Coursera|26th Dec|NA|NA Architecting Smart IoT Devices https://www.coursera.org/learn/iot-architecture via Coursera|26th Dec|NA|NA Internet of Things: Sensing and Actuation From Devices https://www.coursera.org/learn/internet-of-things-sensing-actuation via Coursera|26th Dec|6|NA Internet of Things: Setting Up Your DragonBoard™ Development Platform https://www.coursera.org/learn/internet-of-things-dragonboard via Coursera|26th Dec|10|3★ Process Mining: Data science in Action https://www.coursera.org/learn/process-mining via Coursera|26th Dec|6|4.3★ Internet Emerging Technologies https://www.coursera.org/learn/internet-technologies via Coursera|26th Dec|3|3★ Cryptography https://www.coursera.org/learn/cryptography via Coursera|26th Dec|7|4.2★

ADVANCED42

Course Name|Start Date|Length in weeks|Rating :--|:--:|:--:|:--:|:--: NEW Combining and Analyzing Complex Data https://www.coursera.org/learn/data-collection-analytics-project via Coursera|1st Dec|NA|NA NEW Recommender Systems: Evaluation and Metrics https://www.coursera.org/learn/recommender-metrics via Coursera|1st Dec|NA|NA Genomic Data Science and Clustering Bioinformatics V https://www.coursera.org/learn/genomic-data via Coursera|1st Dec|2|3.5★ Regression Modeling in Practice https://www.coursera.org/learn/regression-modeling-practice via Coursera|2nd Dec|4|5★ Genome Sequencing Bioinformatics II https://www.coursera.org/learn/genome-sequencing via Coursera|5th Dec|4|5★ Big Data, Genes, and Medicine https://www.coursera.org/learn/data-genes-medicine via Coursera|5th Dec|NA|NA Probabilistic Graphical Models 1: Representation https://www.coursera.org/learn/probabilistic-graphical-models via Coursera|5th Dec|11|4.4★ Parallel programming https://www.coursera.org/learn/parprog1 via Coursera|5th Dec|NA|5★ Machine Learning With Big Data https://www.coursera.org/learn/big-data-machine-learning via Coursera|5th Dec|4|1.8★ Comparing Genes, Proteins, and Genomes Bioinformatics III https://www.coursera.org/learn/comparing-genomes via Coursera|5th Dec|5|5★ Relational Database Support for Data Warehouses https://www.coursera.org/learn/dwrelational via Coursera|5th Dec|5|2★ Machine Learning Foundations: A Case Study Approach https://www.coursera.org/learn/ml-foundations via Coursera|5th Dec|6|4.2★ Finding Mutations in DNA and Proteins Bioinformatics VI https://www.coursera.org/learn/dna-mutations via Coursera|5th Dec|5|NA Approximation Algorithms Part II https://www.coursera.org/learn/approximation-algorithms-part-2 via Coursera|5th Dec|4|NA Machine Learning: Regression https://www.coursera.org/learn/ml-regression via Coursera|5th Dec|6|4.7★ Finding Hidden Messages in DNA Bioinformatics I https://www.coursera.org/learn/dna-analysis via Coursera|5th Dec|4|4.5★ Machine Learning: Classification https://www.coursera.org/learn/ml-classification via Coursera|5th Dec|7|4.8★ Pattern Discovery in Data Mining https://www.coursera.org/learn/data-patterns via Coursera|5th Dec|4|2.2★ Graph Analytics for Big Data https://www.coursera.org/learn/big-data-graph-analytics via Coursera|5th Dec|4|2.4★ Machine Learning: Clustering & Retrieval https://www.coursera.org/learn/ml-clustering-and-retrieval via Coursera|5th Dec|NA|4.5★ Practical Predictive Analytics: Models and Methods https://www.coursera.org/learn/predictive-analytics via Coursera|5th Dec|4|2.5★ Developing Data Products https://www.coursera.org/learn/data-products via Coursera|5th Dec|4|3.9★ Cloud Computing Applications, Part 2: Big Data and Applications in the Cloud http://bit.ly/2gXcF52 via Coursera|5th Dec|NA|NA Introduction to Recommender Systems: Non-Personalized and Content-Based https://www.coursera.org/learn/recommender-systems-introduction via Coursera|5th Dec|NA|NA Hardware Security https://www.coursera.org/learn/hardware-security via Coursera|5th Dec|6|3★ Cluster Analysis in Data Mining https://www.coursera.org/learn/cluster-analysis via Coursera|12th Dec|4|2.6★ Basic Data Descriptors, Statistical Distributions, and Application to Business Decisions https://www.coursera.org/learn/descriptive-statistics-statistical-distributions-business-application via Coursera|12th Dec|NA|NA Text Mining and Analytics https://www.coursera.org/learn/text-mining via Coursera|12th Dec|4|3.7★ Nearest Neighbor Collaborative Filtering https://www.coursera.org/learn/collaborative-filtering via Coursera|12th Dec|NA|NA Machine Learning for Data Analysis https://www.coursera.org/learn/machine-learning-data-analysis via Coursera|12th Dec|4|3★ Probabilistic Graphical Models 2: Inference https://www.coursera.org/learn/probabilistic-graphical-models-2-inference via Coursera|19th Dec|NA|NA Computational Neuroscience https://www.coursera.org/learn/computational-neuroscience via Coursera|19th Dec|8|3.8★ Algorithms for DNA Sequencing https://www.coursera.org/learn/dna-sequencing via Coursera|19th Dec|4|4.5★ Bioconductor for Genomic Data Science https://www.coursera.org/learn/bioconductor via Coursera|19th Dec|4|3.3★ System Validation 2: Model process behaviour https://www.coursera.org/learn/system-validation-behavior via Coursera|19th Dec|NA|NA System Validation: Automata and behavioural equivalences https://www.coursera.org/learn/automata-system-validation via Coursera|26th Dec|NA|NA Advanced Linear Models for Data Science 1: Least Squares https://www.coursera.org/learn/linear-models via Coursera|26th Dec|NA|NA Big Data Science with the BD2K-LINCS Data Coordination and Integration Center https://www.coursera.org/learn/bd2k-lincs via Coursera|26th Dec|7|4★ Neural Networks for Machine Learning https://www.coursera.org/learn/neural-networks via Coursera|26th Dec|8|4.5★ Hands-on Text Mining and Analytics https://www.coursera.org/learn/text-mining-analytics via Coursera|26th Dec|NA|NA Quantitative Formal Modeling and Worst-Case Performance Analysis https://www.coursera.org/learn/quantitative-formal-modeling-1 via Coursera|26th Dec|4|4★ Embedded Hardware and Operating Systems https://www.coursera.org/learn/embedded-operating-system via Coursera|26th Dec|NA|NA

r/linuxadmin • comment
13 points • dpflug

End of the day, it comes down to preference. Some people try Lisp and love it. Some try it and it never "clicks". On the whole, most programmers who have learned it value it, so there's a good chance it would be good for you.

It absolutely changed the way I program, but it also wasn't my first language. I think it could be a good first language. I also think it may take you longer to realize what makes it special if it's your start (which isn't necissarily a bad thing).

If you have a half an idea of what a variable is and how to write a function (in any language), my typical recommendation is to go through this Programming Languages course. It takes you through type systems, functional programming, and object oriented programming using ML (a Haskell ancestor), Racket (a Scheme/Lisp), and Ruby. It's a great overview of the craft, IMO.

To answer the question you've asked a couple times: You probably won't use it day-to-day. You will, however, learn strategies from it that you'll use the rest of your career.

r/compsci • post
66 points • daredevildas
Coursera - Programming Languages by University of Washington

Would you consider the 3 part Programming Languages course on Coursera(linked below) a prerequisite or a building block for studies in Programming Language Theory?

https://www.coursera.org/learn/programming-languages

https://www.coursera.org/learn/programming-languages-part-b

https://www.coursera.org/learn/programming-languages-part-c

r/france • post
32 points • GekWacoctilchugwogdy
[Besoin d'Aide] 39 ans trop vieux pour les métiers du numérique ?

Après quelques années de travail précaire, je suis actuellement une prestation pôle emploi pour mettre en place un nouveau projet professionnel.

J'ai 39 ans et l'idée pour moi est de m'orienter vers les métiers en tension. Mon soucis est que j'ai un profil avec une grosse dominante investigateur et que lors de l'exploration des métiers en concordance avec ce profil ceux qui ressortent sont notamment les métiers du numérique et du développement informatique.

Pour information, j'ai une formation initiale universitaire (Bac+5) qui ne m'a servi à rien (trop générale/ universitaire) suivi d'un BTS en IG (oui il date aussi) et une expérience décevante en support niveau 1 (mauvais choix, je n'y étais pas à ma place).

Mon souci est que je suis du genre à prendre plaisir à suivre des MOOCs comme Programming languages ou à bricoler des trucs sur github/gitlab pour moi ou balancer des PR quand j'ai une besoin d'une fonctionnalité ou si je peux fixer un truc qui ne va pas.

J'avais fait une croix sur les métiers du développement vu mon âge, mais je voudrais quand même poser la question à des gens qui y travaillent. Est ce que le fait que ces métiers soient en tension pourrait, malgré mon âge "avancé", me permettre d'envisager d'y travailler.

PS. Si vous avez des idées de métiers pour des profils à dominante Investigateur, ou l'âge ne serait pas un facteur déterminant, je suis preneur.

edit

le profil investigateur est un des 6 profils de la classification RIASSEC (merci @yumyum2 pour le lien) issue de la typologie de Holland

r/learnprogramming • post
9 points • bigiyai
I can highly recommend the this series of courses on programming languages

https://www.coursera.org/learn/programming-languages

This is the first part of a free 3 part course on programming languages. I've just completed it and learned so much, and the instructor is a great teacher.

It's an intermediate level course, so you should have some familiarity with at least one mainstream language first, but it does take a fairly ground up approach.

r/functionalprogramming • comment
7 points • yawaramin

From your description, it sounds like Professor Dan Grossman’s free online course, Programming Languages, will be a perfect fit for you. It teaches FP using SML (a mostly academic but clean and elegant language), including concepts like currying, recursion, type inference, parametric polymorphism, and modules and modular programming. Worth a look: https://www.coursera.org/learn/programming-languages

r/lisp • comment
6 points • AnAirMagic

Not the original poster, but it's common for many universities to have a "Programming Languages" course. The goal of such courses is to study a number of programming languages, and use that comparison to try and understand a number of important concepts about programming languages in general.

For example, some of the things I learned include:

  • static vs dynamic typing (or type-checking)
  • strong vs weak typing (my professor hated this terminology, but you will only understand why after you understand type-checking in general)
  • Functional vs object-oriented programming (including covariance, contra-variance)
  • Immutable vs mutable state
  • Recursion vs iteration

And really, it's just really nice to try out a whole bunch of languages and understand some common techniques from, say, functional programming, that can also be useful (but possibly not obvious) in object-oriented programming languages. For example, now that Java has added streams and C# is adding pattern matching, they feel very natural to me because I spent a little bit of time learning SML.

Shoutout to Dan Grossman for his great course!

r/learnprogramming • post
13 points • belikerber7
This was the hardest course I've ever taken in my entire Life!

Programming Languages, Part A from Coursera. This is definitely one of the best courses available on Coursera. Very challenging and time consuming (not for beginners), but it will without doubt make you a better programmer.

This course opened my mind to many of the different paradigms of programming and did so with comprehensive lectures, an incredible instructor, and useful/highly-illustrative assignments.

The course uses SML, Racket an Ruby to teach you about concepts that can be applied to any programming languages. So, even if you don't know these 3 languages, the knowledge you acquire can easily be applied to any of your favorite languages.

Dan is an amazing teacher. If you're a serious programmer, you MUST take this course! https://www.coursera.org/learn/programming-languages

r/fsharp • post
5 points • yawaramin
Prof. Dan Grossman's course 'Programming Languages, Part A'
r/OMSCS • comment
5 points • tinduck

Yes. The lack of programming experience would make the easy assignments hard, and the hard assignments impossible in the majority of the classes in this program.

If you are the type of programmer who knows how to pick up new languages or tools quickly, you should be fine.

You don't need to be an expert in any language. I wasn't much of C programmer before I took GIOS. I had a one or two basic classes that used C, but nothing really complicated. I did fine in IOS after doing a quick tutorial on Lynda.

But I worked professionally as a C# developer for three years before I entered the program. I had taken a programming languages class before. Computer Engineering was my major as an undergraduate.

You should know were you are at. It sounds to me like you aren't ready. I would recommend that you try to take the Programming Languages course on Coursera by the University of Washington. [1]

If you struggle with the assignments in that course, you will probably struggle in the OMSCS. While this MOOC is a lot easier than the courses in the OMSCS, I think is simulates the task of learning a new tool or language in by an arbitrarily tight deadline quite well. That's a critical skill that you need to be successful in this program.

[1] - https://www.coursera.org/learn/programming-languages

r/rust • comment
4 points • matklad

I don’t know about resources for variance specifically, but this coursera course does a grear job explaining this and other concepts of programming languages: https://www.coursera.org/learn/programming-languages. I highly recommend it!

r/learnprogramming • post
1144 points • dhawal
Here's a list of 430+ free online programming/CS courses (MOOCs) with feedback(i.e. exams/homeworks/assignments) that you can start this month (September 2016)

Unfortunately I couldn't fit all the courses here because of Reddit's 40,000 character limit. So I removed older self-paced courses from the list. These courses are always open for registration.

They can be found here:

~300 Self Paced Programming and Computer Science courses

I have also started categorizing the courses listed here by the programming language they are taught in. You can find the list here:

~250 MOOCs categorized by Programming Language

This is not the complete list of MOOCs starting in September 2016, just the ones relevant to this community. The complete list of courses starting in September 2016 can be found over at Class Central (1600+ courses). I maintain a much bigger list of these courses over at Class Central

Get this list every month via email : Subscribe

NOTE: Unfortunately Coursera has converted many of its courses to 'Premium Grading'. Which basically means that you need to pay if you want to access graded assignments :(. You can also apply for Financial Aid - https://learner.coursera.help/hc/en-us/articles/209819033-Apply-for-Financial-Aid

BEGINNER(14)

Course Name|Start Date|Length (in weeks)|Rating :--|:--:|:--:|:--:|:--: Java Programming Basics via Udacity|Self paced|NA|NA Learn to Program: Crafting Quality Code via Coursera|1st Sep|10|4.5★ (6) Learn to Program: The Fundamentals via Coursera|1st Sep|10|4.8★ (81) Programming for Everybody (Getting Started with Python) via Coursera|5th Sep|7|4.6★ (37) Programming and the Web for Beginners via Coursera|5th Sep|4|3.8★ (9) Internet History, Technology, and Security via Coursera|5th Sep|10|4.6★ (28) Introduction to CSS3 via Coursera|5th Sep|4|4.6★ (7) The Beauty and Joy of Computing - CS Principles Part 1 via edX|6th Sep|NA|4★ (1) CODAPPS: Coding mobile apps for entrepreneurs via Coursera|12th Sep|8|5★ (1) Code Yourself! An Introduction to Programming via Coursera|12th Sep|5|4.3★ (6) An Introduction to Interactive Programming in Python (Part 2) via Coursera|19th Sep|4|4.8★ (40) Usable Security via Coursera|19th Sep|7|2.9★ (8) An Introduction to Interactive Programming in Python (Part 1) via Coursera|19th Sep|5|4.9★ (2816) Paradigms of Computer Programming – Fundamentals via edX|26th Sep|5|5★ (2) INTERMEDIATE(94)

Course Name|Start Date|Length (in weeks)|Rating :--|:--:|:--:|:--:|:--: [NEW] M233: Getting Started with Spark and MongoDB via MongoDB University|Self paced|NA|NA Android Basics: Networking via Udacity|Self paced|NA|NA [NEW] Dynamic Web Applications with Sinatra via Udacity|Self paced|NA|NA [NEW] The MVC Pattern in Ruby via Udacity|Self paced|NA|NA [NEW] Deploying Applications with Heroku via Udacity|Self paced|NA|NA [NEW] Intro to JavaScript via Flatiron School|Self paced|NA|NA [NEW] Android Basics: Data Storage via Udacity|Self paced|NA|NA Analysis of Algorithms via Coursera|1st Sep|6|4.8★ (4) Malicious Software and its Underground Economy: Two Sides to Every Story via Coursera|1st Sep|NA|3.8★ (5) Algorithms, Part II via Coursera|1st Sep|6|4.8★ (18) [NEW] Agile Software Development via edX|1st Sep|NA|NA Software Defined Networking via Coursera|1st Sep|NA|4★ (5) Algorithms, Part I via Coursera|1st Sep|6|4.4★ (37) Software Processes and Agile Practices via Coursera|1st Sep|4|4.3★ (9) Introduction to Software Product Management via Coursera|1st Sep|2|4.2★ (10) Client Needs and Software Requirements via Coursera|1st Sep|4|4.3★ (6) Reviews & Metrics for Software Improvements via Coursera|1st Sep|4|NA [NEW] Programming Mobile Services for Android Handheld Systems: Content via Coursera|1st Sep|NA|NA Programming Mobile Services for Android Handheld Systems: Concurrency via Coursera|1st Sep|NA|5★ (2) Agile Planning for Software Products via Coursera|1st Sep|4|3★ (2) Programming Languages, Part A via Coursera|5th Sep|NA|4.9★ (16) Introduction To Swift Programming via Coursera|5th Sep|5|1.2★ (5) Data Management and Visualization via Coursera|5th Sep|4|2.4★ (5) Cybersecurity and Mobility via Coursera|5th Sep|NA|NA Data Analysis Tools via Coursera|5th Sep|4|3★ (3) Managing Data Analysis via Coursera|5th Sep|1|1.8★ (6) Python Data Structures via Coursera|5th Sep|7|4.4★ (29) Using Python to Access Web Data via Coursera|5th Sep|6|4.5★ (28) Using Databases with Python via Coursera|5th Sep|5|4.5★ (17) iOS App Development Basics via Coursera|5th Sep|5|4★ (2) Testing with Agile via Coursera|5th Sep|NA|NA Cloud Computing Concepts: Part 2 via Coursera|5th Sep|5|4.8★ (4) [NEW] Single Page Web Applications with AngularJS via Coursera|5th Sep|NA|NA Introduction to Meteor.js Development via Coursera|5th Sep|4|5★ (3) Internet of Things: Setting Up Your DragonBoard™ Development Platform via Coursera|5th Sep|10|3★ (3) Algorithms: Design and Analysis, Part 1 via Coursera|5th Sep|6|4.7★ (52) Cryptography I via Coursera|5th Sep|7|4.7★ (38) Running Product Design Sprints via Coursera|5th Sep|5|NA Algorithms: Design and Analysis, Part 2 via Coursera|5th Sep|6|4.8★ (16) [NEW] Programming Languages, Part B via Coursera|5th Sep|NA|NA Dealing With Missing Data via Coursera|5th Sep|NA|NA Machine Learning via Coursera|5th Sep|11|4.8★ (204) Cryptography via Coursera|5th Sep|7|4.2★ (6) Introduction to Big Data via Coursera|5th Sep|3|2.6★ (27) Algorithmic Toolbox via Coursera|5th Sep|5|4.7★ (6) Data Visualization and Communication with Tableau via Coursera|5th Sep|5|4★ (7) Database Management Essentials via Coursera|5th Sep|7|3.8★ (4) Java Programming: Solving Problems with Software via Coursera|5th Sep|4|3.3★ (8) Front-End Web UI Frameworks and Tools via Coursera|5th Sep|4|4.3★ (6) Hadoop Platform and Application Framework via Coursera|5th Sep|5|1.9★ (19) Cloud Computing Applications, Part 1: Cloud Systems and Infrastructure via Coursera|5th Sep|5|3.4★ (7) A developer's guide to the Internet of Things (IoT) via Coursera|5th Sep|NA|4★ (1) Big Data, Cloud Computing, & CDN Emerging Technologies via Coursera|5th Sep|3|3.3★ (4) Algorithms on Strings via Coursera|5th Sep|NA|3★ (1) Process Mining: Data science in Action via Coursera|5th Sep|6|4.3★ (12) Java Programming: Arrays, Lists, and Structured Data via Coursera|5th Sep|4|4.3★ (3) Introduction to Process Mining with ProM via FutureLearn|5th Sep|4|NA Responsive Web Design via Coursera|5th Sep|4|3.3★ (10) Multiplatform Mobile App Development with Web Technologies via Coursera|5th Sep|4|5★ (1) Mastering the Software Engineering Interview via Coursera|5th Sep|4|5★ (1) Big Data Integration and Processing via Coursera|5th Sep|NA|NA Java for Android via Coursera|6th Sep|4|NA Knowledge Management and Big Data in Business via edX|6th Sep|6|3.5★ (2) Foundations of Data Analysis - Part 1: Statistics Using R via edX|6th Sep|6|4★ (1) Programming Mobile Applications for Android Handheld Systems: Part 2 via Coursera|12th Sep|5|4.5★ (12) Approximation Algorithms Part I via Coursera|12th Sep|5|5★ (2) Front-End JavaScript Frameworks: AngularJS via Coursera|12th Sep|4|3.8★ (4) Beginning Game Programming with C# via Coursera|12th Sep|12|3.4★ (14) Programming Mobile Applications for Android Handheld Systems: Part 1 via Coursera|12th Sep|5|4.1★ (35) Software Architecture for the Internet of Things via Coursera|12th Sep|NA|NA HTML5 Part 2: Advanced Techniques for Designing HTML5 Apps via edX|13th Sep|8|3★ (1) The Nature of Code via Kadenze|14th Sep|5|5★ (14) Learning From Data (Introductory Machine Learning) via edX|18th Sep|10|4.4★ (16) Interactive Computer Graphics via Coursera|19th Sep|8|3.5★ (2) Principles of Computing (Part 1) via Coursera|19th Sep|5|4.6★ (25) [NEW] Data Analysis for Social Scientists via edX|19th Sep|NA|NA Algorithmic Thinking (Part 2) via Coursera|19th Sep|NA|4.4★ (8) Introduction to Architecting Smart IoT Devices via Coursera|19th Sep|NA|NA Internet of Things: Communication Technologies via Coursera|19th Sep|4|3★ (2) Introduction to Neurohacking In R via Coursera|19th Sep|NA|NA Principles of Computing (Part 2) via Coursera|19th Sep|NA|4.3★ (14) [NEW] Getting started with Augmented Reality via Coursera|19th Sep|NA|NA Global Warming II: Create Your Own Models in Python via Coursera|19th Sep|5|2★ (1) [NEW] Functional Programming in Haskell: Supercharge Your Coding via FutureLearn|19th Sep|NA|NA Software Security via Coursera|19th Sep|6|4.7★ (20) Algorithmic Thinking (Part 1) via Coursera|19th Sep|4|4.1★ (13) Programming Languages, Part A via Coursera|19th Sep|NA|4.9★ (16) Agile Development Using Ruby on Rails - Advanced via edX|20th Sep|8|4.6★ (5) [NEW] Algorithms via edX|20th Sep|6|NA Build Your Own iOS App via Coursera|26th Sep|NA|NA Moving to the Cloud via Coursera|26th Sep|NA|NA [NEW] Introduction to Data Science in Python via Coursera|26th Sep|NA|NA [NEW] Software Construction in Java via edX|26th Sep|NA|NA Client Needs and Software Requirements via Coursera|26th Sep|4|4.3★ (6) ADVANCED(26)

Course Name|Start Date|Length (in weeks)|Rating :--|:--:|:--:|:--:|:--: Bitcoin and Cryptocurrency Technologies via Coursera|1st Sep|7|4.6★ (9) Neural Networks for Machine Learning via Coursera|1st Sep|8|4.5★ (11) [NEW] Combining and Analyzing Complex Data via Coursera|1st Sep|NA|NA [NEW] Nearest Neighbor Collaborative Filtering via Coursera|1st Sep|NA|NA [NEW] Machine Learning: Recommender Systems & Dimensionality Reduction via Coursera|1st Sep|NA|NA [NEW] System Validation: Automata and behavioural equivalences via Coursera|5th Sep|NA|NA Machine Learning for Data Analysis via Coursera|5th Sep|4|3★ (3) Advanced Linear Models for Data Science 1 : Linear Models via Coursera|5th Sep|NA|NA [NEW] Introduction to Recommender Systems: Non-Personalized and Content-Based via Coursera|5th Sep|NA|NA Introduction to Natural Language Processing via Coursera|5th Sep|NA|3.8★ (6) Big Data: Statistical Inference and Machine Learning via FutureLearn|5th Sep|2|4★ (2) Quantitative Formal Modeling and Worst-Case Performance Analysis via Coursera|5th Sep|4|4★ (2) Machine Learning: Regression via Coursera|5th Sep|6|4.7★ (13) Introduction to Recommender Systems via Coursera|5th Sep|8|3.6★ (19) [NEW] Reliable Distributed Algorithms, Part 1 via edX|5th Sep|NA|NA Text Mining and Analytics via Coursera|5th Sep|4|3.7★ (6) Machine Learning: Clustering & Retrieval via Coursera|5th Sep|NA|4.5★ (2) Approximation Algorithms Part II via Coursera|12th Sep|4|NA [NEW] Cloud Computing Applications, Part 2 via Coursera|12th Sep|NA|NA Clinical Bioinformatics: Unlocking Genomics in Healthcare via FutureLearn|19th Sep|5|NA Machine Learning: Classification via Coursera|19th Sep|7|4.8★ (6) [NEW] Advanced Apache Spark for Data Science and Data Engineering via edX|21st Sep|2|NA Computational Neuroscience via Coursera|23rd Sep|8|3.8★ (6) Modeling Discrete Optimization via Coursera|26th Sep|8|4★ (5) [NEW] Advanced Java Concurrency via Coursera|26th Sep|NA|NA Computational Neuroscience via Coursera|26th Sep|8|3.8★ (6)

r/programming • post
3 points • ApoMechanesTheos
Grossman's Programming Languages course on Coursera [new session]
r/bioinformatics • comment
3 points • VirtualCell

I agree with Linooney, but wanted to add some in case it’s helpful:

If you have the time, I highly recommend taking an intro CS course or some theory. I had a hard time learning languages until I took an intro series.

Dan Grossman over at University of Washington is a well-known educator, and he has some really nontrivial introductory material in Coursera’s Programming Languagea, Part A, if you want: https://www.coursera.org/learn/programming-languages

Or if you have less time and want to get programming more quickly, just buzz through an intro to programming with python course.

Really I think the key things to get are:

  1. Data types and structures, along with typed vs untyped languages. For example, Python is really lax about what data types you use, but the types include things like int, string, etc. Perl is also lax, but has basically three core types: scalars, vectors, and hashes. C++ will be picky about types, and they’ll look closer to Python’s. Paying attention to those things often helps when problems come up.

  2. Common coding practices. Abstaction, for example. Beginner programmers will often write lots of functions/methods that have some common function. It takes practice to notice that repetition and write more general functions accordingly b

  3. Object-oriented vs functional programming styles, and some design patterns. Even in casual coding, these things can come in handy. Sometimes objects and methods are better choices than functions even for small pieces of software, and some knowledge of basic design patterns like multiple dispatch and visitors can be helpful there.

Some of the intro coursework you we online can help you practice those concepts, which can be just as important if not more than the individual language.

r/udub • comment
3 points • Cpt_Crunch152

I've heard good things from CS majors about using free classes on coursera. The one I hear about the most is the one that come from UW. I believe it should be similar to the in-major class CSE 341 (Programming Languages)

Here it is: coursera link

r/functionalprogramming • comment
3 points • yawaramin

Depends on what your learning style is, I guess. If you learn best by building stuff, then go for Elm or ReasonML, they make it easy to build stuff. Whatever you do decide though, if you're using a statically-typed functional programming language, they all have certain properties like auto-currying, strong type inference, and parametric polymorphism, that don't have an obvious way to wrap your head around initially. That's why I highly recommend this free online course: https://www.coursera.org/learn/programming-languages

Even if you don't do anything else, watch the lecture videos. They are short and highly accessible, and the Professor (Dan Grossman) is engaging and explains really well. The course will give you an appreciation of how this class of languages works in the sense of--how do their various parts work together to empower you.

r/rust • comment
2 points • d3adbeef123

Type system wise, I think Rust's type system is very close to ML languages (minus the lifetimes and borrow checker related aspects). In that regard, I think Prof Grossman's course on Programming Languages is really good! I would recommend you give that a shot

r/programming • comment
2 points • bjzaba

Would highly recommend a course like Programming Languages on Coursera once you have a language or two under your belt (R is fine!). Being able to analyze the syntax and semantics of systems is like a super power that not only makes it quick and easy to pick up new languages, but also makes it easier to master new libraries and frameworks.

r/learnjavascript • comment
2 points • wonderful_wonton

The problem is that Javascript is now a rich programming language with features that don't make sense unless you learn programming languages concepts, including functional programming. You can take basic syntax & how-to classes, but at some point you need to take a programming languages course, like the one university of washington offers on coursera or some basic ideas will seem complex. This is the reason why some people think Eloquent Javascript is hard

r/learnprogramming • comment
2 points • mad0314

As others have said, if your aim is to become a better programmer, stick with one language a while longer. Jumping around languages is like learning the basics of guitar, then moving to piano, then to trumpet, etc.

That said, I really enjoyed the 3 part Programming Languages courses on Coursera. It looks at how languages in general function and looks at 3 languages and how they work. I enjoy learning about languages, just make sure it doesn't get in the way of getting experience actually programming.

r/bprogramming • post
1 points • bprogramming
Programming Languages
r/ocaml • comment
1 points • yawaramin

Hey if you're new to functional programming I strongly recommend going through this course: https://www.coursera.org/learn/programming-languages

The teaching language is Standard ML which is very similar to OCaml and like 95% of the concepts will carry over easily. And the typed functional programming instructional content is what really makes it worth it.

r/learnprogramming • comment
1 points • NotQuaggles

Check out this course (and parts B, C) on Coursera. Fantastic, easy to understand resource that goes over a lot of functional programming. Mostly SML iirc. I think the lectures available on demand somewhere too with a little bit of searching.

r/functionalprogramming • comment
1 points • yawaramin

If you are new to functional programming, start with Prof. Dan Grossman’s excellent free online course: https://www.coursera.org/learn/programming-languages

He explains the main concepts of statically typed functional programming using the teaching language Standard ML, which is small, simple, and elegant. You can then apply those concepts to lots of languages.

r/programming • comment
1 points • yawaramin

> I last tried to learn Haskell but I failed.

Try this course: https://www.coursera.org/learn/programming-languages

It uses the simpler language Standard ML which is somewhat related to Haskell but not as 'pure'. The lecture videos are great, the instructor is very to-the-point and effective imho.

r/ocaml • comment
1 points • yawaramin

I’ll just add here that you can actually just learn both, while using OCaml for your actual code. They are fundamentally very similar—statically typed functional programming with modules, functors, type inference, algebraic data types and pattern matching—they’re more alike than different.

Depending on your knowledge level and learning approach, you may actually want to take advantage of SML learning resources like the excellent MOOC: https://www.coursera.org/learn/programming-languages —which takes you through the fundamentals i mentioned and teaches the basics of Hindley-Milner type inference so that you don’t find type errors confusing (‘The actual error is at point X, so how come the compiler is telling me about point Y?’).

r/ocaml • comment
1 points • yawaramin

It takes time and some patience for functional programming to soak into your brain. But it’s worth it. And it’s not that it’s fundamentally more difficult than imperative style (for loops etc.). It’s just a different way of thinking. People who learned FP from the beginning found imperative style difficult too.

But maybe this will help: https://www.coursera.org/learn/programming-languages the lecture videos are great (and short), they explain the functional concepts succinctly and precisely.

r/programming • comment
1 points • mlk

I can recommend the course on Coursera: https://www.coursera.org/learn/programming-languages

it's functional programming from scratch, part A in done in SML. I've learned a lot

r/programming • comment
1 points • yawaramin

Since an SML submission doesn't come up on the proggit front page all too often, I'll take this opportunity to plug my favourite MOOC, that uses SML to teach the basic concepts of strong, statically-typed functional programming: https://www.coursera.org/learn/programming-languages

I would say that the course lecture videos are really good (short too–about 10 mins each), so that even if you don't follow through on the other course materials even watching the videos will be beneficial because it will teach how to think in statically-typed FP semantics, which is a very useful (and influential–e.g. it gave rise to ReactJS and directly or indirectly influenced many modern languages) way to think about programming.

r/learnprogramming • comment
1 points • castleguar

I just finished Week2 of this course, just about every one of the exercise problems used recursion, I definitely felt myself expanding as I worked through the lesson. Not specific to python though.

https://www.coursera.org/learn/programming-languages?

r/opensource • comment
1 points • _3psilon_

Oh, boy, Racket... :) I tried it for this course, it was crazy. I didn't know that people actually use that outside of teaching (thought that Scheme is for production applications).

I actually program in Javascript/Typescript, and after this course I can't write anything without anonymous (lambda) functions and lodash. :D

r/programming • comment
1 points • Freyr90

Well, I do recall this course where the exercises for ruby were given in 2 or 3 versions for 2.6, 2.7 different ruby versions, but the funniest thing was that they didn't work due to the graphics library being broken on any Ruby implementation but JRuby.

There were no such problems with the other languages of the course, SML and Racket.

https://www.coursera.org/learn/programming-languages-part-c

r/scheme • comment
1 points • nikofeyn

yea, it's up to you. focusing is always good, but i feel the two things cover something so similar but it different ways, it's helpful.

once you finish, definitely follow up with the programming languages course. it's really fun. i just finished it this fall. https://www.coursera.org/learn/programming-languages

r/ProgrammingLanguages • comment
1 points • gilmi

IMO, https://www.coursera.org/learn/programming-languages

r/learnprogramming • comment
1 points • CodeCamping

https://www.coursera.org/learn/programming-languages

I didn't see a clear free option.

r/ocaml • comment
1 points • yawaramin

I'm a bit late, but my standard recommendation is to start here: https://www.coursera.org/learn/programming-languages

This course teaches Standard ML, which is a very close relative of OCaml and has all of its most important aspects, like static typing with type inference, the module system, and the emphasis on functional programming. What little syntactic differences there are, you can easily bridge that gap with a standard OCaml reference.

Prof. Dan Grossman is a fantastic teacher, who explains at just the right level between beginner and advanced, and throws in comparisons to other languages like Java and C. So I believe you'll find the course quite approachable. At the very least, check out the lecture videos; they're short and quite instructive.

r/programming • comment
1 points • bjzaba

I would say it's really important to start learning how to make the distinction between syntax and semantics, and work out how to recognise syntactic sugar - ie. how high level features can be transformed into simpler features. This will actually serve you really well in being able to pick up frameworks quickly as well, because often (for better or worse) they overlay their own domain-specific semantics over the language they are embedded in. A good course for learning this is Coursera's Programming Languages course.

r/fsharp • comment
1 points • yawaramin

Since this is a final-year subject, a little bit of Hindley-Milner type inference and unification would be great to cover. I would look to Prof. Dan Grossman's amazing course for inspiration (or even supplementary lecture videos).

r/C_Programming • comment
5 points • TheAwdacityOfSoap

What do you want to do? Knowing what you want to do with the language would help to narrow the choices down. If you're just interested in learning a language for its own sake, you could try:

  • Taking a course online that covers multiple languages, such as Programming Languages on Coursera: Part A (ML), Part B (Racket), Part C (Ruby).
  • Scheme (a lisp). I've heard great things about SICP, but I haven't read it, regretfully.
  • Python, as others have suggested, is very different from C and also very practical. It's a top language right now in industry, especially in data science and machine learning. I think it's still a major contender in server development as well.
  • Java. Lots of people hate it for some reason. I love Java. It's got its quirks, sure, but I get the warm and fuzzies every time I use it, and it's one of the top languages in use today. Lots of practical stuff you can do with Java. Write servers. Program robots. Create a Minecraft plugin or write your own game.
  • Rust. A very exciting up and coming languages. Has a lot of really nice features like compile time memory/thread safety guarantees, traits and an official package manager. It's a tough nut to crack at first (I'm still working on it myself), but it's really nice.
  • JavaScript. Say what you will, but JavaScript is one of the top languages in use today. Learning JavaScript opens up frontend web development as an option for you. If you want to make a website that doesn't just sit there looking pretty, you'll have to go down this road eventually. Like Java, JavaScript has its quirks too, but is overall an enjoyable experience to use if you ignore some features (like double equals, unless you really know what you're doing). Paired with TypeScript, it's actually a joy.

If you're feeling analysis paralysis, I'd go with Java if you want something practical, or Scheme if you want your mind blown.

r/cscareerquestions • comment
2 points • juniordevv

https://www.coursera.org/learn/programming-languages/home/welcome

​

this is a languages course, but focuses on using ML to teach FP fundamentals. i'm only 3 weeks in, but coming from an OOP background I think I'm learning a lot.

r/learnprogramming • comment
2 points • pmpforever

One of the best classes in my degree was one on programming languages, a formal exposure to declarative programming will change how you write code.

I'd recommend https://www.coursera.org/learn/programming-languages as the class I took was based on this course.

r/cscareerquestions • comment
2 points • TeslaRealm

Coursera has a three course programming languages module. Each course is taught in a different language to steer away from particular language paradigms and focus on concepts. I think the order is Racket, ML, then Ruby. Here is the link.
 

There's some good reading resources as well. Programming Languages: Application and Interpretation is what I used in my Uni programming languages class.
 

The course is specific to programming language design and might be more than you're looking for. You can also look for books about Scala, Racket, etc.

r/ProgrammingLanguages • comment
3 points • gilmi

The most approachable resources in my opinion are:

r/programming • post
0 points • davidk01
Programming Languages, Part A | Coursera
r/ocaml • comment
1 points • declarative

https://www.coursera.org/learn/programming-languages is another great resource, although the course (Part A of the course, to be more specific) is taught in SML, which is a dialect of OCaml. You can audit the course for free!

Part B and Part C of the course use Racket and Ruby respectively, and I'd recommend those, too.

r/haskellquestions • comment
1 points • crlsh

Maybe, try Standart ML first. https://www.coursera.org/learn/programming-languages is a good intro to compare paradigms