If you have a question that you want to be added to the faq contact us.

Frequent questions

Can I use skype?
Of course you can. Skype is available for both Linux, Mac-OS and windows and the installation is quite easy. It also allows screen sharing. Skype is an awesome choice which we can use as a teaching tool. If we have arranged a meeting you can call me on skype
Can you come to my place?


But Skype and AnyDesk can be used if needed.


I am paraplegic, can you teach me?

Yes, there is no problem on that.

We can arrange meetings via Skype and any remote access program you are familiar with (we can recommend a lot) . We will be working on your computer remotely. In that way, everything will be ready to you once the session ends.

A high definition camera will be used for the drawings via a high speed VDSL line. You can easily take screen shots to store any diagrams we have made.

If you have difficulty setting up a computer, we can provide instructions and finally, if needed, come at your house to help you setup it up.


I have no idea how to create a makefile

You can use the online makefile generator.

You should watch the Systems programming lectures of Smaragdakis at delos to learn how to write a makefile though.


What do I have to have with me?

You should have the following:

  1. A notepad
  2. Your credentials (username and password of your student account)
  3. An email address of preferably a provider that is not g-mail (since it blocks attachments with code, sometimes without warning).

Read this article for more details.

What is the duration of each meeting?

A 2-h session has a duration of approximately 105 min.

A 3-h session has a duration of approximately 165 min.


I have some friends, can we work together?

If a project is a team project then you most certainly can (and should).

You can use many tools to collaborate like trello, wrike, and of course gitlab.

It is recommended that you create a group on Viber and add all the members to the group. Alternatively, you could use Facebook groups but you should take into account that Facebook groups are not private and the Facebook mobile application is unstable and cpu intensive. As a result of this, members of your team that have old devices could encounter problems.

If the project is a individual project then although you could talk to each other and exchange ideas, actual cooperation is not feasible since each resulting project should be different.

What education do you have?

You can find a quick summary of my education at the profile page.

What is the meaning of assisted coding?

Assisted coding has numerous meanings. It is frequently used with the term “computer-assisted coding” which means a person codes an answer using the computer to search for possible classifications based on some search text. In this case the computer helps that person to perform a task easier, for example assigning codes to terms of a data set.

However, we use the term coding with the meaning of writing code in a programming language. Assisted coding refers specifically to teaching how to write code properly. It is live interactive method of teaching where the student tries to solves the problem and writes the code in a specific programming language with an overseer who guides the student to write the code according to design principles and paradigms.

Methods like drawing sequence diagrams, entity relationship diagrams, class diagrams, flow diagrams etc, and teaching the related theory can be used but the focus of assisted-coding is how to actually write the code itself i.e the application of design patterns and architectural patterns on the code. Of course patterns are not always needed nor used for simple projects.

Why don’t you have a Facebook page? that would be neat!

Actually not.

The real reason is that many students do not want others to know they are taking lessons.

Although groups in Facebook could be configured as private, there are some ways someone, who is not a member of a group, could view the members of that group. In summary: In Facebook, membership is not private. That is an important break-dealer because a university member, an employer, a friend or a family member can lookup and see the groups students are following.


Can I make my laptop run faster?

I suggest you do the following three relatively cheap upgrades:

  1. replace your hard disk drive with a quality SATA drive like a SSD of the Samsung evo series.
  2. increase RAM to 8 GB (you don’t need more)
  3. use Linux if possible.

For casual use, you can resurrect old laptops with Peppermint, Lubuntu, or Manjaro Linux XFCE but there are many other options too.

Can you repair my laptop?

If your laptop has a actual hardware problem (which is not very usual) then it is debatable whether you should repair it in the first place. Maybe it is better to buy a new one or a refurbished one from a seller like usedoffers.gr or pcrama.gr. There are also many international sellers who offer used laptops at great prices and could ship one to your location.

If your laptop has a software problem then we can teach you how you can fix it. In that way, if the same problem reappears you will know what to do.

