Home Download First Run Main Window Buttons Tasks User Details Updater Register Login Program Help

Download / First User Guide

Download BYTE FORGE EDU

This page explains the desktop program like a first-time user is opening it for the first time. It shows what to download, what files appear after startup, what each main button does, and what the updater is for.

Download is ready. After click, this button will be available again after 5 seconds.

Package: ZIP file
Inside ZIP: program EXE and updater EXE
Platform: Windows PC
Learning path: C and C++ in CMD

Download Package

The download is a ZIP package. The current plan is simple: the ZIP should contain the main desktop program and the updater program. The first time the main program starts, it creates its own local txt settings files near the EXE.

Current Program ZIP

Click the download button and save the ZIP file to a normal folder like Downloads, Desktop, or a student work folder. After download, extract the ZIP. Do not run the EXE while it is still inside the compressed ZIP view, because Windows may not let the program create its settings files properly there.

After extraction, the folder should contain the main BYTE FORGE EDU program and the updater. The main program is where students load code, compile, run tasks, edit user details, and work with lessons. The updater is a small helper used later to check and download new public versions.

Expected Files

The normal first download package should include BYTE_FORGE_EDU.exe and BYTE_FORGE_EDU_UPDATER.exe. Other txt settings files are created by the programs after startup, so a new user does not need to copy them by hand.

Program Download Count

Real counted downloads saved in database: 53

This count increases only when the program ZIP is requested through the server download controller.

SmartScreen Notice

Windows may show “Windows protected your PC” because this is an early unsigned program. For testing, click More info and Run anyway only if the file was downloaded from the official BYTE FORGE EDU page on karadev.net.

First Run Workflow

First run means the user has extracted the ZIP and is starting BYTE_FORGE_EDU.exe for the first time on a clean PC folder.

BYTE FORGE EDU main window after startup
What Happens First

When the program starts, it checks whether important local txt files exist. If they are missing, the program creates defaults. This is why the ZIP can stay small and clean. The user does not need to understand settings files on day one; the program creates them so the buttons can remember paths, server URLs, user details, current task status, and update settings later.

The main window also checks useful tools. If Notepad++ is found, the Notepad++ box can turn green. If Clang is found, the Clang box can turn green and show the compiler version. If something is yellow, it means that part is missing, not checked, or waiting for the user to do the next step.

Step 1 - Extract The ZIP

Extract the ZIP into a normal folder before running the program. Do not run BYTE_FORGE_EDU.exe directly from the compressed ZIP preview window, because the program needs a real folder where it can create local txt files, remember settings, and later save task data.

Step 2 - Start The Main Program

Run BYTE_FORGE_EDU.exe from the extracted folder. If Windows SmartScreen appears during testing, click More info and Run anyway only when the file was downloaded from the official BYTE FORGE EDU page. After the program opens, look at the status boxes and the big message area to see what was checked.

Step 3 - Let The Program Create Local Files

On first start, the program creates local txt files for program settings, user details, and task result state. These files help the program remember the current project folder, update URL, user data, current task status, and server workflow without asking the beginner to configure everything manually.

Main Program Window

The main window is the student's working desk. The big box is for messages, code/task text, compiler output, and server responses. The right side buttons are the main actions.

How To Read The Screen

The top line tells the current loaded state. For example, it may say that no code file is loaded, or it may show a loaded task folder and main file. This line is important because the program remembers the current project until the user loads another file, folder, or task.

The big central box changes depending on which button was clicked. It can show task instructions, compiler errors, compiler success messages, server health responses, or program status text. If the user wants to read task instructions again after other messages replace them, a task-info button can load them again.

The bottom area is for persistent path/status information. It should help the user know where the current project folder is, what EXE was compiled, and what server/download path is being used.

BYTE FORGE EDU main window layout

Main Buttons Explained

Each button is meant to do one understandable action. Beginners should not need to know command line details before using the program, but they should slowly learn what the program is doing for them.

Load Code File

This opens a Windows file dialog so the user can choose one source file. After a file is selected, the program remembers that file and its folder. Later buttons use the same remembered path, so the user does not need to select the same file again before every compile or run action.

