Introduction to Computers and Programming

Course Overview

This course offers a foundational understanding of computer science and programming. Students will explore key areas, including computer systems, programming fundamentals, data structures, algorithms, web development, operating systems, security, and AI. Through lectures and hands-on projects inspired by real-world applications in fields such as biology, finance, and gaming, students will gain hard skills of coding, and soft skills of problem-solving, and algorithmic thinking.

  • Credits: 2
  • Prerequisites: This course is designed for beginners with no prior programming experience. A basic familiarity with computer usage is recommended, but no specific courses or technical skills are required.
  • Course Website: https://ismaelali.net/?page_id=751

Course Learning Outcomes

  • Gain a broad and robust understanding of computer science and programming.
  • Identify and describe the basic components of computer systems.
  • Apply core coding concepts and fundamentals practically.
  • Write simple programs using pseudocode, Java, C++, and Python.
  • Develop basic web pages using HTML, JavaScript, and CSS.
  • Select appropriate data structures and types for specific applications.
  • Demonstrate problem-solving skills using algorithmic thinking.
  • Implement basic searching and sorting algorithms.
  • Understand fundamental concepts in operating systems, security, and AI.

Course Schedule

WeekTopic
1Introduction to Computer Science & Course Overview
2Basics of Computer Systems: Hardware and Software
3Computer Architecture and Microprocessors
4Introduction to Programming Fundamentals with Scratch
5Programming Concepts: Variables, Conditions, Loops
6Introduction to Data Structures: Arrays, Lists
7Midterm Exam
8Web Programming: HTML Basics
9JavaScript and CSS Essentials
10Operating Systems: Basics and Functionality
11Introduction to Computer Security and Cryptography
12Computer Networks Overview
13Introduction to AI and Basic Concepts
14Final Exam + Project Presentations

Course Assessment

Quiz 10% + Midterm Exam 20% + Projects 40% + Final Exam 30%

Course Materials

  • Textbooks:
    • Computer Science Illuminated by Nell Dale and John Lewis
    • Python Programming for Beginners by Michael Learn
    • HTML, CSS, and JavaScript All in One by Julie C. Meloni
  • Software and Tools:
    • Scratch (Free, web-based)
    • Text editor or IDE (e.g., Visual Studio Code, available for free)
    • Access to Python, Java, and C++ compilers (recommended downloads will be provided)
  • Additional Resources
    • Online Tutorials: Codecademy, Khan Academy, and freeCodeCamp offer supplemental tutorials on programming concepts and web development.
    • Tutoring Services: [Provide information on institution tutoring services if available]
    • Discussion Boards: A discussion forum will be available through the course platform for questions, clarifications, and collaborative learning.

Prerequisites

This course is designed for beginners with no prior programming experience. A basic familiarity with computer usage is recommended, but no specific courses or technical skills are required.

Teaching Methods

This course will use a combination of lectures, interactive discussions, tutorial sessions, and project-based learning. Emphasis will be placed on hands-on experience through coding exercises, small group activities, and real-world projects to reinforce learning.

Course Policy

  • Illness: If you are absent due to illness as a valid excuse, please notify me of your situation at ismael.ali@edu.krd.edu before (or immediately after) your absence.
  • Course and Exam Schedule: Student is responsible of constantly following up the schedule for any updated material or any type of assessments, such as exams/projects. 
  • Etiquette: Attend all the session to be able comprehending the course material. Submit all assignments on-time, no excuse for late submission, except valid illness report. 
  • Late Attendance: No student should enter the hall 10 minutes after start time of the session. 
  • Late Work Policy: Assignments submitted late will incur a penalty of 10% per day, up to a maximum of 5 days. After 5 days, late submissions may not be accepted without prior approval from the instructor.
  • Academic Integrity and honesty: All students are expected to adhere to the highest standards of academic integrity. Plagiarism, cheating, or any form of dishonesty will not be tolerated. Violations may result in penalties, including a failing grade or further disciplinary actions.