Skip to content

Releases: UCL-INGI/LEPL1402

Ready for student | Release 04/09

04 Sep 12:28
06849bd
Compare
Choose a tag to compare

Module 1 | Java Introduction, Static and main methods, Arrays, Dev Tools, Pre-post conditions

🔢 Task folder ℹ️ Short Description
Introduction Code exercise to introduce java to students
LearnExceptions Code exercise to introduce exceptions in java
Make Mistake Code exercise that generate exceptions to understand them
Array2D Code exercise to help students to make distinction between multidimensional array and matrix
AccessModifiers MCQ on modifiers / packages
CommonErrors MCQ on some common Java programming errors
Value or Reference MCQ on the differences between passing a value or passing a reference to a method
StringUtils Code exercise on implementing several common methods inspired from java's String API
Casting Theorical questions on type casting in java

Module 2 | Complexity, Arborescent data structures, Basic algorihtms, Invariants and proof of correctness

🔢 Task folder ℹ️ Short Description
ComplexityMQC1 Simple MCQ on time complexity
ComplextiySpaceMCQ MCQ on space complexity
complexityMCQ2 Harder MCQ on time complexity including complexity on trees and recursive functions
BubbleSortInvariant MCQ on invariant of the bubble sort algorithm
ComplexityArraySearch Code exercise on finding an element in a given array with best possible complexity
Fibonacci Code exercise on recursive / iterative implementation of the same method
HanoiTower Code exercise on Hanoi Tower. Recursive exercise
MergeSortImplementation Code exercise on implementation of the merge sort algorithm
MaximumSumSubarray Code exercise on finding the maximum contiguous subarray in a given array
Valley Code exercise on finding the deepest valley and the biggest mountain in a given array
CodeAccuracy MCQ on Pre, Post conditions and Invariants
CodeAccuracy2 Code exercise on making assertations and implementation on code (Quicksort )
TreeSame Code exercise on implenting the method equals for Node and Tree
TreeInorder Code exercise on implementing two different version of an "in-order" tree traversal : a recursive version and an iterative version
TreeCombineWith Code exercise on implementing a sum-merge method of two tree

Module 3 | Object Oriented Programming (inheritance, generics, etc), Abstract Data Types

🔢 Task folder ℹ️ Short Description
CircularLL Code exercise on implementing a Circular linked list
Generics Code exercise on a recursive structure with interfaces like Predicate / Function
Generics2 Code exercise on genericity (based on previous task)
Generics3 Code exercise on implementing logic gates using BiFunction and Function
Inheritance Small Code exercise (type : fill the gaps) on inheritance
MyArrayList Code exercise on implementing your own version of ArrayList
PostScript Code exercise on interpreter that uses operations stored in a stack
StackWithQueue Code exercise on implementing a LIFO stack using a queue
QueueWithStacks Code exercise on implementing a FIFO queue using two stacks

Module 4 | Software Engineering Topics: Design Patterns (MVC for GUI), Architecture, Testing

🔢 Task folder ℹ️ Short Description
BlackBox Code exercise on blackbox testing on specifications of a binarySearch method
Coverage Code exercise on code coverage (JaCoCo)
AbstractClass Code exercise on abstract class (Shape)
Factory Code exercise on the Factory design pattern
Observer Code exercise on the Observer design pattern
VisitorBasic Code exercise on the Visitor design pattern (beginner)
Visitor Code exercise on the Visitor design pattern (advanced)

Module 5 | Functional Programming and Lambda, Recursive Programming

🔢 Task folder ℹ️ Short Description
Lambda Expressionin Java Code exercises on lambda expressions
Comparator vs Comparable Code exercise on comparator and comparable
Optional Code exercise on Optional
FList Code exercise on functional linked lists
FListMergeSort Code exercise on the merge sort algorithm with functional linked lists
FTree Code exercise on functional immutable tree
InfiniteStreams Code exercise on infinite streams
Dealing with Streams Code exercise on function programming with Streams (Beginner)
Dealing with Streams 2 Code exercise on function programming with Streams (Advanced)

Module 6 | Parallelism: threads and introduction to synchronisation

🔢 Task folder ℹ️ Short Description
ThreadsIntroduction Code exercise to introduce the usage of threads
Future Code exercise on Future
SharedCounter Code exercise on handling shared counter with threads
ProducerConsumer Code exercise on implementing the famous Producer / Consumer problem
BoundedBuffer Code exercise on a bounded buffer with threads
CyclicBarrier Code exercise on a cyclic barrier with threads
ParallelelMergeSort Code exercise on a merge sort parallel with threads

Release 31/07

05 Aug 09:57
Compare
Choose a tag to compare

Module 1 | Java Introduction, Static and main methods, Arrays, Dev Tools, Pre-post conditions