Load Code Folder

This opens a folder picker and treats the folder like a small project. The program looks for main.c or main.cpp because a C/C++ project needs a clear start file. If that file is missing, the program warns the user so the project structure can be fixed.

Compile Code File

This runs Clang or Clang++ on the loaded main file. Before compiling, the app can remove the old EXE so the user does not accidentally run an older program. Compiler errors and warnings are printed in the big message box.

Run EXE File In CMD

This starts the compiled EXE in a command prompt. Beginners need this because console programs often close quickly after finishing. Tasks remind users to add a "Press Enter to close program" message and getchar() so output stays visible.

Open Code Folder

This opens the current project folder in Windows File Explorer. It helps the user see where source files, header files, compiled EXE files, and downloaded task files are stored.

View Code File

This opens the current source file in Notepad++ if it exists. If Notepad++ is missing, the program uses the default Windows text editor. This is for reading or editing the code outside the big message box.

View Task List

This opens the task list form. The user can choose C or C++ task lists, read task details, download a task, and load it into the main program workflow.

Check Task

This runs the compiled task program and compares required code/output rules. If the code compiles and required lines/output are found, the task can pass and points can later be sent to the server.

User Details

This opens a form where the user can edit local account details. The program can save the details locally and also send safe account/profile data to the server.

Task Workflow

Tasks are planned as guided programming exercises. The user reads the goal, edits source code, compiles, runs, checks the task, and then sends result data after the task passes.

BYTE FORGE EDU task/folder loading workflow
How A Beginner Should Think About Tasks

A task is not only a file to download. It is a small work folder with instructions, starter code, expected output rules, and sometimes hints or a solution file for development testing. The program downloads the task, remembers the task folder, loads the correct main file, and then lets the user compile and test the code.

When the user clicks Check Task, the program can verify strict requirements. Some requirements are exact, like required words in the output. Some requirements are flexible, like the student name after a label. This teaches students that computer programs are precise: one missing character can matter when output is checked automatically.

After a task passes, the task-list button can become a result-send action. This is how the desktop program can later connect local learning work with the user's server profile and points.

User Details Form

The user details form is where local user data becomes server account/profile data. This area must be clear because beginners may not know what is local and what is online.

What This Form Does

The left/current side shows what is already stored in the local user details file. The new user data side is where the user types new values. When Save Data is clicked, the program tries to save the data locally and send it to the server API.

A new user must use a real unique email. Test emails like student@example.com can already exist in the database, so the server may return a conflict. That is not a crash; it means the server is protecting account uniqueness. The user should choose a different email or later use login/sync when account login is implemented.

Not all fields are public. Some user data is used only for sync and account work. Public profile pages should show only safe fields like display name, country/city, learning goal, language, points, and selected task progress.

BYTE FORGE EDU user details form

Updater Program

The updater is a separate EXE because replacing a running program is harder when the main EXE is still open. The updater can check the server version file, download the update ZIP, and later will handle replacing files.

Updater Buttons

Check For Update reads the server version text file. That file says what the latest BYTE FORGE EDU version is, what ZIP file should be downloaded, what help page is related to the release, and what short notes describe the release. If the server version is newer than the local manager version, the updater shows that a new version exists.

Start For Update downloads the ZIP file named in the server version file. For now, this is mostly a controlled manual/test update flow. Later it can close the manager, unpack the ZIP, replace old files, and restart the manager automatically.

Make ZIP To Program Manager is mainly for the developer release workflow. It builds the public ZIP package from the current release folder, writes the version txt file, writes updater settings, and prepares files that can be uploaded to the website download folder.

BYTE FORGE EDU updater or reserved workflow screenshot

What Happens Next

The current program is already useful for local code work, but the bigger plan is a connected learning system with lessons, tasks, profile progress, and safer updates.

Better Lessons

More C and C++ lesson tasks will be added so students can work from beginner basics toward arrays, functions, files, structures, classes, and small projects.

Better Accounts

User login and safer server sync will be added so students can move between PCs without losing task progress.

Better Updates

The updater will later verify package hashes, protect update URLs, and do a cleaner automatic replacement process.