Course Objectives

This undergraduate course provides a broad review of important challenges in computer science and computer engineering. The course is given to the computer and IT engineering students in the first semester.

Intended Learning Outcome

Students would be able to understand differences between different fields of computer sciences and engineering. They learn the main topics of computer and IT engineering courses which would be delivered at the IUT. They also learn about department and faculties.

Slides

  1. Introduction: Introduction, Course Administration, Books and Resources, Computer Science vs Computer Engineering, ACM and IEEE Definition, and Applied and theoretical computer science.

  2. Data Storage: Bits and Their Storage, Main Memory, Mass Storage, Representing Information as Bit Patterns, The Binary System, Data Compression, Communications Errors.

  3. Data Manipulation: Computer Architecture, Machine Language, Program Execution.

  4. Operating Systems: The History of Operating Systems, Operating System Architecture, Coordinating the Machine's Activities, Handling Competition Among Processes, Security.

  5. Networking and the Internet: Network Fundamentals, The Internet, The World Wide Web, Internet Protocols, Security.

  6. Algorithms: The Concept of an Algorithm, Algorithm Representation, Algorithm Discovery, Iterative Structures, Recursive Structures, Efficiency and Correctness

  7. Artificial Intelligence: Intelligence and Machines, Perception, Reasoning, Additional Areas of Research, Artificial Neural Networks, Robotics, Considering the Consequences

Book

Computer Science an Overview, by J.Glenn Brooksher, Pearson 2011 (11th Edition)

Game Security This book uses broad coverage and clear exposition to present a complete picture of the dynamic computer science field. Accessible to students from all backgrounds, Glenn Brookshear uses a language-independent context to encourage the development of a practical, realistic understanding of the field. An overview of each of the important areas of Computer Science (e.g. Networking, OS, Computer Architecture, Algorithms) provides students with a general level of proficiency for future courses.