I don’t have a laptop and I can’t afford one

No problem. You don’t need one.

It is recommended, however, that you buy one. These days you can easily find used laptops in good condition, in good prices and with guarantees of at least one year.

Focus on ergonomics and not visuals. You do not need an expensive laptop to write code. You need a good keyboard, a great screen and an average to above average CPU. Buying a used laptop is a good choice and it is highly cost effective.

Nicomedes System

I want an app to be added to Nicomedes System

Nicomedes System is being developed in personal time.

If you want an app to be added you could use the contact page to describe us the problem and the solution. We will examine it and approve it for development if it is possible and not too time consuming.




What is the Nicomedes System?

Nicomedes System is an online solver for common exercises that I teach frequently.

By using interactive methods, teaching is becoming more fun and learning easier. Feel free to use it !


What technologies does Nicomedes use?

Nicomedes System is implemented in Lumen and VueJS

Who was Nicomedes?

Nicomedes was an ancient greek mathematician who enjoyed solving geometrical (and not only) problems.

Since he was a problem solver, we decided to name the online solver with his name.

Prices and Payment

Can I get a better price for a specific way of payment?

Unfortunately it is not possible.

The cost is the same for all way of payments.

For available methods check the Payment options page. You can pay online with e-banking or via paypal.


Can I get a better price?

We do not make specific deals with new students.

However, if we do cooperate for a long time better prices may be offered.

Can i pay in another currency?

Cash is only accepted in euro.

But you could use paypal or your personal e-banking account to convert currency if needed.

Can I pay with a debit/credit card?


In-house, all of the following: Mastercard, Maestro, VISA, JCB are accepted via an online POS. Additionally you could pay with Bitcoin or Ethereum.

All supported payment options can be find at the Payment options page.

I am confused on the way you define prices

You can use the Price Wizard. It is very easy to use and with it you can have an quick estimation of the available plans and their prices.



I need help but I don’t want anyone to know

No problem.

We respect privacy above all.

Please notify us beforehand so that we can arrange meetings in way that other students do not meet you.

Also, another easy solution would be to use Skype and AnyDesk.

Is my e-mail safe?

You can read the privacy policy here


I don’t like the software you recommend

Software recommendations are totally subjective.

There is no problem in using the software of your choice.


I was told Mujibuntu is better! Why should I use the distro you recommend?

During your career, You will always keep meeting new people who will be telling you that Mujibuntu is a better OS than the one you are using.

The answer is: who cares? There is huge number of Linux distributions out there and you will definitely not be able to follow each one of them. Linux ecosystem is live and dynamic. Distributions are constantly being created or abandoned. Indeed some of them may be better than the one you are using but you don’t know if Mujibuntu is.

Start slow, start with one, learn it. If you get bored of it and you do have spare time, install another one. Use youtube to preview other distributions and use virtual machines if you want to check them out. But you should never switch distributions just because someone told you another distribution is better.

The only reason you may have to listen about Mujibuntu is if your friend can actually enumerate specific reasons of why Mujibuntu is better and at the same time those reasons actually apply to your workflow. If you are not using photoshop but Mujibuntu supports photoshop, you can still just ignore it. If you do use it, then please install Mujibuntu.

Why do you recommend netbeans for beginners?

Netbeans has two major drawbacks as a general IDE. Firstly, it requires Java which for various reasons someone may not want to install. Secondly, it’s a relatively slow.

On the other hand it has some advantages. It is rather stable, it is free, it is compatible with Windows/Linux/MAC OS, it is frequently updated and during the recent years it has improved a lot. But this is true for many other IDEs too. So what makes netbeans different?

