Foundations of Computing
Completion requirements
Module 1: Introduction to Computing and Its Evolution
- Historical evolution of computer technology
- Role of information technology in modern society
Module 2: Computer Systems and Software
- Organization and structure of a computer system
- Types and applications of computer software
- Concepts of data, information, and knowledge
Module 3: Programming and Data Structures
- Procedural and object-oriented programming
- Appropriate data structures for programming tasks
- Algorithms and data structures
Module 4: Theory of Computing and Machine Architecture
- Fundamental theory of computing
- Machine architecture and their historical context
- Sequential circuits and digital logic circuit design
Module 5: Introduction to Software Development and Operating Systems
- Principles of software development
- Overview of operating systems and their roles
Module 6: Human-Computer Interaction and Communication Systems
- Basics of human-computer interaction
- Components of communication systems
Module 7: The Internet and Management Information Systems
- Overview of the internet and its services
- Purpose and applications of management information systems
Teaching/Learning Methods
- Lectures
- Hands-on programming and software development exercises
- Group discussions and case studies
- Multimedia presentations
- Online learning resources and tutorials
Modes of Assessment
- Continuous Assessment (e.g., quizzes, assignments, class participation): 40%
- Midterm Examination: 20%
- Final Examination: 40%
Reading List/References
Primary Texts:
- Tanenbaum, A. S., & Bos, H. (2020). Modern Operating Systems (4th ed.). Pearson.
- Stallings, W. (2020). Computer Organization and Architecture (11th ed.). Pearson.
Supplementary Texts:
- Patterson, D. A., & Hennessy, J. L. (2021). Computer Organization and Design RISC-V Edition: The Hardware/Software Interface (2nd ed.). Morgan Kaufmann.
- Sebesta, R. W. (2020). Concepts of Programming Languages (12th ed.). Pearson.
Additional Texts:
- Downey, A. (2021). Think Python: How to Think Like a Computer Scientist (2nd ed.). O'Reilly Media.
- Guttag, J. V. (2021). Introduction to Computation and Programming Using Python (3rd ed.). MIT Press.
Online Resources:
- W3Schools (2024). Introduction to Programming. Available at: https://www.w3schools.com
- Khan Academy (2024). Introduction to Algorithms. Available at: https://www.khanacademy.org
- Coursera (2024). Foundations of Computing. Available at: https://www.coursera.org