Skip to content

Commit

Permalink
Updated the program
Browse files Browse the repository at this point in the history
  • Loading branch information
olekscode committed Dec 4, 2024
1 parent 28220a5 commit a3fccda
Showing 1 changed file with 31 additions and 61 deletions.
92 changes: 31 additions & 61 deletions website/program.html
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,7 @@
"height": 667
},
"datePublished": "2024-11-14",
"keywords": "pharo, summer school, winter school,
object-oriented programming, programming, live programming,
learn programming"
"keywords": "pharo, summer school, winter school, object-oriented programming, programming, live programming, learn programming"
}
</script>

Expand Down Expand Up @@ -98,90 +96,62 @@
<main>
<h1><span style="color: var(--color-dark-gray)">isLoop 2025</span> Program</h1>

<h2>Day 1: Pharo in one Day</h2>
<h2>Day 1: Introduction to Pharo</h2>

<p>During this day you will learn the survival kit to code in Pharo.
<p>During this day, you will learn the survival kit to code in Pharo.
You will learn the syntax and the main tools to code and publish code.
After that day you will be able to code in Pharo. Yes the syntax fits
in half of a postcard.</p>

<ul>
<li>Basics of Pharo programming</li>
<li>Discover and experience eXTreme Test Driven Design</li>
<li>Hands-on with ProfStef</li>
<li>Understand the key tools for coding, debugging, inspecting and
publishing code</li>
<li>Hands on: coding the counter</li>
<li>Pharo syntax</li>
<li>Pharo environment</li>
<li>Development tools: Playground, Inspector, System Browser</li>
<li>Live Debugger</li>
<li>Basics of object-oriented programming</li>
</ul>

<h2>Day 2: Crafting user interfaces</h2>
<h2>Day 2: Testing and Good Practices</h2>

<p>During this day you will learn how to define user interfaces using
the Spec UI builder framework. We will also show you how to extend
tools to shape them to your own needs. We will also build a simple
web server in a couple of pages to revisit the Pharo syntax. You will
see how you can build nontrivial programs in an immersed way by
interacting with life objects.</p>
<p>You will learn how to verify your application with unit tests. We will also teach you the practice of test-driven development (TDD) which means that you start by writing tests and then write the code to make them pass. Using the unique features of Pharo, you will learn a very powerful practice of extreme test-driven development, which means that you will write your code inside a debugger. You will also learn some advance practices of object-oriented programming such as design patterns, as well as the good practices from experienced Pharo developers.</p>

<ul>
<li>Simple tour of Spec</li>
<li>Build a little App with Spec todo App in 15 min</li>
<li>Tools are shaping your mind: Define your own tool. Extend the
environment Graph inspector</li>
<li>Revisit the syntax building a web server</li>
<li>Writing unit tests in Pharo</li>
<li>Test-driven development (TDD)</li>
<li>Extreme TDD</li>
<li>Design patterns</li>
<li>Good programming practices</li>
</ul>

<h2>Day 3: Scientific computing in Pharo</h2>
<h2>Day 3: Building user interfaces with Spec</h2>

<p>During this day we will focus on scientific computing tools in Pharo
and explore their live object-oriented aspects. You will learn libraries
such as DataFrame, PolyMath, Pharo-AI, and Cormas. We will also show how
you can create live interactive data visualizations using
<a href="http://agilevisualization.com" target="_blank" rel="noopener"
>Roassal</a> visualization engine.</p>
<p>During this day, you will learn how to define user interfaces using
the Spec UI builder framework.</p>

<ul>
<li>Pharo for the scientists</li>
<li>Data analysis with Data Frame</li>
<li>Machine learning with Pharo-AI</li>
<li>TeaLight and machine learning: you will connect a web server to
machine learning</li>
<li>Agent-based modelling with Cormas</li>
<li>Using live visualization scripting of
<a href="http://agilevisualization.com" target="_blank"
rel="noopener">Roassal</a> to script interactive visualization</li>
<li>Introduction to Spec UI library</li>
<li>Basic presenters: buttons, checkboxes, dropdowns, etc.</li>
<li>Spec layouts</li>
<li>Dynamic UI</li>
<li>Testing Spec presenters</li>
</ul>

<h2>Day 4: Object-oriented Design and Software Engineering</h2>
<h2>Day 4: Guided individual projects</h2>

<p>During this day you will rethink your OO understanding. At the end of
this day, you will not think or program object-oriented the same way.
Experts in object-oriented design will give you keys that will change
how you will code in any object-oriented language in the future. We
will also present advanced software engineering techniques. Finally,
we will show you how we can script VLC from Pharo using native
calls.</p>
<p>We believe in learning by doing, which is why the last two days of our summer school are reserved for the individual projects. You will implement your own simple applications with user interface and we will guide you in this process.</p>

<ul>
<li>Rethink your OOP skills: Understand late binding for real</li>
<li>Advanced Tools: Automatic Rewriting, Refactorings, Finder</li>
<li>Scripting VLC from Pharo</li>
<li>Lapack binding: how to get the full power of Fortran libraries
but with the coolness of Pharo</li>
<li>Develop your own application</li>
<li>Create user interface for your app</li>
</ul>

<h2>Day 5: Code Analysis</h2>
<h2>Day 5: Guided individual projects</h2>

<p>During this day we will present the
<a href="http://http://modularMoose.org" target="_blank"
rel="noopener">Moose</a> is a powerful platform to define and apply
software analyses.</p>
<p>In the morning, you will have some time to finish up your application and prepare a live demo. In the afternoon, you will present your app to the fellow students and get their feedback.</p>

<ul>
<li>You will define a meta-model to represent commits, files,
and authors</li>
<li>You will define specific visualizations in Roassal to display
information</li>
<li>Finishing up the project</li>
<li>Project demos (show your app to everyone!)</li>
</ul>

</main>
Expand Down

0 comments on commit a3fccda

Please sign in to comment.