The latest instance of the course can be found at: COMP.CS.140 Ohjelmointi 3: Rajapinnat ja tekniikat: spring-2024
Course news
Exam
Ohj3. Toinen Exam tentti julkaistu: https://exam.tuni.fi/enrolments/262880?code=COMP.CS.140_otm-7150839f-b799-4b3e-898f-c825e4247323 Prog3. The second Exam published: https://exam.tuni.fi/enrolments/262883?code=COMP.CS.140_otm-7150839f-b799-4b3e-898f-c825e4247323
Arvosanat / Grades
Harjoitustöiden arviointi valmistuu 15.1 mennessä. Tämän jälkeen arvosanoja aletaan syöttään Plussaan. / The evaluation of the projects will be completed by 15.1. After this, the grades start to be entered into Plussa.
Viimeiset harjoitukset / Last Exercises
Ei kyselytunteja enää / No Q&A sessions 8.12.2023 Viimeiset harjoitukset / Last Exercises: Friday 8.12 in Zoom 10-12 Friday 8.12 in Zoom 14-16 Monday 11.12 in Zoom 8-10
23.11.2023 Harjoitusryhmä siirretty Zoomiin / Exercise group moved to Zoom
Tämänpäiväinen harjoitusryhmä on siirretty Zoomiin johtuen julkisen liikenteen lakosta. Zoom linkki(sama kuin maanantaisin): https://tuni.zoom.us/j/64063172298?pwd=MXR5enh4aFE4U2xOWk9KMzNKenJqUT09 meeting id: 640 6317 2298, passcode: 364833 Today's exercise group has been moved to Zoom due to the public transport strike. Zoom link(same as Mondays): https://tuni.zoom.us/j/64063172298?pwd=MXR5enh4aFE4U2xOWk9KMzNKenJqUT09 meeting id: 640 6317 2298, passcode: 364833
Ensimmäinen kyselytunti on huomenna / The first Q&A session is tomorrow
Kyselytunnit alkavat huomenna (Perjanta 1.9) Suomeksi kello 10-12 ja Englanniksi 14-16. / The Q&A sessions start tomorrow (Friday, 1.9.) in Finnish 10-12 o'clock and in English 14-16 o'clock.
Show:
0 / 10 1. Permission for use of anonymized course data in research
Sunday, 27 August 2023, 21:45 – Friday, 22 December 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, 27 August 2023, 21:45 – Friday, 8 September 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 Git: Basics | |||
2.3.3 Git: The Use on This Course | |||
2.3.4 Managing a Java code project with Maven | |||
2.3.5 Preparing for the first programming task submission | |||
2.4 ⌛ Counting the Mean | |||
2.4.1 Average | harjoitus - exercise | 0 / 10 | 0 / 25 |
2.5 Virtual Desktop: TUNI Virtual Desktop | |||
2.6 A more detailed introduction to Java | |||
2.6.1 Exercise Java | teoria - theory | 0 / 5 | 0 / 5 |
2.7 Q&A Session | |||
2.7.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 |
2.7.2 Q&A session 1 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 3. Java as a Programming Language
Monday, 4 September 2023, 12:00 – Friday, 15 September 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, 11 September 2023, 12:00 – Friday, 22 September 2023, 23:59
Assignment | Category | Submissions | Points |
---|---|---|---|
4.1 The Playing Field of Implementing Software | |||
4.1.1 The 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 ⌛⌛ Sudoku | |||
4.4.1 Sudoku | harjoitus - exercise | 0 / 10 | 0 / 25 |
4.5 ⌛⌛ Student register | |||
4.5.1 StudentRegister | harjoitus - exercise | 0 / 10 | 0 / 30 |
4.6 Q&A Session | |||
4.6.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 |
4.6.2 Q&A session 3 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 5. Inheritance
Monday, 18 September 2023, 12:00 – Friday, 29 September 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, 25 September 2023, 12:00 – Friday, 6 October 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, 2 October 2023, 12:00 – Friday, 13 October 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 Fetching external libraries 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, 9 October 2023, 12:00 – Friday, 27 October 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. Autumn Break: give mid course feedback
Monday, 9 October 2023, 12:00 – Friday, 27 October 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, 23 October 2023, 12:00 – Friday, 3 November 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, 30 October 2023, 12:00 – Friday, 10 November 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 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 12. Graphical User Interfaces
Monday, 6 November 2023, 12:00 – Friday, 17 November 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 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 13. Project Start
Sunday, 12 November 2023, 12:00 – Friday, 1 December 2023, 23:59
Assignment | Category | Submissions | Points |
---|---|---|---|
13.1 Project: Weather App | |||
13.2 Q&A Session: On Course Project | |||
13.2.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 |
13.2.2 Q&A session 11 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 14. Testing a Graphical User Interface
Monday, 20 November 2023, 12:00 – Friday, 8 December 2023, 23:59
Assignment | Category | Submissions | Points |
---|---|---|---|
14.1 TestFX | |||
14.2 Q&A Session: On Course Project | |||
14.2.1 Exercise QA | teoria - theory | 0 / 5 | 0 / 5 |
14.2.2 Q&A session 12 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 15. Documenting the Project
Monday, 27 November 2023, 12:00 – Friday, 8 December 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 13 attendance | teoria - theory | 0 / 1 | 0 / 10 |
0 / 500 16. Project Turn-in
Monday, 27 November 2023, 12:00 – Friday, 8 December 2023, 23:59
Late submissions are allowed until Friday, 15 December 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
Monday, 4 December 2023, 20:00 – Friday, 22 December 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