Git Product home page Git Product logo

juliaprogrammingfornervousbeginners's Introduction

Julia Programming for Nervous Beginners

A course for people who have never programmed and who are unsure whether they are suited to programming.

We are guided by three slogans:

  • Small Steps

  • No Gaps (Nothing Left Out)

  • Everything Makes Sense

Why Julia?

Mainly because we love it, but we also think that Julia is well suited to the very slow exposition we use. On this course, we want to be as explicit as possible (hence, the slogan "Nothing Left Out") and also as reasonable as possible ("Everything Makes Sense"). Julia allows one to write code that is easily understood but also powerful (in the sense of very few lines of code per useful outcome) AND it also allows one to write code that is very detailed (that is, you aren't forced to use high-level functions that cannot be inspected). This makes it easy to give simple examples -- note that our examples are primarily text rather than arithmetic -- while at times delving into details.

Of course, this ability to combine powerful and compact code with high levels of detailed programming is one of the reasons why Julia can be used for development as well as production. Put another way, it can be used for rapid prototyping and then deployed in very large projects with little or no change to the code. Perhaps, even more important is the high frequency of code re-use all over Julia, even across apparently unrelated projects, but that is an advanced topic beyond the scope of this course.

For now, the course consists of two sources: the video material on YouTube and the lesson notes in the Course Notes folder. Four weeks of lessons, one video and one pdf per lesson. Of course, you do not need to do the whole course in exactly four weeks; take more or less time, as you prefer or need to.

In due course, we also hope to make available exercises and other materials (assessments? ANKI decks?).

BEFORE YOU START

We are aware that nervous beginners might not be confident they can dive right in. To make sure that you are ready to start Lesson 1 of Week 1, we have included BeforeYouStartThisCourse.pdf here (that is, it is not part of Course Material) and of course it has a video also. Even if you are confidently ready to do this course, it would be a good idea to open the document (it's in the list at the top of this screen) as well as the video, so that you can see how we coordinate the text and the video presentations on this course.

COLLABORATION

We would love your participation (see IfYouWantToContribute subdirectory). If you have any suggestions, just submit a pull request!

juliaprogrammingfornervousbeginners's People

Contributors

giorgi-tsu avatar henrilaurie avatar logankilpatrick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

juliaprogrammingfornervousbeginners's Issues

More timestamping

Sorry about this, adding to the task list didn't go well, decided to make a new list.

  • Lesson 0
  • Lesson 1, week 2
  • Lesson 2, week 2
  • Lesson 3, week 2
  • Lesson 4, week 2
  • Lesson 5, week 2
  • Lesson 6, week 2
  • Lesson 1, week 3
  • Lesson 2, week 3
  • Lesson 3, week 3
  • Lesson 4, week 3
  • Lesson 5, week 3
  • Lesson 1, week 4
  • Lesson 2, week 4
  • Lesson 3, week 4
  • Lesson 4, week 4

Typo in lecture 2 of week 1

There is a typo in subsection called Line 1 is a valid Julia expression

At the end of page 4 in the note there is written the following paragraph:

"Finally, let’s note that some parts of line 1 would by themselves be valid code, namely the name and the value. A valid expression can be part some larger valid expression."

Actually, the name (mystringexample1) only from line 1 (mystringexample1 = "Hello, world") is not a valid expression hence is not a valid code. Why? because if you type on the name without the equal sign at the REPL and hit enter you receive:

ERROR: UndefVarError: mystringexample1 not defined.

P.S. This is not the case in video as in the video instructor mentions that only string alone can be a valid code which is true.

A schedule for adding the YouTube video timestamps

@logankilpatrick, I'm not sure this is the best place, but I feel we need a task list somewhere, as the timestamps get done

  • Lesson 1, week 1
  • Lesson 2, week 1
  • Lesson 3, week 1
  • Lesson 4, week 1
  • Lesson 5, week 1
  • Lesson 6, week 1
  • Lesson 7, week 1
  • Lesson 8, week 1
  • Lesson 9, week 1

Nearly done, these videos only need to have the 00:00 timestamp added. DONE!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.