This course provides a fundamental introduction to computer organizations, data architectures, algorithms, operating systems, and programming mechanics. a brief history in computing, basic underlying hardware/software components and information technologies are discussed in the first part of the course. In the second part of the course, the content focuses on problem solving approaches, design and trace approaches of computer programming constructs. Finally, the course introduces the use of computer algorithms, both flowcharts and pseudo-code as a practice to introduce computer programming constructs.