Skip to content

Commit

Permalink
Add basic information for module, more to come
Browse files Browse the repository at this point in the history
Fix punctuation

Reformat descriptions, fix typos

Substitute all occurrences of ’ with '
  • Loading branch information
sglavoie committed Mar 31, 2019
1 parent 5151c81 commit dd06fc9
Show file tree
Hide file tree
Showing 26 changed files with 453 additions and 604 deletions.
6 changes: 3 additions & 3 deletions modules/level_4/algorithms_and_data_structures_i/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
# Algorithms and Data Structures I
This module will help you to develop your analytical and problem-solving
skills. It will encourage you to think about how to use computers to
solve problems. Youll develop skills in thinking algorithmically
solve problems. You'll develop skills in thinking algorithmically
and learn the central concepts of algorithms and data structures. You
will learn about linear data structures such as arrays, vectors and
lists and a unifying framework for considering such data structures
as collections. Youll study how algorithms can be expressed as
as collections. You'll study how algorithms can be expressed as
flowcharts and pseudocode and how to convert these into programs.
Youll learn specific algorithms used for sorting and searching,
You'll learn specific algorithms used for sorting and searching,
and how to express repetition as iteration and recursion. You will
learn a simple model for execution of computation, and how to describe
computational problems and their solutions. The model will allow you
Expand Down
14 changes: 6 additions & 8 deletions modules/level_4/discrete_mathematics/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Discrete Mathematics
This module helps hone your skills in thinking
abstractly. It also introduces you to many of the
discrete models used to help understand and
design computational systems. Through this
module, you’ll develop the fundamental discrete
mathematical tools that will support you during the
BSc degree. Particular attention is paid to notions
of experimentation, reasoning and generalisation.
This module helps hone your skills in thinking abstractly. It also
introduces you to many of the discrete models used to help understand
and design computational systems. Through this module, you'll develop
the fundamental discrete mathematical tools that will support you
during the BSc degree. Particular attention is paid to notions of
experimentation, reasoning and generalisation.
19 changes: 8 additions & 11 deletions modules/level_4/fundamentals_of_computer_science/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Fundamentals of Computer Science
In this module, you’ll gain a broad understanding
of key topic areas in computer science and the
fundamental concepts underpinning them. In the
area of fundamental concepts, you’ll learn about
binary representations and logic, complexity
theory and theories of computation, finite state
machines and Turing machines. Building on this,
you’ll then study key areas of interest in computer
science including databases, artificial intelligence
and machine learning. These will be presented
as practical examples to illustrate how they are
In this module, you'll gain a broad understanding of key topic
areas in computer science and the fundamental concepts underpinning
them. In the area of fundamental concepts, you'll learn about
binary representations and logic, complexity theory and theories of
computation, finite state machines and Turing machines. Building on
this, you'll then study key areas of interest in computer science
including databases, artificial intelligence and machine learning. These
will be presented as practical examples to illustrate how they are
implemented in modern computer systems.
20 changes: 8 additions & 12 deletions modules/level_4/how_computers_work/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# How Computers Work
How Computers Work helps you understand
and interact with computer systems. The module
will teach you how to use knowledge about
computational processes to analyse and explain
the behaviour of computer systems. It will use
the concept of a Notional Machine, an abstract
representation of the functioning of a computer
system, to help you to reason about computer
systems and predict their behaviour. You’ll also
learn about typical computer system architectures,
basic networking and network services such
as databases.
How Computers Work helps you understand and interact with computer
systems. The module will teach you how to use knowledge about
computational processes to analyse and explain the behaviour of computer
systems. It will use the concept of a Notional Machine, an abstract
representation of the functioning of a computer system, to help you to
reason about computer systems and predict their behaviour. You'll also
learn about typical computer system architectures, basic networking and
network services such as databases.
25 changes: 16 additions & 9 deletions modules/level_4/introduction_to_programming_i/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Introduction to Programming I
This module focuses on basic programming
techniques. You’ll learn how to use the fundamental
elements of computer programming such as
variables, conditionals, functions and loops. You’ll
learn how to create interactive, graphical computer
programs. You will also be introduced to basic
object-oriented programming techniques.
This module focuses on basic programming techniques. You'll learn
how to use the fundamental elements of computer programming such as
variables, conditionals, functions and loops. You'll learn how to
create interactive, graphical computer programs. You will also be
introduced to basic object-oriented programming techniques.

# Table of contents

