Download the Programming Taskbook Complete Edition (ver. 4.16 in English and Russian)
Download the Programming Taskbook Mini Edition (ver. 4.16 in English and Russian)
Programming Taskbook is intended to be used while learning programming languages such as
Pascal, Visual Basic, C++, C#, Visual Basic .NET, Python, Java, Ruby. 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.16 has been implemented for use in the following programming
environments (environments for development of Win32-applications are supported only;
in particular, the 32 bit JDK should be used for NetBeans and Eclipse IDEs):
- Borland Delphi 7.0 and 2006, in particular, Turbo Delphi 2006 for Windows,
- Free Pascal Lazarus 1.x http://sourceforge.net/projects/lazarus/,
- Microsoft Visual Basic 5.0 and 6.0,
- Microsoft Visual Studio 2008, 2010, 2012, 2013 and 2015 (C++, Visual Basic .NET and C# languages),
- Code::Blocks http://sourceforge.net/projects/codeblocks/
- IDLE (Python 2.5,
- PyCharm Community Edition 3.4 и
(Python of versions mentioned above),
- NetBeans IDE 6.9,
7.4 (Java and Ruby),
- Eclipse 4.2 Juno,
4.4 Luna (Java).
Programming Taskbook is also a part of the Pascal ABC and PascalABC.NET
programming systems developed by Prof. S.S.Mikhalkovich (www.pascalabc.net).
Also Programming Taskbook may be used jointly with the ProgrammingABC.NET web development environment
(www.pascalabc.net/WDE) for PascalABC.NET, Visual Basic .NET, C# and Python languages.
Starting from the version 4.12 the
Programming Taskbook for MPIproblem book on parallel MPI 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 additional tools:
- 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.
These tools are available from the Programming Taskbook menu "Start | Programs | Programming Taskbook 4".
The shortcuts of these tools are created automatically in any
Since the 4.11 version, the PT4Results tool is available directly from the Programming Taskbook window.
Solving educational tasks in the ProgrammingABC.NET WDE
In the ProgrammingABC.NET web development environment
all task groups of the Programming Taskbook are available to solve on the
PascalABC.NET, C#, Visual Basic .NET and Python languages.
There are two exceptions: the Dynamic and Tree groups based on pointers
are unavailable (instead you can use the groups with the same name which are based on objects),
the Proc and Param groups are unavailable for the Python and Ruby languages (instead you can use the
Program templates for all tasks can be loaded into the ProgrammingABC.NET environment
directly from the «Tasks» section of the
Programming Taskbook site. Just click on the
[Pascal], [C#], [VB.NET]
link placed after the name of required task.
For some tasks the complete solutions may be loaded into the ProgrammingABC.NET environment
instead of program templates. Names of such tasks are in italics.
The complete list of the tasks with the solution is given below:
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.