The latest instance of the course can be found at: COMP.CS.140 Ohjelmointi 3: Rajapinnat ja tekniikat: spring-2024
Show:
0 / 10
1. Permission for use of anonymized course data in research
Sunday, 8 January 2023, 21:45 – Friday, 5 May 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
1.1 Permission for Research | ||||
1.1.1 Data protection form | tutkimuslupa - research permission | 0 / 10 | 0 / 10 |
0 / 50
2. Welcome to Programming 3: Interfaces and Techniques
Sunday, 8 January 2023, 21:45 – Friday, 20 January 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
2.1 Welcome to the Course | ||||
2.2 Practical Matters | ||||
2.2.1 Course Staff and Contact Information | ||||
2.2.2 Course Workflow | ||||
2.2.3 Grading of the Course | ||||
2.3 Java: Programming Environment | ||||
2.3.1 Java IDE and the First Program | ||||
2.3.1.1 Exercise NetBeans | teoria - theory | 0 / 5 | 0 / 5 | |
2.3.2 ⌛ Counting the Mean | ||||
2.3.2.1 Average | harjoitus - exercise | 0 / 10 | 0 / 25 | |
2.3.3 Virtual Desktop: TUNI Virtual Desktop | ||||
2.4 A more detailed introduction to Java | ||||
2.4.1 Exercise Java | teoria - theory | 0 / 5 | 0 / 5 | |
2.5 Q&A Session | ||||
2.5.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
2.5.2 Q&A session 1 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
3. Java as Programming Language
Monday, 16 January 2023, 12:00 – Friday, 27 January 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
3.1 More basic features of Java | ||||
3.1.1 Java input and output streams | ||||
3.1.1.1 Exercise IO | teoria - theory | 0 / 5 | 0 / 10 | |
3.1.2 Basic Java containers | ||||
3.1.2.1 Exercise Containers | teoria - theory | 0 / 5 | 0 / 5 | |
3.1.3 Sorting and lambda functions | ||||
3.1.3.1 Exercise Lambda | teoria - theory | 0 / 5 | 0 / 10 | |
3.2 ⌛ Median | ||||
3.2.1 Median | harjoitus - exercise | 0 / 10 | 0 / 20 | |
3.3 ⌛⌛ Parameter table | ||||
3.3.1 ParameterTable | harjoitus - exercise | 0 / 10 | 0 / 35 | |
3.4 Q&A Session | ||||
3.4.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
3.4.2 Q&A session 2 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
4. Programming in the Large
Monday, 23 January 2023, 12:00 – Saturday, 4 February 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
4.1 Playing Field of Implementing Software | ||||
4.1.1 Concept of Abstraction | ||||
4.1.1.1 Exercise Abstraction | teoria - theory | 0 / 5 | 0 / 5 | |
4.1.2 Information Hiding | ||||
4.1.2.1 Exercise Interface | teoria - theory | 0 / 5 | 0 / 10 | |
4.2 Introduction to Java classes | ||||
4.2.1 The basic structure of a Java class | ||||
4.2.2 Java packages | ||||
4.3 Exception handling in Java | ||||
4.3.1 Exercise Exceptions | teoria - theory | 0 / 5 | 0 / 10 | |
4.4 Git: Basics | ||||
4.5 Git: Use on This Course | ||||
4.6 ⌛⌛ Sudoku | ||||
4.6.1 Sudoku | harjoitus - exercise | 0 / 10 | 0 / 25 | |
4.7 ⌛⌛ Student register | ||||
4.7.1 StudentRegister | harjoitus - exercise | 0 / 10 | 0 / 30 | |
4.8 Q&A Session | ||||
4.8.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
4.8.2 Q&A session 3 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
5. Inheritance
Monday, 30 January 2023, 12:00 – Friday, 10 February 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
5.1 Modularity: Inheritance | ||||
5.1.1 Exercise Objects | teoria - theory | 0 / 5 | 0 / 5 | |
5.1.2 Inheritance | ||||
5.1.2.1 Exercise Inheritance | teoria - theory | 0 / 5 | 0 / 10 | |
5.2 Late (Dynamic) Binding | ||||
5.3 Introduction to inheritance in Java | ||||
5.3.1 Exercise Java | teoria - theory | 0 / 5 | 0 / 5 | |
5.4 Exception handling in Java, part 2 | ||||
5.4.1 Exercise Exceptions2 | teoria - theory | 0 / 5 | 0 / 5 | |
5.5 ⌛ Date and time | ||||
5.5.1 Datetime | harjoitus - exercise | 0 / 10 | 0 / 20 | |
5.6 ⌛⌛ Word game | ||||
5.6.1 Word game | harjoitus - exercise | 0 / 10 | 0 / 35 | |
5.7 Q&A Session | ||||
5.7.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
5.7.2 Q&A session 4 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
6. Class Hierarchies
Monday, 6 February 2023, 12:00 – Friday, 17 February 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
6.1 Modularity: Interfaces | ||||
6.1.1 Abstract Base Class | ||||
6.1.1.1 Exercise ADT | teoria - theory | 0 / 5 | 0 / 5 | |
6.1.2 Interface Classes | ||||
6.1.2.1 Exercise interfaces | teoria - theory | 0 / 5 | 0 / 5 | |
6.1.3 Multiple Inheritance | ||||
6.2 Modeling Class Hierarchies | ||||
6.3 Java interfaces, part 1 | ||||
6.3.1 Exercise interfaces | teoria - theory | 0 / 5 | 0 / 5 | |
6.4 Java Generics, part 1 | ||||
6.4.1 Exercise generics | teoria - theory | 0 / 5 | 0 / 5 | |
6.5 Java interfaces, part 2 | ||||
6.5.1 Exercise interfaces2 | teoria - theory | 0 / 5 | 0 / 5 | |
6.6 ⌛ Shapes | ||||
6.6.1 Shapes | harjoitus - exercise | 0 / 10 | 0 / 20 | |
6.7 ⌛⌛ Comparison interfaces | ||||
6.7.1 Comparison | harjoitus - exercise | 0 / 10 | 0 / 35 | |
6.8 Q&A Session | ||||
6.8.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
6.8.2 Q&A session 5 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
7. Packages
Monday, 13 February 2023, 12:00 – Friday, 24 February 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
7.1 Modularity: Packages | ||||
7.1.1 Interface as a Contract | ||||
7.1.1.1 Exercise contracts | teoria - theory | 0 / 5 | 0 / 10 | |
7.1.2 Error Situations in Interfaces | ||||
7.1.2.1 Exercise guarantees | teoria - theory | 0 / 5 | 0 / 15 | |
7.2 Managing a Java code project with Maven | ||||
7.3 ⌛⌛ JSON | ||||
7.3.1 JSON | harjoitus - exercise | 0 / 10 | 0 / 10 | |
7.4 ⌛⌛ Text search inside a 7z file | ||||
7.4.1 sevenzipsearch | harjoitus - exercise | 0 / 10 | 0 / 20 | |
7.5 ⌛⌛ Country data (JSON) | ||||
7.5.1 json countries | harjoitus - exercise | 0 / 10 | 0 / 25 | |
7.6 Q&A Session | ||||
7.6.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
7.6.2 Q&A session 6 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
8. Generics
Monday, 20 February 2023, 12:00 – Friday, 10 March 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
8.1 Polymorphism: Generics | ||||
8.1.1 Exercise generics | teoria - theory | 0 / 5 | 0 / 10 | |
8.2 Java generics, part 2 | ||||
8.3 Java’s functional interfaces | ||||
8.3.1 Exercise Java-functional1 | teoria - theory | 0 / 5 | 0 / 5 | |
8.4 Functional programming in Java | ||||
8.4.1 Exercise Java-functional2 | teoria - theory | 0 / 5 | 0 / 10 | |
8.5 ⌛⌛ Movie data as a stream | ||||
8.5.1 Movie data as a stream | harjoitus - exercise | 0 / 10 | 0 / 30 | |
8.6 ⌛⌛ Movie data as a stream #2 | ||||
8.6.1 Movie data as a stream #2 | harjoitus - exercise | 0 / 10 | 0 / 25 | |
8.7 Q&A Session | ||||
8.7.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
8.7.2 Q&A session 7 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15
9. Winter Break: give mid course feedback
Monday, 20 February 2023, 12:00 – Friday, 10 March 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
9.1 Feedback | ||||
9.1.1 Exercise feedback | palaute - feedback | 0 / 2 | 0 / 7 | |
9.1.2 Exercise feedback2 | palaute - feedback | 0 / 2 | 0 / 7 | |
9.1.3 Exercise feedback3 | palaute - feedback | 0 / 2 | 0 / 1 |
0 / 115
10. Work Distribution and Working in a Team
Monday, 6 March 2023, 12:00 – Friday, 17 March 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
10.1 Distribution of Work | ||||
10.1.1 Team Work in Version Control | ||||
10.1.2 Branching in Version Control | ||||
10.1.3 Technical viewpoint: Submodules in Git | ||||
10.1.4 Repository-exercise on branches | ||||
10.1.4.1 Git feature-branch - part 1 | teoria - theory | 0 / 5 | 0 / 10 | |
10.1.4.2 Git feature-branch - part 2 | teoria - theory | 0 / 5 | 0 / 15 | |
10.1.4.3 Git feature-branch - part 3 | harjoitus - exercise | 0 / 10 | 0 / 20 | |
10.2 Documentation and Conventions | ||||
10.2.1 Documentation Comments - Javadoc | ||||
10.3 ⌛⌛ JSON & Javadoc | ||||
10.3.1 javadocjson | harjoitus - exercise | 0 / 25 | 0 / 55 | |
10.4 Q&A Session | ||||
10.4.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
10.4.2 Q&A session 8 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
11. Functional Program
Monday, 13 March 2023, 12:00 – Friday, 24 March 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
11.1 (Unit) Testing | ||||
11.1.1 Ways to Test | ||||
11.1.1.1 Exercise terms | teoria - theory | 0 / 5 | 0 / 5 | |
11.1.2 Unit Testing | ||||
11.1.2.1 Exercise unit | teoria - theory | 0 / 5 | 0 / 10 | |
11.1.3 Testing Framework JUnit | ||||
11.1.3.1 Exercise junit | teoria - theory | 0 / 5 | 0 / 10 | |
11.2 ⌛⌛ JUnit tests for course attainment | ||||
11.2.1 junitattainment | harjoitus - exercise | 0 / 10 | 0 / 15 | |
11.3 ⌛⌛⌛ JUnit tests for order | ||||
11.3.1 junitorder | harjoitus - exercise | 0 / 25 | 0 / 40 | |
11.4 Q&A Session | ||||
11.4.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
11.4.2 Q&A session 9 (31 March 2023) attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95
12. Graphical User Interfaces
Monday, 20 March 2023, 12:00 – Friday, 31 March 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
12.1 Event-driven Programming | ||||
12.1.1 Exercise event-driven | teoria - theory | 0 / 5 | 0 / 5 | |
12.2 JavaFX Library | ||||
12.2.1 Exercise javafx1 | teoria - theory | 0 / 5 | 0 / 5 | |
12.2.2 First JavaFX Program | ||||
12.2.2.1 Exercise javafx2 | teoria - theory | 0 / 5 | 0 / 5 | |
12.2.3 A Little bit bigger example | ||||
12.2.3.1 Exercise javafx3 | teoria - theory | 0 / 5 | 0 / 10 | |
12.2.4 FXML | ||||
12.3 ⌛ JavaFX calculator | ||||
12.3.1 calc | harjoitus - exercise | 0 / 10 | 0 / 10 | |
12.4 ⌛⌛⌛ JavaFX Wordle | ||||
12.4.1 wordle | harjoitus - exercise | 0 / 25 | 0 / 45 | |
12.5 Q&A Session | ||||
12.5.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
12.5.2 Q&A session 10 (31 March 2023) attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 5
13. Project Start
Monday, 27 March 2023, 12:00 – Friday, 14 April 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
13.1 Project: Sisu Unraveled | ||||
13.2 Q&A Session: On Course Project | ||||
13.2.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 |
0 / 15
14. Testing a Graphical User Interface
Monday, 3 April 2023, 12:00 – Friday, 21 April 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
14.1 Easter | ||||
14.2 TestFX | ||||
14.3 Q&A Session: On Course Project | ||||
14.3.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
14.3.2 Q&A session 11 (14 April 2020) attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 25
15. Documenting the Project
Friday, 14 April 2023, 12:00 – Friday, 21 April 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
15.1 Project: Documentation | ||||
15.2 Q&A Session: On Course Project | ||||
15.2.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 | |
15.2.2 Q&A session 12 (21 April 2023) attendance | teoria - theory | 0 / 1 | 0 / 20 |
0 / 500
16. Project Turn-in
Friday, 14 April 2023, 12:00 – Friday, 28 April 2023, 23:59
Late submissions are allowed until Friday, 5 May 2023, 23:59.
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
16.1 Submission | ||||
16.1.1 Turn in your project | projekti - project | 0 / 25 | 0 / 500 |
0 / 0
17. Exam
Sunday, 30 April 2023, 20:00 – Friday, 5 May 2023, 23:59
Assignment | Category | Submissions | Points | |
---|---|---|---|---|
17.1 Exam |
harjoitus - exercise
0 / 540
palaute - feedback
0 / 15
projekti - project
0 / 500
teoria - theory
0 / 430
tutkimuslupa - research permission
0 / 10