Download the Programming Taskbook Complete Edition (ver. 4.23 in English and Russian)
Download the Programming Taskbook Mini Edition (ver. 4.23 in English and Russian)
Programming Taskbook is intended to be used while learning programming languages such as
Pascal, C, C++, C#, Visual Basic .NET, F#, Python, Java, Ruby, Julia. It contains 1100 learning tasks that cover
almost all sections of a basic programming curriculumbeginning with scalar types and control
statements to complicated data structures and recursive algorithms.
Programming Taskbook version 4.23 has been implemented for use in the following programming
- Free Pascal Lazarus,
both 32-bit and 64-bit versions of the Free Pascal Lazarus environment are supported;
- Microsoft Visual Studio 2017, 2019, 2022 (https://www.visualstudio.com/ru/vs/, C++, Visual Basic .NET, C#, F#);
(C# and F#; you need to install additional software components specified in the doc\Dependencies.html
file located in the system directory of this environment);
Code::Blocks 20.03 (C, C++);
and 6.30 (C, C++);
- IDLE (Python
- PyCharm Community Edition
(Python of versions mentioned above);
- Wing IDE Personal 6.0 and
Wing IDE 101 6.0
(Python of versions mentioned above);
- Eclipse (Java);
- RubyMine 2020 (Ruby);
- Visual Studio Code (System Installer, 64 bit)
(C#, C, C++, Python, Java, Ruby, Julia).
Starting with version 4.21, you can use both 32-bit and 64-bit versions
of the JDK for Java environments; for Python environments, you can use
both 32-bit and 64-bit versions of the Python interpreter.
Programming Taskbook is also a part of the PascalABC.NET
programming system developed by Prof. S.S.Mikhalkovich (www.pascalabc.net).
Starting with version 4.12 the
Programming Taskbook for MPIproblem book on parallel MPI programmingis available in Russian and English.
Starting with version 4.17 the
Programming Taskbook for MPI-2problem book on parallel MPI-2 programmingis available in Russian and English.
The learning options listed below are supported by Programming Taskbook:
- display the task text and corresponding data on screen;
- display correct results for each task;
- subroutines for initial data input and results output;
- additional control of input-output operations;
- automatic correctness checking of results computed by student's program;
- storing running program data into a special log file (file of results);
- complete register of solved task as result of a series of successful test program runnings.
Programming Taskbook sufficiently facilitates educational task execution.
It is due to it performs automatically standard input-output operations unlike manual coding.
Its advantage is especially obvious when performing processing of arrays, strings, files, and dynamic data structures.
Submitting ready input data to students, Programming Taskbook directs their efforts to the development and program
implementation of the algorithm of the task solving; and the variety of input data submitted by Programming
Taskbook provides the effective testing of the offered algorithm.
Programming Taskbook 4 is officially registered in the Software Register of Russian Federation on
April, 28th, 2007 (the certificate No. 2007611815).
Development of English version of Programming Taskbook 4
has been supported by European Consortium of Innovative Universities
as a part of the joint Russian-German project
"Supporting Assessment of Program Assignments" (SAPA) in 2006-2007.
The Programming Taskbook package contains the following tools:
- PT4Setup allows you to register a complete version of the Programming Taskbook
and configure the associated programming environments and working directories;
- PT4Demo shows all tasks of Programming Taskbook in demo mode;
- PT4Load launches a chosen environment and loads a template for solving a selected task
in this environment;
- PT4Results shows information about the process of solving tasks; this information contains in
the results.dat file;
- PT4Panel provides a quick launch of the help system and all
the Programming Taskbook tools for any working directory.
These tools are available from the Programming Taskbook menu "Start | Programs | Programming Taskbook 4".
The shortcuts of these tools are created automatically in any
Starting with version 4.11, the PT4Results tool is available directly from the Programming Taskbook window.
The PT4Panel tool was added in version 4.22.
Programming Taskbook Mini Edition
Programming Taskbook Complete Edition (PT4Complete)
requires registration; after the registration
all of 1100 tasks are available for solving.
Programming Taskbook Mini Edition (PT4Mini)
is a freeware; it contains 270 tasks that are available for
solving. The tasks included in the Mini Edition are marked by the symbol "°". All
these tasks are also available for solving in unregistered version of
PT4Complete. All tasks that are available for solving
in PT4Mini are listed below:
Begin1Begin40, Integer1Integer30, Boolean1Boolean40, If4, If6, If8, If12, If22, If26,
Case2, Case4, Case9Case10, Case18, For5, For12For13, For15For16, For19For20, For33, For36,
While1While2, While4, While7, While11While12, While22While23, Series1, Series15Series17,
Series19, Series21, Series30,
Proc4 (Func25), Proc8 (Func29), Proc10 (Func31), Proc20Proc21 (Func5Func6),
Proc25 (Func10), Proc40 (Func40),
Minmax1, Minmax6, Minmax12, Minmax19, Minmax22, Array4, Array7, Array16, Array32, Array47, Array54,
Array63, Array71, Array79, Array89, Array92, Array108, Array112, Array116, Array134, Matrix7,
Matrix24, Matrix36, Matrix53, Matrix74, Matrix82, Matrix88, Matrix100, String9String10, String19,
String29, String41, String44, String63, String70, File2, File10, File25, File27, File41, File43,
File48, File50, File58, File61, File63, File67, File74, Text1, Text4, Text16, Text21, Text24,
Text34, Text38, Text42, Text44, Text57, Param1, Param17, Param30, Param40, Param49, Param53,
Param59Param61, Recur1, Recur4Recur5, Recur10, Recur14Recur18, Recur21, Recur25, Recur27,
Dynamic2Dynamic3, Dynamic5, Dynamic8Dynamic12, Dynamic25, Dynamic30, Dynamic49, Dynamic55,
Dynamic59, Dynamic63, Dynamic70, Dynamic74, Dynamic78,
Tree2, Tree6, Tree9, Tree12Tree13, Tree32, Tree34, Tree40, Tree47, Tree49, Tree53,
Tree59, Tree65, Tree70, Tree74Tree76, Tree79, Tree86, Tree92.