Skip to main content

Recommended background knowledge

We expect you to have a knowledge (at least to some degree) of the following basic topics, that should be part of the background of a computer scientist.

  • Fundamentals of math  
    • Basic knowledge of calculus, linear algebra, statistics and probability, logics 
  • Software development  
    • Experience in designing and implementing (coding, debugging, and fixing) small programs in the C language and at least one of the following programming languages: C++, C#, Java, Python. 
  • Fundamentals of databases  
    • Basic knowledge of the entity-relationship data model and the relational data model 
    • Experience in database design, data definition, data manipulation, and queries in SQL 
  • Fundamentals of algorithms and data structures  
    • Basic knowledge of main data structures (arrays, queues, lists, trees, graphs, hash tables) and their operations 
  • Fundamentals of computer architectures  
    • Basic knowledge of main functionalities, organization, and implementation of computer systems 
  • Fundamentals of operating systems and network protocols  
    • Basic knowledge of the main operating system components and network protocols (i.e., TCP/IP, stack) 
    • Experience in using the shell to browse a file system and perform basic operations on files and directories 
  • Fundamentals of web programming technologies  
    • Basic knowledge of website structure, web applications and hosting, HTTP protocol 
    • Experience in client-side web programming with HTML, CSS, and Javascript 

 We will test your background knowledge at the beginning of the pre-acceptance process and a lack of preparation on the listed topics will result in immediate rejection.

To successfully pursue your studies in Genova, you will need more profound knowledge on those subjects and others, curriculum specific. We will help you acquire them, if need be, through dedicated activities.