The course will start with reminders on linear algebra and complex numbers. Then, foundational principles of quantum mechanics necessary for understanding quantum computation will be established: postulates of quantum mechanics, quantum superposition, and the measurement problem. The concept of qubits and their representation will be studied, as well as basic quantum gates, such as the Pauli and Hadamard gates. Subsequently, the course will move to discussing quantum algorithms, focusing on foundational ones such as Deutsch-Jozsa, and Grover's search algorithm. In terms of quantum information theory, concepts such as quantum entanglement and quantum teleportation will be discussed, as well as the no-cloning theorem. If time permits, quantum error correction will be covered.