Expand All @@ -16,17 +14,26 @@ object-oriented programming techniques.
* [Programming resources](#programming-resources)
* [JavaScript](#javascript)
* [p5.js — JavaScript library](#p5js--javascript-library)
* [Sleuth assignments](#sleuth-assignments)
* [Tips & Tricks](#tips--tricks)
* [Text editor](#text-editor)

<!-- vim-markdown-toc -->

# Programming resources

## JavaScript
More resources on YouTube on [this page](https://github.com/world-class/REPL/tree/master/youtube).
More resources on YouTube on [this page](../../../youtube/).

## JavaScript
### p5.js — JavaScript library
- [p5.js](https://p5js.org/) — Official website to find [the reference guide](https://p5js.org/reference) and an [online editor](https://editor.p5js.org/) to practice. Next step: [p5.js libraries](https://p5js.org/libraries/).
- [The Coding Train](https://www.youtube.com/user/shiffman/playlists) (playlists) — Channel from Daniel Shiffman, a board member of `p5.js`.

## Sleuth assignments
### Tips & Tricks
- Get familiar with finding precise coordinates in an image inside Brackets (text editor).
- Practice all basic drawing functions with `p5.js` in the [online editor](https://editor.p5js.org/) before attempting to solve crimes.
- You have a maximum number of three (3) attempts for each case: go ahead when you are pretty confident you are on the right path on your first attempt.

## Text editor
The recommended text editor for this module is [Brackets](http://brackets.io/). More options available on the [free software page](../../../software/).
13 changes: 5 additions & 8 deletions modules/level_4/introduction_to_programming_ii/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Introduction to Programming II
By taking this module, you will enhance your
programming skills through the development
of a project. You will learn about producing
maintainable code, defensive coding techniques,
program testing techniques, cyclical approaches
to software development, encapsulation,
developing code across multiple files
and using third-party libraries.
By taking this module, you will enhance your programming skills
through the development of a project. You will learn about producing
maintainable code, defensive coding techniques, program testing
techniques, cyclical approaches to software development, encapsulation,
developing code across multiple files and using third-party libraries.
21 changes: 9 additions & 12 deletions modules/level_4/numerical_mathematics/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Numerical Mathematics
This module helps hone your skills in thinking
abstractly. It also introduces you to many of
the standard continuous models used to help
understand and design computational systems.
You will develop the fundamental numerical
mathematical tools that will support you during the
BSc degree. Particular attention is paid to notions
of experimentation, reasoning and generalisation.
You’ll learn many of the numerical mathematical
concepts and techniques that underpin Computer
Science. In particular, you’ll study number systems,
special functions, graphing and linear algebra.
This module helps hone your skills in thinking abstractly. It also
introduces you to many of the standard continuous models used to
help understand and design computational systems. You will develop
the fundamental numerical mathematical tools that will support you
during the BSc degree. Particular attention is paid to notions of
experimentation, reasoning and generalisation. You'll learn many
of the numerical mathematical concepts and techniques that underpin
computer science. In particular, you'll study number systems, special
functions, graphing and linear algebra.
21 changes: 9 additions & 12 deletions modules/level_4/web_development/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Web Development
This module provides you with a foundational
web development skillset. You will learn the critical
languages of the web: HTML, CSS and JavaScript.
Using HTML and CSS, you’ll learn how to markup, layout and style web
content. You’ll study the document object model and how you can
dynamically manipulate it with JavaScript to create
interactive web pages. You’ll consider accessibility
and usability issues, and how you can overcome
them. You’ll learn about website deployment and
how to make your websites accessible to other
people. The module also enables you to present
your work online in the form of a website.
This module provides you with a foundational web development skillset.
You will learn the critical languages of the web: HTML, CSS and
JavaScript. Using HTML and CSS, you'll learn how to markup, layout and
style web content. You'll study the document object model and how you
can dynamically manipulate it with JavaScript to create interactive web
pages. You'll consider accessibility and usability issues, and how you
can overcome them. You'll learn about website deployment and how to
make your websites accessible to other people. The module also enables
you to present your work online in the form of a website.
27 changes: 11 additions & 16 deletions modules/level_5/agile_software_projects/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Agile Software Projects
The Agile Software Projects module provides
insights and practice in software development
using contemporary methods to produce software
that meets the needs of users and supports
business functions. The module enables you
to gain competence in the conceptualisation
of a technology-based solution to a real-world
problem, fulfilling the requirements of users
while considering constraints imposed by market
conditions and lessons learned from prototypes. You
will then present a proposal for a technical project
including a plan for implementing the solution
using the agile development methodology and
test-driven development practices. From concept
to solution presentation, you’ll be required to work
in a distributed team using online collaboration,
The Agile Software Projects module provides insights and practice in
software development using contemporary methods to produce software
that meets the needs of users and supports business functions. The
module enables you to gain competence in the conceptualisation of a
technology-based solution to a real-world problem, fulfilling the
requirements of users while considering constraints imposed by market
conditions and lessons learned from prototypes. You will then present
a proposal for a technical project including a plan for implementing
the solution using the agile development methodology and test-driven
development practices. From concept to solution presentation, you'll
be required to work in a distributed team using online collaboration,
project tracking and version control tools.
15 changes: 6 additions & 9 deletions modules/level_5/algorithms_and_data_structures_ii/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Algorithms and Data Structures II
This module provides you with detailed
knowledge of common algorithms and data
structures. You’ll improve your understanding of
searching and sorting and learn new algorithms
to solve new problems. You’ll learn about a
range of data structures such as trees, heaps,
sets, maps, stacks, queues and graphs. You’ll
also learn how to evaluate and describe the
performance of algorithms using big-O notation.
This module provides you with detailed knowledge of common algorithms
and data structures. You'll improve your understanding of searching
and sorting and learn new algorithms to solve new problems. You'll
learn about a range of data structures such as trees, heaps, sets, maps,
stacks, queues and graphs. You'll also learn how to evaluate and
describe the performance of algorithms using big-O notation.
15 changes: 6 additions & 9 deletions modules/level_5/computer_security/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Computer Security
The Computer Security module gives you
an understanding of the need for computer
security and the technologies supporting it.
It has both a theoretical component that will
teach you mathematical underpinnings of
security systems and a practical element to help
you discover the pitfalls of security design and
comprehend the mathematics underlying the
protocols by small programming examples.
The Computer Security module gives you an understanding of the need
for computer security and the technologies supporting it. It has both
a theoretical component that will teach you mathematical underpinnings
of security systems and a practical element to help you discover the
pitfalls of security design and comprehend the mathematics underlying
the protocols by small programming examples.
19 changes: 8 additions & 11 deletions modules/level_5/databases_networks_and_the_web/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Databases, Networks and the Web
In this module, you’ll learn theory and practical
skills focused on the modern web, internet and
client-server applications. You’ll learn about
relational database systems, emphasising issues
related to data modelling and Structured Query
Language (SQL) database implementation. You’ll
learn how to model data in a database, retrieve
data from the database and provide access to
data through dynamic websites. You’ll learn about
the Relational Model, Query processing, and
socket architectures to enable communication.
In this module, you'll learn theory and practical skills focused on
the modern web, internet and client-server applications. You'll learn
about relational database systems, emphasising issues related to data
modelling and Structured Query Language (SQL) database implementation.
You'll learn how to model data in a database, retrieve data from
the database and provide access to data through dynamic websites.
You'll learn about the Relational Model, Query processing, and socket
architectures to enable communication.
12 changes: 5 additions & 7 deletions modules/level_5/graphics_programming/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Graphics Programming
Here you will learn how to work with images in
a variety of ways. You’ll learn how to synthesise
graphics and how to process visual signals. You
will learn about the mathematical ideas that
underpin digital representations of graphics; how
digital media files represent graphics, and how to
handle and manipulate them, and the basics of
Here you will learn how to work with images in a variety of ways.
You'll learn how to synthesise graphics and how to process visual
signals. You will learn about the mathematical ideas that underpin
digital representations of graphics; how digital media files represent
graphics, and how to handle and manipulate them, and the basics of
working with simulated physics and 3D graphics.
17 changes: 8 additions & 9 deletions modules/level_5/object_oriented_programming/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Object-Oriented Programming
This module will provide you with an object-oriented programming skillset. You’ll learn what
objects and classes are and how to write classes.
You’ll see how objects can interact with each
other, including defining and implementing
interfaces to control the interaction. You’ll learn
how to use inheritance to extend functionality
from parent classes. You’ll learn how to write
code according to style guidelines and how
to write formal code documentation.
This module will provide you with an object-oriented programming
skillset. You'll learn what objects and classes are and how to
write classes. You'll see how objects can interact with each
other, including defining and implementing interfaces to control
the interaction. You'll learn how to use inheritance to extend
functionality from parent classes. You'll learn how to write
code according to style guidelines and how to write formal code
documentation.
14 changes: 6 additions & 8 deletions modules/level_5/programming_with_data/README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Programming with Data
This module demonstrates how to work with
data: getting data from a variety of sources,
visualising data in compelling, informative ways,
processing data to make it useful and shareable,
and reasoning with data to test hypotheses and
make predictions. The module also introduces
you to a new programming environment that is
well-adapted to languages for these applications.
This module demonstrates how to work with data: getting data from a
variety of sources, visualising data in compelling, informative ways,
processing data to make it useful and shareable, and reasoning with data
to test hypotheses and make predictions. The module also introduces you
to a new programming environment that is well-adapted to languages for
these applications.
29 changes: 12 additions & 17 deletions modules/level_5/software_design_and_development/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
[Go back to the main page](https://world-class.github.io/REPL/)

# Software Design and Development
Software Design and Development advances your
software development skills so you can write more
robust and complicated programs. You’ll learn
how to use a range of programming techniques
to deal with unwanted or unexpected events that
might happen when your application is running.
You’ll use defensive coding to check data before
processing it, and exception handling to gracefully
manage unforeseen occurrences. You’ll discuss
program structure concerning cohesion (how to
meaningfully organise code into modules) and
coupling (how to define the interactions between
different parts of the program). You’ll learn about
test-driven development, where you write tests
for your code, and write the code itself, in parallel.
You’ll also learn how to use versioning tools to
manage the development of a software project.
Software Design and Development advances your software development
skills so you can write more robust and complicated programs. You'll
learn how to use a range of programming techniques to deal with unwanted
or unexpected events that might happen when your application is running.
You'll use defensive coding to check data before processing it,
and exception handling to gracefully manage unforeseen occurrences.
You'll discuss program structure concerning cohesion (how to
meaningfully organise code into modules) and coupling (how to define the
interactions between different parts of the program). You'll learn
about test-driven development, where you write tests for your code,
and write the code itself, in parallel. You'll also learn how to use
versioning tools to manage the development of a software project.
Loading

0 comments on commit dd06fc9

Please sign in to comment.