JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Success stories
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Report architecture as a pipeline

    Kotlin SELF
    26 level,0 lecture
    We break down how to design reports as a sequence of steps “data → transformations → totals → text”: early key normalization ( trim(), lowercase()), filtering, grouping via groupBy()/ groupingBy() + eachCount(), aggregation with fold(), view preparation (sorting, take(n)) and rendering to a string via StringBuilder. Separately, we pin down why it’s important to track type changes ( List → Map) and not mix computation with output.
    Open
  • Pipeline decomposition: step functions and intermediate val

    Kotlin SELF
    26 level,1 lecture
    We break down how to make long chains of collection operations in Kotlin readable: where to place “breakpoints” via intermediate val, when to extract steps into separate functions with an “input → output” contract, how to control the “type ladder” ( List → Map → String), and which mistakes most often ruin reusability (side effects, bad names, “do-everything” combiners).
    Open
  • Pure computations in reports: minimal effects and no input mutation

    Kotlin SELF
    26 level,2 lecture
    We break down how to write reports as a set of pure functions: separate computation from presentation, move side effects (for example, println) to the boundary ( CLI), avoid mutating input collections ( List/ Map instead of MutableList/ MutableMap), use fold for neat accumulation, and allow only local mutation like StringBuilder inside rendering.
    Open
  • Common pipeline mistakes

    Kotlin SELF
    26 level,3 lecture
    We go through “silent” pipeline breakages in Kotlin: a lost result for sorted()/ filter()/ map() operations, incorrect use of map for side effects (and an unexpected List of Unit), choosing between groupBy and groupingBy().eachCount(), extra passes over the data, and the laziness of Sequence without a terminal step like toList(). At the end, there is a checklist of common mistakes that break reports and statistics.
    Open
  • Reports set v0: total, byCategory, top, threshold in a unified style

    Kotlin SELF
    26 level,4 lecture
    We break down how, in Kotlin, to assemble “related” reports for a console expense tracker: we fix the data format ( List<Pair<String, Int>>), make a shared category-normalization step via trim() and lowercase(), separate calculation from output, and then implement the total, byCategory, threshold, and top reports based on fold, groupBy, sorting, and filtering.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success stories
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush