2016-06-22 20:42:05 +02:00
|
|
|
|
- title! "Web Development teaching method"
|
|
|
|
|
- description! "Web Dev Camp has 4 modules of 2 weeks. introduction, communication, presentation to mastery"
|
|
|
|
|
|
2016-11-24 16:43:09 +01:00
|
|
|
|
.section.minitron
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.contain
|
2016-11-24 16:43:09 +01:00
|
|
|
|
%h1 Web Application Development
|
|
|
|
|
%p.lead.centered Learn much more than just programming
|
|
|
|
|
|
|
|
|
|
.section.minitron
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.pic
|
|
|
|
|
=image_tag "coder.jpg"
|
|
|
|
|
.content
|
|
|
|
|
%h2 Programming
|
|
|
|
|
%p.lead Technical skill is the start
|
|
|
|
|
%hr.my-2/
|
|
|
|
|
.topics
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Languages
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
2016-11-25 22:49:47 +01:00
|
|
|
|
%li.icon-angle-right Ruby, JavaScript
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%li.icon-angle-right Html, Haml
|
|
|
|
|
%li.icon-angle-right Css, Sass
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Web technologies
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Client/Server
|
|
|
|
|
%li.icon-angle-right cloud services
|
|
|
|
|
%li.icon-angle-right Ip/dns/http
|
2016-11-24 11:47:46 +01:00
|
|
|
|
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Frameworks
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Rails
|
|
|
|
|
%li.icon-angle-right Bootstrap
|
|
|
|
|
%li.icon-angle-right Rspec
|
2016-11-24 11:47:46 +01:00
|
|
|
|
|
2016-11-24 16:43:09 +01:00
|
|
|
|
.section.minitron
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.content
|
|
|
|
|
%h2 Teamwork
|
|
|
|
|
%p.lead Together we get things done
|
|
|
|
|
%hr.my-2/
|
|
|
|
|
.topics
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Roles
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Frontend
|
|
|
|
|
%li.icon-angle-right Backend
|
|
|
|
|
%li.icon-angle-right Designer etc
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Source Control
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Git basics
|
|
|
|
|
%li.icon-angle-right Github
|
|
|
|
|
%li.icon-angle-right Branches
|
2016-06-23 14:48:08 +02:00
|
|
|
|
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Workflow
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Distributed flow
|
|
|
|
|
%li.icon-angle-right Test Driven
|
|
|
|
|
%li.icon-angle-right Continuous Deployment
|
|
|
|
|
.pic{style: "margin-left: 5%; margin-right: 0px;"}
|
|
|
|
|
=image_tag "together.jpg"
|
2016-11-24 16:43:09 +01:00
|
|
|
|
.section.minitron
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.pic
|
|
|
|
|
=image_tag "application.png"
|
|
|
|
|
.content
|
|
|
|
|
%h2 Excecution
|
|
|
|
|
%p.lead Putting it all together in real applications
|
|
|
|
|
%hr.my-2/
|
|
|
|
|
.topics
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Planning
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right UML
|
|
|
|
|
%li.icon-angle-right Brainstorming
|
|
|
|
|
%li.icon-angle-right UI Design
|
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Development
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right TDD frameworks
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%li.icon-angle-right Test cycles
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%li.icon-angle-right CI testing
|
2016-06-23 14:48:08 +02:00
|
|
|
|
|
2016-11-25 10:59:11 +01:00
|
|
|
|
.topic
|
2016-11-25 16:03:09 +01:00
|
|
|
|
%h3 Deployment
|
2016-11-25 10:59:11 +01:00
|
|
|
|
%ul.list-unstyled
|
|
|
|
|
%li.icon-angle-right Distributed flow
|
|
|
|
|
%li.icon-angle-right Test Driven
|
|
|
|
|
%li.icon-angle-right Continuous
|
2016-06-23 14:48:08 +02:00
|
|
|
|
|
2016-11-25 16:03:09 +01:00
|
|
|
|
.section.schedule-container
|
|
|
|
|
.schedule
|
|
|
|
|
%ul
|
|
|
|
|
%li
|
|
|
|
|
.empty
|
|
|
|
|
.task
|
|
|
|
|
%h1 Daily Schedule
|
|
|
|
|
.full-time Lesson
|
|
|
|
|
.free Break
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.5
|
|
|
|
|
.task Theory Lesson
|
|
|
|
|
.full-time 9:00 - 10:30
|
|
|
|
|
.free 30
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.5
|
|
|
|
|
.task Student Presentations
|
|
|
|
|
.full-time 11:00 - 12:30
|
|
|
|
|
.free 75
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.0
|
|
|
|
|
.task Work assignments, tutored
|
|
|
|
|
.full-time 13:45 - 14:45
|
|
|
|
|
.free 15
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.0
|
|
|
|
|
.task Group work, explanations
|
|
|
|
|
.full-time 15:00 - 16:00
|
|
|
|
|
.free 30
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.0
|
|
|
|
|
.task Work assignments, tutored
|
|
|
|
|
.full-time 16:30 - 17:30
|
|
|
|
|
.free 60
|
|
|
|
|
%li
|
|
|
|
|
.hour 1.0
|
|
|
|
|
.task Independent work
|
|
|
|
|
.full-time evening
|
|
|
|
|
.free
|
|
|
|
|
.pic
|
|
|
|
|
=image_tag "schedule.jpg"
|
|
|
|
|
|
2016-11-06 15:37:25 +01:00
|
|
|
|
.section
|
2016-11-25 13:25:16 +01:00
|
|
|
|
.modules
|
|
|
|
|
.head
|
|
|
|
|
%h1.centered
|
2016-11-06 15:37:25 +01:00
|
|
|
|
Modules
|
2016-11-07 08:25:35 +01:00
|
|
|
|
%p.tipster.centered.margin-bottom-30
|
2016-11-06 15:37:25 +01:00
|
|
|
|
Every two weeks we cover the fundamental topics, while going deeper with each iteration.
|
2016-11-25 13:25:16 +01:00
|
|
|
|
= pie 75
|
2016-11-06 15:37:25 +01:00
|
|
|
|
%span.content
|
|
|
|
|
Use hover or click on the topics to get more info
|
2016-11-25 13:25:16 +01:00
|
|
|
|
.module
|
|
|
|
|
.centered
|
|
|
|
|
=pie(25)
|
|
|
|
|
%h2 Introduction
|
|
|
|
|
%p
|
2016-11-25 16:03:09 +01:00
|
|
|
|
Initial theory lessons happen in small groups where you will be able to ask questions immediately.
|
2016-11-25 13:25:16 +01:00
|
|
|
|
You will be building useful apps for real people throughout the course.
|
|
|
|
|
%p
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-html5
|
|
|
|
|
Basic box model
|
|
|
|
|
%span.content
|
|
|
|
|
Boxes in boxes is a simple way to think about html. You'll learn a little about it's
|
|
|
|
|
initial shortcomings and current standards.
|
|
|
|
|
%br
|
|
|
|
|
We introduce
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "Haml" , "http://haml.info/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
as a shorter, more concise and error free way of writing correct html.
|
|
|
|
|
%br
|
|
|
|
|
Also you'll learn about the type of boxes and how they can be arranged, in other
|
|
|
|
|
words the connection to css.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-css3
|
|
|
|
|
Style basics
|
|
|
|
|
%span.content
|
|
|
|
|
If we think of html elements as boxes, then we can think of css as labels on these
|
|
|
|
|
boxes. The label describes the box and importantly there is a finite number of
|
|
|
|
|
labels.
|
|
|
|
|
%br
|
|
|
|
|
This is the basic distinction between content and style. Over the course you will
|
|
|
|
|
learn more and more about the myriad of ways css can be used. Similar to Haml,
|
2016-11-30 15:07:02 +01:00
|
|
|
|
=ext_link "Sass" , "http://sass-lang.com/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
is a shorthand and more semantic (but equivalent) way of writing css.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-file-code
|
|
|
|
|
Object model
|
|
|
|
|
%span.content
|
|
|
|
|
We are physical beings, and are well trained to think in terms of innate "things"
|
|
|
|
|
having given properties. In one of the easiest to understand ways of programming
|
|
|
|
|
we call the things object and their properties attributes.
|
|
|
|
|
%br
|
|
|
|
|
You will learn basic concepts of object oriented programming in Ruby, which is very
|
|
|
|
|
thorough in it's approach to treating everything as an object, and the concept of
|
|
|
|
|
class. We will see how procedural code (think cooking recipes) slot nicely into
|
|
|
|
|
this model as methods.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-github
|
|
|
|
|
Roles
|
|
|
|
|
%span.content
|
2016-11-25 16:03:09 +01:00
|
|
|
|
Software Development is all about teamwork. Even tools have got much better, so have timetables
|
2016-11-25 13:25:16 +01:00
|
|
|
|
shrunk. In any meaningful project we rely on other people's strengths to achieve a goal.
|
|
|
|
|
We will talk about the different roles and skills people have, not just to see
|
|
|
|
|
what a software developer is, but also to open the scope of possibilities for your
|
|
|
|
|
future career. People are best at what they enjoy and a large part of the course is
|
|
|
|
|
finding out what you are good at.
|
|
|
|
|
%br
|
|
|
|
|
Also projects are heavily dependent on often open source libraries, tools and
|
|
|
|
|
frameworks. The first of which are your os, editor, command-line and browser.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-database
|
|
|
|
|
Object table model
|
|
|
|
|
%span.content
|
|
|
|
|
SQL databases are a ubiquitous, well understood and efficient way to store data. The
|
|
|
|
|
standard way of storing objects, maps classes to a tables and rows to objects.
|
|
|
|
|
%br
|
|
|
|
|
You will learn how this object table model is implemented in rails, or rather active
|
|
|
|
|
record and try out the tools that come with it. We also talk a little bit about
|
|
|
|
|
alternatives.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-ok
|
|
|
|
|
Testing as assurance
|
|
|
|
|
%span.content
|
|
|
|
|
Testing has been more of a nice idea in software engineering for a long time, before
|
|
|
|
|
finally, and especially in the ruby community, becoming a reality.
|
|
|
|
|
%br
|
|
|
|
|
There really is no other way to know that the software we write does what we intend
|
|
|
|
|
it to do, as you will be able to experience yourself very quickly.
|
|
|
|
|
%br
|
|
|
|
|
You will learn different types of testing and we will touch on frameworks and test
|
|
|
|
|
integration.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
|
2016-11-25 13:25:16 +01:00
|
|
|
|
.module
|
|
|
|
|
.centered
|
|
|
|
|
=pie(50)
|
|
|
|
|
%h2 Communication
|
|
|
|
|
%p
|
|
|
|
|
You will be assigned a younger student to whom you’ll explain the topic.
|
|
|
|
|
You will notice that to achieve the clarity needed to express yourself,
|
|
|
|
|
you will need to study yourself.
|
|
|
|
|
%p
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-html5
|
|
|
|
|
Dynamic html generation
|
|
|
|
|
%span.content
|
|
|
|
|
Here you learn a little more about the DOM and and how it can be used to create
|
|
|
|
|
simple dynamic pages, eg endless scrolling.
|
|
|
|
|
%br
|
|
|
|
|
We use existing tools and server side responses to generate html on the client.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
|
2016-11-25 13:25:16 +01:00
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-css3
|
|
|
|
|
Semantic css / susy
|
|
|
|
|
%span.content
|
|
|
|
|
Reviewing bootstrap html code we will see that it does not adhere to the content/style
|
|
|
|
|
separation we learned. To do it right, we introduce the concept of semantic css. This
|
|
|
|
|
gives meaningful names to our styles and lets them build ourselves.
|
|
|
|
|
%br
|
|
|
|
|
You'll earn
|
2016-11-30 17:55:35 +01:00
|
|
|
|
= ext_link "Susy" , "http://susy.oddbird.net/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
and how to build your own grid system.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-file-code
|
|
|
|
|
Concurrency and closures
|
|
|
|
|
%span.content
|
|
|
|
|
Concurrency, several or even many things happening at the same time, has been a
|
|
|
|
|
difficult topic up to quite recently. You will learn better concurrency models like
|
|
|
|
|
the actor model and channels. Especially actors are easy to understand and reason
|
|
|
|
|
about since they just extend the object model to "active" objects.
|
|
|
|
|
%br
|
|
|
|
|
When a piece of code is passed of to another part of the program to be executed later,
|
|
|
|
|
one talk of closures, and we will see the somewhat different light this shed on
|
|
|
|
|
variable lifetime.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-github
|
|
|
|
|
Advanced git
|
|
|
|
|
%span.content
|
|
|
|
|
After having gained some hands on experience, you will understand the problems better
|
|
|
|
|
and so we will go into more advanced usage of git.
|
|
|
|
|
%br
|
|
|
|
|
This will give you a glimpse into how large project are run, both in the open source
|
|
|
|
|
world and in companies. After the theory you may choose to deepen this part or not,
|
|
|
|
|
since in larger projects this is usually a separate role.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-database
|
|
|
|
|
Searching
|
|
|
|
|
%span.content
|
|
|
|
|
Going deeper into how to find objects in the database we learn about scopes, some
|
|
|
|
|
simple sql clauses and how to actually use sql in queries.
|
|
|
|
|
%br
|
|
|
|
|
You will learn the tools to build complex search interfaces and use pagination
|
|
|
|
|
on the results.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-ok
|
|
|
|
|
Continuous testing
|
|
|
|
|
%span.content
|
|
|
|
|
The next step will be to integrate our test fully into our workflow. This simply means
|
|
|
|
|
that no work should be accepted before adequate test are written and fixing bugs
|
|
|
|
|
should always start by writing test.
|
|
|
|
|
%br
|
|
|
|
|
To make the should a reality we make testing automatic both for the developer, and
|
|
|
|
|
for the current state of the committed source (in git). We will see the tools needed
|
|
|
|
|
to alert us directly of any shortcomings.
|
|
|
|
|
|
|
|
|
|
.module
|
|
|
|
|
.centered
|
|
|
|
|
= pie(75)
|
|
|
|
|
%h2 Presentation
|
|
|
|
|
%p
|
|
|
|
|
You will give 2 presentations on your chosen topics (group and solo).
|
|
|
|
|
|
|
|
|
|
Presentations are a practical demonstration of the work you will have completed,
|
|
|
|
|
and will provide you further insight for future learning.
|
|
|
|
|
%p
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-html5
|
|
|
|
|
Dom, the api for Html
|
|
|
|
|
%span.content
|
|
|
|
|
The Document Object Model (
|
2016-11-30 15:07:02 +01:00
|
|
|
|
=ext_link "DOM", "http://www.w3schools.com/js/js_htmldom.asp"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
) gives us a programmatic interface to the rendered
|
|
|
|
|
content. While html describes the static structure and a transport mechanism, the dom
|
|
|
|
|
gives us a way to programmatically create, update and delete arbitrary nodes.
|
|
|
|
|
%br
|
|
|
|
|
This is the foundation for the modern web and client side applications.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-css3
|
|
|
|
|
Bootstrap / Frameworks
|
|
|
|
|
%span.content
|
|
|
|
|
As in other language, css has libraries and frameworks that we can reuse. A modern
|
|
|
|
|
framework like Bootstrap or Foundation will not only make the basic html "look good".
|
|
|
|
|
%br
|
|
|
|
|
You will also learn about standard elements, eg modern navigation, menus, dropdowns,
|
|
|
|
|
callouts, buttons and many more. you'll see how a grid system works and how eg
|
|
|
|
|
bootstrap solves the multi-device issue.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-file-code
|
|
|
|
|
Associations and structures
|
|
|
|
|
%span.content
|
|
|
|
|
Objects are great at modeling single entities, but in programs we need to model large
|
|
|
|
|
system, invariably containing many objects.
|
|
|
|
|
%br
|
|
|
|
|
You will learn about different data structures and their different properties. Like
|
|
|
|
|
how they are accessed, how they store data and which are good for what purpose.
|
|
|
|
|
%br
|
|
|
|
|
We will theoretically brush on O(n) and practically experiment with access and
|
|
|
|
|
iteration.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-github
|
|
|
|
|
Git basics
|
|
|
|
|
%span.content
|
|
|
|
|
The sharing of code has always been very important but never as easy and efficient as
|
|
|
|
|
today, with git. Even more, online sharing sites like
|
2016-11-30 15:07:02 +01:00
|
|
|
|
=ext_link "github.com", "https://github.com"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
fuel open source community by sharing publicly and across projects.
|
|
|
|
|
%br
|
|
|
|
|
You'll learn the basic workflow and will practice this in your own projects.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-database
|
|
|
|
|
Associations
|
|
|
|
|
%span.content
|
|
|
|
|
In the same way we need structures for programming, we need associations in databases.
|
|
|
|
|
You'll learn how associations are implemented and how they relate to the structures
|
|
|
|
|
we have learned in the programming sessions.
|
|
|
|
|
%br
|
|
|
|
|
We see how associations are implemented as in rails by using metaprogramming
|
|
|
|
|
techniques to create a very intuitive api.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-ok
|
|
|
|
|
Rspec framework
|
|
|
|
|
%span.content
|
|
|
|
|
In the second module we will concentrate on exploring and using RSpec, a commonly
|
|
|
|
|
used testing framework. We will be writing different tests and use supporting tools
|
|
|
|
|
for creating mock object, managing database "cleanliness" and interacting with the
|
|
|
|
|
application as if our test were a user.
|
|
|
|
|
|
|
|
|
|
.module
|
|
|
|
|
.centered
|
|
|
|
|
= pie 101
|
|
|
|
|
%h2 Mastery
|
|
|
|
|
%p
|
|
|
|
|
You can choose your final assignment according to your interests and previous work.
|
|
|
|
|
You will work in a group on a final project to show mastery of the topic.
|
|
|
|
|
%p
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-html5
|
|
|
|
|
Client side applications
|
|
|
|
|
%span.content
|
|
|
|
|
Going further into client side api's and cross compilation we examine languages
|
|
|
|
|
that can be used instead of using JavaScript directly, specifically
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "coffee script" , "http://coffeescript.org/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
and
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "opal" , "http://opalrb.org/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
%br
|
|
|
|
|
We will look at evolving tools to write client side applications, like
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "volt" , "http://voltframework.com"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
,
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "clearwater" , "https://github.com/clearwater-rb/clearwater"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
and
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "webix" , "http://opalphaser.com/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
You will also have an opportunity to look at pure JavaScript frameworks like
|
|
|
|
|
Angular, Ember, and Backbone.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-css3
|
|
|
|
|
Mobile first, breakpoints
|
|
|
|
|
%span.content
|
|
|
|
|
While learning about Bootstrap, we touched on the multi-device concept and now go
|
2016-11-25 16:03:09 +01:00
|
|
|
|
deeper into mobile first Development. You'll learn what
|
2016-11-30 15:07:02 +01:00
|
|
|
|
= ext_link "Breakpoints" , "http://breakpoint-sass.com/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
are and how to implement one design that can be viewed on multiple devices.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-file-code
|
|
|
|
|
Other languages
|
|
|
|
|
%span.content
|
|
|
|
|
Ruby is off course just one of many languages and since by the seventh week you will
|
|
|
|
|
have learned enough about it, we can start comparing it to other languages. Some of
|
|
|
|
|
which are similar, some strange, some very different.
|
|
|
|
|
%br
|
|
|
|
|
Off course we will also cover JavaScript basics and ways to avoid some of JavaScripts
|
|
|
|
|
strangeness by using languages that compile to JavaScript.
|
|
|
|
|
%br
|
|
|
|
|
You may also choose to learn a completely different language at this point, eg
|
2016-11-30 17:36:53 +01:00
|
|
|
|
= ext_link "Go" , "https://golang.org/"
|
2016-11-25 13:25:16 +01:00
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-github
|
|
|
|
|
Communication skills
|
|
|
|
|
%span.content
|
|
|
|
|
Off course code is by far not the only way developers communicate and so we will
|
|
|
|
|
go into the importance of both communicating precisely both in documentation
|
|
|
|
|
and presentation.
|
|
|
|
|
%br
|
|
|
|
|
We will practice both areas and learn some modeling visualization on the way.
|
|
|
|
|
%br
|
|
|
|
|
Also we debunk the common misconception that open source means that ownership is
|
|
|
|
|
not important. This is especially important when wanting to collaborate in open
|
|
|
|
|
source projects, which you have a chance to.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-database
|
|
|
|
|
Performance, NoSql
|
|
|
|
|
%span.content
|
|
|
|
|
We briefly look at database and application performance. The ways to scale, optimize
|
|
|
|
|
and benchmark. This is an advanced topic, but you will learn to understand the issues.
|
|
|
|
|
%br
|
|
|
|
|
Finally we will explore the alternatives a little, so called NoSql, the concept of
|
|
|
|
|
graph, object or document databases and possible uses.
|
|
|
|
|
%br
|
|
|
|
|
%span.tipster
|
|
|
|
|
%i.ico-color.ico-xxs.ico-rounded.ico-hover.fa.icon-ok
|
|
|
|
|
Client side testing
|
|
|
|
|
%span.content
|
|
|
|
|
Client side testing, like client side applications, is still quite young. But progress
|
|
|
|
|
has been made and especially with the ruby tools we will see how.
|
|
|
|
|
%br
|
|
|
|
|
At the same time we will go into more depth on testing JavaScript enhanced web sites
|
|
|
|
|
like the ones we will be building in this last module of the course.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
|
2016-11-06 15:37:25 +01:00
|
|
|
|
.section
|
2016-06-22 20:42:05 +02:00
|
|
|
|
.container
|
2016-06-23 14:48:08 +02:00
|
|
|
|
.row
|
2016-11-06 15:37:25 +01:00
|
|
|
|
%header.centered.margin-bottom-30
|
2016-06-23 14:48:08 +02:00
|
|
|
|
%h1#teachers
|
|
|
|
|
Teachers
|
2016-11-06 15:37:25 +01:00
|
|
|
|
%p.centered.margin-bottom-30
|
2016-08-23 15:23:55 +02:00
|
|
|
|
Web Dev Camp's teachers have
|
2016-06-23 14:48:08 +02:00
|
|
|
|
%b decades of experience
|
|
|
|
|
and started the camp
|
|
|
|
|
in an endeavor to increase
|
|
|
|
|
%b diversity in tech
|
|
|
|
|
and
|
|
|
|
|
%b change the way we learn.
|
2016-11-06 15:37:25 +01:00
|
|
|
|
.row.box-icon-large.centered
|
2016-06-22 20:42:05 +02:00
|
|
|
|
.col-md-4.col-sm-6.flip-container.margin-bottom-20{:ontouchstart => "this.classList.toggle('hover');"}
|
|
|
|
|
.flipper
|
|
|
|
|
.frontt.box-default
|
|
|
|
|
.box-icon-title
|
2016-11-23 00:15:51 +01:00
|
|
|
|
= image_tag "people/torsten.png"
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%h2 Torsten Ruger
|
2016-11-20 23:05:13 +01:00
|
|
|
|
%small Course Director / Teacher
|
2016-06-22 20:42:05 +02:00
|
|
|
|
.backk.box-default
|
|
|
|
|
%h4.nomargin Torsten Ruger
|
2016-11-20 23:05:13 +01:00
|
|
|
|
%small Course Director / Teacher
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%hr/
|
|
|
|
|
%p
|
|
|
|
|
Torsten has worked for 25 years as a professional web programmer before starting
|
|
|
|
|
Web Dev Camp in an endeavor to share his experience.
|
|
|
|
|
%br
|
|
|
|
|
Torsten has programmed in many different languages, used many different standards,
|
2016-08-23 15:23:55 +02:00
|
|
|
|
led teams and architected systems, but always found that learning and working with
|
2016-06-22 20:42:05 +02:00
|
|
|
|
people was what he enjoyed most about his profession.
|
|
|
|
|
%hr/
|
|
|
|
|
= social_link( "https://github.com/dancinglightning" , "github" ) do
|
|
|
|
|
%i.fa.icon-github
|
2017-08-25 22:54:31 +02:00
|
|
|
|
= social_link( "https://medium.com/@torsten_webdev" , "medium" ) do
|
|
|
|
|
=image_tag "logos/medium.png"
|
|
|
|
|
= social_link( "https://www.linkedin.com/in/torsten-ruger-4667a3132/" , "linkedin" ) do
|
|
|
|
|
%i.fa.icon-linkedin
|
2016-06-22 20:42:05 +02:00
|
|
|
|
.col-md-4.col-sm-6.flip-container.margin-bottom-20{:ontouchstart => "this.classList.toggle('hover');"}
|
|
|
|
|
.flipper
|
|
|
|
|
.frontt.box-default
|
|
|
|
|
.box-icon-title
|
2016-11-23 00:15:51 +01:00
|
|
|
|
=image_tag "people/sherif.png"
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%h2 Sherif Abushadi
|
|
|
|
|
%small Director / Teacher
|
|
|
|
|
.backk.box-default
|
|
|
|
|
%h4.nomargin Sherif Abushadi
|
|
|
|
|
%small Director / Teacher
|
|
|
|
|
%hr/
|
|
|
|
|
%p
|
2016-08-23 15:23:55 +02:00
|
|
|
|
Sherif has been teaching developers since 2001. For the last four years he has been teaching
|
|
|
|
|
at Dev Bootcamp in San Francisco.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%br
|
2016-08-23 15:23:55 +02:00
|
|
|
|
He brought his experience to bear in building the school, its course and curriculum.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%br
|
2016-08-23 15:23:55 +02:00
|
|
|
|
He also teaches part-time at Web Dev Camp
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%hr/
|
|
|
|
|
= social_link( "https://twitter.com/amgando" , "twitter" ) do
|
|
|
|
|
%i.fa.icon-twitter
|
|
|
|
|
= social_link( "https://github.com/amgando" , "github" ) do
|
|
|
|
|
%i.fa.icon-github
|
|
|
|
|
= social_link( "https://www.linkedin.com/in/sherifabushadi" , "linkedin" ) do
|
|
|
|
|
%i.fa.icon-linkedin
|
|
|
|
|
.col-md-4.col-sm-6.flip-container{:ontouchstart => "this.classList.toggle('hover');"}
|
|
|
|
|
.flipper
|
|
|
|
|
.frontt.box-default
|
|
|
|
|
.box-icon-title
|
2016-11-23 00:15:51 +01:00
|
|
|
|
=image_tag "people/raisa.jpg"
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%h2 Raisa Kaipainen
|
|
|
|
|
%small Camp director
|
|
|
|
|
.backk.box-default
|
|
|
|
|
%h4.nomargin Raisa Kaipainen
|
|
|
|
|
%small Camp Director
|
|
|
|
|
%hr/
|
|
|
|
|
%p
|
2016-08-23 15:23:55 +02:00
|
|
|
|
Raisa has been running workshops and courses for 25 years. She is in charge of
|
|
|
|
|
organizing and running the camp.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
%br
|
2016-08-23 15:23:55 +02:00
|
|
|
|
Raisa has excellent people skills and is always a good person to talk to or
|
|
|
|
|
come to for advice.
|
2016-06-22 20:42:05 +02:00
|
|
|
|
|
|
|
|
|
%hr/
|
|
|
|
|
= social_link( "https://www.facebook.com/RaisaAndTorsten" , "facebook" ) do
|
|
|
|
|
%i.fa.icon-facebook
|
|
|
|
|
= social_link( "https://soundcloud.com/raisa-andtorsten-kaipainen" , "soundcloud" ) do
|
|
|
|
|
%i.fa.icon-soundcloud
|
2017-08-25 22:54:31 +02:00
|
|
|
|
= social_link( "https://www.linkedin.com/in/raisa-kaipainen-597205148/" , "linkedin" ) do
|
|
|
|
|
%i.fa.icon-linkedin
|
2016-06-22 22:44:15 +02:00
|
|
|
|
.row
|
2016-11-06 15:37:25 +01:00
|
|
|
|
.col-md-12.centered
|
2016-11-30 17:36:53 +01:00
|
|
|
|
%h4
|
|
|
|
|
Next courses
|
|
|
|
|
= course_select.collect { |course , id| course}.join(" / ")
|
|
|
|
|
.action
|
2018-04-21 18:33:42 +02:00
|
|
|
|
=link_to "Closed now", new_user_registration_path , class: "btn btn-success btn-lg"
|