🔢 Task folder ℹ️ Short Description
Array2D Code exercise to help students to make distinction between multidimensional array and matrix
AccessModifiers MCQ on modifiers / packages
CommonErrors MCQ on some common Java programming errors
StringUtils Code exercise on implementing several common methods inspired from java's String API

Module 2 | Complexity, Arborescent data structures, Basic algorihtms, Invariants and proof of correctness

🔢 Task folder ℹ️ Short Description
CodeAccuracy MCQ on Pre, Post conditions and Invariants
CodeAccuracy2 Code exercise on making assertations and implementation on code (Quicksort )
TreeCombineWith Code exercise on implementing a sum-merge method of two tree
TreeInorder Code exercise on implementing two different version of an "in-order" tree traversal : a recursive version and an iterative version
TreeSame Code exercise on implenting the method equals for Node and Tree

Module 3 | Object Oriented Programming (inheritance, generics, etc), Abstract Data Types

🔢 Task folder ℹ️ Short Description
AbstractClass Code exercise on abstract class (Shape)
Casting MCQ on casting operations
CircularLL Code exercise on implementing a Circular linked list
Generics Code exercise on a recursive structure with interfaces like Predicate / Function
Generics2 Code exercise on genericity (based on previous task)
Generics3 Code exercise on implementing logic gates using BiFunction and Function
Inheritance Small Code exercise (type : fill the gaps) on inheritance
MyArrayList Code exercise on implementing your own version of ArrayList
PostScript Code exercise on interpreter that uses operations stored in a stack
QueueWithStacks Code exercise on implementing a FIFO queue using two stacks
StackWithQueue Code exercise on implementing a LIFO stack using a queue

Module 4 | Software Engineering Topics: Design Patterns (MVC for GUI), Architecture, Testing

🔢 Task folder ℹ️ Short Description
BlackBox Code exercise on blackbox testing on specifications of a binarySearch method
Coverage Code exercise on code coverage (JaCoCo)
Factory Code exercise on the Factory design pattern
Observer Code exercise on the Observer design pattern
VisitorBasic Code exercise on the Visitor design pattern (beginner)
Visitor Code exercise on the Visitor design pattern (advanced)

Module 5 | Functional Programming and Lambda, Recursive Programming

🔢 Task folder ℹ️ Short Description
Fibonacci Code exercise on recursive / iterative implementation of the same method
Streams Code exercise on function programming with Streams (Beginner)
Streams2 Code exercise on function programming with Streams (Advanced)

Module 6 | Parallelism: threads and introduction to synchronisation

🔢 Task folder ℹ️ Short Description
ProducerConsumer Code exercise on implementing the famous Producer / Consumer problem
SharedCounter Code exercise on handling shared counter with threads
ThreadsIntroduction Code exercise to introduce the usage of threads

Release 26/07

05 Aug 09:58
Compare
Choose a tag to compare

Tasks lists :

🔢 Task folder ℹ️ Short Description
AbstractClass Code exercise on abstract class (Shape)
AccessModifiers MCQ on modifiers / packages
Array2D Code exercise to help students to make distinction between multidimensional array and matrix
BlackBox Code exercise on blackbox testing on specifications of a binarySearch method
Casting MCQ on casting operations
CircularLL Code exercise on implementing a Circular linked list
CodeAccuracy MCQ on Pre, Post conditions and Invariants
CodeAccuracy2 Code exercise on making assertations and implementation on code (Quicksort )
CommonErrors MCQ on some common Java programming errors
Coverage Code exercise on code coverage (JaCoCo)
Factory Code exercise on the Factory design pattern
Fibonacci Code exercise on recursive / iterative implementation of the same method
Generics Code exercise on a recursive structure with interfaces like Predicate / Function
Generics2 Code exercise on genericity (based on previous task)
Inheritance Small Code exercise (type : fill the gaps) on inheritance
MyArrayList Code exercise on implementing your own version of ArrayList
Observer Code exercise on the Observer design pattern
PostScript Code exercise on interpreter that uses operations stored in a stack
QueueWithStacks Code exercise on implementing a FIFO queue using two stacks
StackWithQueue Code exercise on implementing a LIFO stack using a queue
Streams Code exercise on function programming with Streams (Beginner)
Streams2 Code exercise on function programming with Streams (Advanced)
StringUtils Code exercise on implementing several common methods inspired from java's String API
ThreadsIntroduction Code exercise to introduce the usage of threads
TreeCombineWith Code exercise on implementing a sum-merge method of two tree
TreeInorder Code exercise on implementing two different version of an "in-order" tree traversal : a recursive version and an iterative version
TreeSame Code exercise on implenting the method equals for Node and Tree
VisitorBasic Code exercise on the Visitor design pattern (beginner)
Visitor Code exercise on the Visitor design pattern (advanced)