Jan. 11, 2018, 3:47 p.m.

This is just a summary of Computer Science as I have experienced it at the University of Edinburgh for the past four years. Now, I am in my final year (fifth year, masters year) and my conclusion of CS is that it is based on these knowledge:

**Logic**. Three types of logic I saw throughout my studies:

- Propositional logic
- Predicate logic
- Temporal logic

**Mathematics**:- Linear Algebra (higher dimension)
- Calculus (optimization)
- Probability
- Discrete Mathematics
**Creative thinking**

CS is made easy in my opinion if one has a depth understanding of these building blocks. A thorough arguments for this statement will be presented on another post. However, notice that I have skipped programming from the building blocks. The reasons are that programming can be explained using logic, mathematics (discrete mathematics) and creative thinking.

Studying CS was a natural choice for me because of the creative freedom. But my mother wanted me to study medicine. As a very creative and logical person, I reasoned that medicine was not appropriate because at the time my perception of medicine was that knowledge was focused towards organisms biology and there were no rooms for creativity. This to me was very limiting. Secondly, I was scared of blood.

I knew I will study CS, though I did not have a complete understanding for what it was. **Wikipedia** provides an answer to this. So, I chose courses that answer the fundamental questions: what is CS?

I had the following courses (courses shown in color ** red**,

** Logic; Object-Oriented Programming in Java; Data and Analysis (**I loved this course

My courses ranged from all the spectrum of CS. This lead me to observe the following pattern:

- Problems and Solutions.
- CS deals with problems and solutions in different types of environments. For example, in Computer Architecture, I read about cache (fast memory near the Central Processing Unit (CPU) ) and the reasons why they were created: minimizing the latency between the CPU and the accessibility of memory from the RAM.

**But here comes my argument:** ** what tool is best known to capture the scope of a problem? **Yes,

After you know the constraints and scope of the problem, **creative thinking **is used in order to find a **solution**. This is because describing problems using logic gives you the capability to understand the constraints and consequences of the problems. And creative thinking to me is finding ways that satisfy those constraints and mitigate consequences i.e. a solution in a nutshell.

However, the **solution** itself might not be efficient, this is where **Mathematics** becomes very important. **Mathematics provides the tool for analysing the efficiency of your solution**. Or it plays a major role to develop models for particular set of problems.

In my upcoming posts for CS, I will be illustrating how these building blocks in CS helps me analyse complex systems.

**Logic, Mathematics and Creative Thinking** intermix equal CS.

OR in other words: Logic, Mathematics and Creative Thinking are the **R****G****B** of CS.