Here are some reasons:

  1. The default user interface and the keyboard shortcuts are quite similar with the shortcuts of IntelliJ IDEA and Android Studio, so by learning them you are adapting to other important IDEs as well. Eclipse and Visual studio have their own sets and are quite different. Of course you can configure shortcuts and perspectives to all IDEs but this is an extra work a beginner should not do at this point. We should focus on writing code while being productive by using a modern IDE.
  2. Netbeans workflow is more similar to Android Studio and IntelliJ than eclipse.
  3. Projects do not need to be imported/exported from a computer to another one. This is a timer saver and very important detail of the workflow. Eclipse method of importing projects is bad.
  4. Projects can be closed and when they are closed they remain invisible.  This is a great advantage for beginners because they may not be able to work with multiple workspaces and they don’t know how to fix things when something related to workspace setup goes wrong.
  5. Perspectives work seamlessly. I find eclipse perspectives intrusive and the way they work absolutely annoying.
  6. The debug perspective of eclipse is a total mess and the integration with maven is worst than Netbeans and IntelliJ.

Obviously, in the end you should only use whatever IDE you feel comfortable.

Remember, things stated are totally subjective. If you do not feel comfortable with Netbeans, use the IDE of your choice.

Support System

How do I create an account to the Support System?

You do not have to create an account.

Once you have registered to any course via the registration page, an account to the support system will be created for you automatically. You will also receive an e-mail to active that account.

If you do not want to use the Support System, you can just ignore the e-mail. However, it is recommended that you activate that account and take advantage of the benefits it offers to you.


Should I use the Support System?

You don’t have to use the Support System if you do not want to.

You can simply use your e-mail and reply as usual. The system supports e-mail channeling so as the e-mails are being exchanged, it will automatically track the conversation and log it to the ticket history.

Additionally, the system does offer an easy way to review the conversation and the status of our progress later on.

What is the Support system?

The support system is an online customer support software running on freshdesk.com.

It offers ticketing, collaboration, automation, knowledge base, analytics and other features but the most important is that keeps track of the conversations.

Will I be charged differently if I use the Support system?


There is no additional charging.


I cannot write code! I will never succeed!

All students, regardless of their skills, will get their degree sooner or later. The only way for them not to complete their studies is if they quit. This is not a handy quote to use in order to make you feel-better. It is the reality and it works both ways: Getting the degree means nothing by itself exactly because of that. It the beginning of a long path for you to follow. It is not that important to get a bachelor as it is to prepare for the rest of your career.

Thus, there are two things you have to consider:

  1. if you are studying computer science, you have to learn the basics even on fields you do not like (or not study at all)
  2. everyone can learn the basics.

So, initially you have to acknowledge that every single student you have met has the capability of learning everything needed for a bachelor degree in computer science.

Then, you have to make a plan and allocate enough time.


I don’t want to learn, I just want to get my degree!

A prerequisite for learning how to code is to actually have the desire to code. If are weak, we may help you to become stronger and get your degree.

We may help you learn and improve but if you have no desire to actively participate to the learning process too then most probably AssistedCoding is not for you.

I want to get a grade of 100% !!!

The absolute 100% grade is not just a matter of skill and performance but it is also based on many other things sometimes including luck.

For example, there are many times additional requirements that are not described on the assignment draft and are given to the students verbally. Even if you implement 100% of the draft, your grade may not be 100%. If you want a flawless grade, you will have to participate and ask many questions to the tutors so as to understand what they are asking and if there are hidden requirements.

Please note that if your skill is not high enough, setting as a goal a flawless implementation within a strict deadline is a very bad strategy because there is a high chance you will not be able to understand all the details within the time frame given.

A fail safe goal for beginners would be a grade around 60-70%. Then try to build skill gradually from there.

What do I need to know before I start?

You don’t need to know anything beforehand.

You can start as a beginner and improve on the way. However, if you are trying to solve a specific problem (like a project that was given to you as a student project with a specific deadline), it is very helpful to watch the lectures and try to follow your tutor’s way of thought. We do know that many universities fail miserably on that point, but, still, watching the lectures may help as is participating actively in the learning process.