Logical & problem solving skills have an important role in Information Technology (IT) or Computer Science as it helps develop the ability to solve problems, build logic databases and logic gates, and design programs. Computer programs are written in special, symbolic languages, e.g., FORTRAN, C++, Lisp, and Prolog. These languages contain features of logical symbolism, and Lisp and Prolog are derived from formal languages for logic. Through such connections, the study of logic can help one in the design of programs. Computer science is not just programming. It includes the logical and mathematical analysis of programs. With such analyses, one can prove the correctness of procedures and estimate the number of steps required to execute a specified program. Modern logic is used in such work, and it is incorporated into programs that help construct proofs of such results. Logic also has a role in the design of new programming languages, and it is necessary for work in artificial intelligence and cognitive science. Some parts of logic are used by engineers in circuit design.  To cover the topics specified on the teaching outline (p. 7), this module introduces key topics in Discrete Mathematics, Linear Algebra, Boolean algebra, Mathematical Logic, Logic, Finite Mathematics, and Mobilizing Creativity and Innovation.