CSP: Computer Programming

Computer Programming: is the second course for Computer Science. After this course you will be able to understand and use one or more programming languages. This course is required for Software Developer, Website Developer certificate and Database Developer certificate.


In the next YouTube playlist you can watch a short introduction to 12 computer languages. I describe the main features of the language. This will help you to decide what language you chose to learn. If you’re familiar with computer languages you can skip to deep learning.

Introduction to Programming Languages


For beginners we recommend: Python or Julia. For these languages we have created extensive tutorials to explain  programming paradigms and language syntax.  Exams  have lower difficulty and are designed for learning. Many answers have hinds and obvious choices.

For senior programmers we recommend a secondary language: You can start with Go or Rust. C# and C++ are good if you search for a job. Swift, Java and Dart are more difficult to master. D is a disruptive language we plan to present this year.

For web programming you can learn HTML+CSS and JavaScript. For databases design you must learn also SQL and PL/SQL languages. To become a full stack developer you need: HTML+CSS, SQL, JavaScript and Java or Python. A system programmer can chose Rust, C or D.

Deep learning

Next is a list of most useful languages you can chose to learn. For each language we have one short video and tutorial articles for introduction into language syntax. You can learn all about a language from external resources. We provide links to documentation. After you learn the language you can take an exam to verify your skills. All exams are free.
#LanguageDifficultyTutorialLanguage DescriptionOrganizationParadigm
1HTML+CSSfreeDefault language for static web pages.(W3C)Descriptive
2JavaScript✰✰freeDefault language for dynamic websites.MozillaFunctional
3Python✰✰freePopular dynamic language.GPLMulti-paradigm
4PL/SQL✰✰✰✰premiumDatabase stored procedures language.OracleProcedural
5Julia✰✰premiumAcademic dynamic language.MITMulti-paradigm
6Java✰✰✰✰✰premiumAndroid APP default language.OracleObject Oriented
7Swift✰✰✰✰✰premiumApple’s mobile devices default language.AppleMulti-paradigm
8Go✰✰✰premiumConcurrent language for Google cloud.GoogleMulti-paradigm
9C#✰✰✰✰✰premiumWindows APP default language.MicrosoftMulti-paradigm
10Rust✰✰✰freeSafe system programming language.MozillaMulti-paradigm
freeSafe high-level programming language.SageCodeMulti-paradigm
12C++✰✰✰✰freeSystem language for Linux and Windows.GPLMulti-paradigm

Legend: beginners, intermediate,  advanced