Computer Science

Welcome to the computer science field!

In order to strengthen your knowledge of software development and software engineering research, we recommend studying computer science topics relevant to the field of software engineering.

These topics will give you the knowledge to develop complex software that only a few developers can create, such as operating systems, compilers, cryptographic libraries, and safety-critical avionics systems. They will also help you create innovative software that has never been developed before, while providing you with a broader perspective and valuable tools for your software engineering research.

The following are important topics to learn. It is recommended that you study them in sequence.

Set Theory. Please read this book: Herbert B. Enderton (1977). Elements of Set Theory. Academic Press.

Logic. Please read this book: Herbert B. Enderton (2001). A Mathematical Introduction to Logic. Academic Press.

Abstract Algebra. Please read this book, Thomas W. Judson (2021). Abstract Algebra Theory and Applications.

Computer Architecture. Please read this book: David Harris and Sarah Harris (2013). Digital Design and Computer Architecture. Elsevier.

Programming Language Theory. Please read one of the following books:

Compilers. Please read one of the following books:

Information Theory. Please read this book: David J.C. MacKay (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.

Mathematical Cryptography. Please read this book: Jeffrey Hoffstein et al. (2014). An Introduction to Mathematical Cryptography. Springer.

These topics may be difficult, but mastering them will greatly reward your career and satisfy your love of knowledge.

(Visited 319 times, 1 visits today)

Leave a Reply

Software development and software engineering research