Department of Computer Engineering Technology
Electromechanical Engineering Technology | Course Outline
Course: CET 1111: Logic and Problem-Solving
Course Coordinator: Prof. Benito Mendoza, PhD. Revised on: Fall 2024
Credits: 3 This course is: ☒Required ☐Elective ☐ Selective Elective
Contact Hours: 4 Class Hours: 2 Lab Hours: 2 Ind. Study Hours: 0 Internship Hours: 0
Catalogue Description:
A practical introduction to the foundations of problem-solving and design thinking applied in computer
engineering technology. Students are brought into the process of building physical computer systems that interact
with the user or the environment through sensors and actuators. Students learn fundamental computational
techniques, logic, creative problem-solving, and iterative development through project-based learning.
Pre-Requisites: CUNY proficiency in mathematics
Co-Requisites: N/A
Required Texts [Title. Authors. Publisher. Year.]
1. Introduction to programming using MicroPython. Free material from the ARM School
2. Micro:Coourse: Learn Computing with micro;bit. Rob Leeman. Free material from the ARM School
Other Suggested Reference or Supplemented Material
1. The Invent to Learn Guide to the micro:bit (Invent to Learn Guides). Pauline Maas, Peter Heldens,
Gary S. Stager. Constructing Modern Knowledge Press (January 5, 2023)
2. BBC Micro:bit in Practice: A hands-on guide to building creative real-life projects with MicroPython
and the BBC Micro:bit. Ashwin Pajankar, Sandeep Saini, Abhishek Sharma. Editorial Packt. Dec 2022 1st
Edition
3. The Official BBC micro: bit User Guide (1st. ed.). Gareth Halfacree. 2017. Wiley Publishing.
Course Learning Outcomes
Upon successful completion of this course, the students will be able to:
1. Describe the fundamental components of computer systems, including hardware and software, and explain how
they interact to solve real-world problems.
2. Use problem decomposition, abstraction, pattern recognition, and algorithmic thinking to design efficient solutions
for technical challenges.
3. Develop and iteratively refine software and hardware solutions using control structures, functions, and modular
design principles.
4. Employ user-centered design thinking principles to empathize with users, define problems, ideate solutions,
prototype, and test functional systems.
5. Identify and resolve errors in algorithms and systems through systematic testing, debugging, and validation
techniques.
6. Analyze and manipulate data using logical structures, Boolean expressions, and fundamental data structures (e.g.,
lists, dictionaries).
7. Apply problem-solving and design principles to real-world scenarios, such as IoT systems, sensor-based devices, or
energy efficiency projects.
8. Work collaboratively in diverse teams to plan, develop, and evaluate engineering projects, demonstrating effective
communication and teamwork.
General Education Outcomes
SKILLS/Inquiry/Analysis: Employ scientific reasoning and logical thinking.
SKILLS/Inquiry/Analysis: Use creativity to solve problems
KNOWLEDGE/Lifelong learning: Acquire tools for lifelong learning—how to learn, how they learn, knowledge of
resources.
VALUES, ETHICS, AND RELATIONSHIPS/Professional/Personal Development: Demonstrate Intellectual honesty
and personal responsibility.
Student Outcomes listed in the ETAC/ABET Criterion 3 Addressed in this Course
Student Outcomes Level
1. An ability to apply knowledge, techniques, skills and modern tools of mathematics, science,
engineering, and technology to solve well-defined engineering problems appropriate to the I
discipline;
2. An ability to design solutions for well-defined technical problems and assist with the engineering
I
design of systems, components, or processes appropriate to the discipline;
3. An ability to apply written, oral, and graphical communication in well-defined technical and non-
I
technical environments; and an ability to identify and use appropriate technical literature;
4. an ability to conduct standard tests, measurements, and experiments and to analyze and interpret
I
the results;
5. An ability to function effectively as a member of a technical team; I
ABET Program Criteria: Computer Engineering Technology
Curricular Area Level
a. Application of electric circuits, computer programming, associated software applications, analog
and digital electronics, microcontrollers, operating systems, local area networks, and engineering
I
standards to the building, testing, operation, and maintenance of computer systems and associated
software systems; and
b. Application of natural sciences and mathematics at or above the level of algebra and trigonometry
to the building, testing, operation, and maintenance of computer systems and associated software I
systems.
Legend: I (Introduce), R (Reinforce) and E (Emphasize). Unmarked means not addressed.
Brief list of topics to be covered
Week Lecture Lab
1 Introduction: Introduction to the course, syllabus, Lab 1: Getting started with MicroPython
objectives, how you will be assessed, academic Mu – what is an IDE?
integrity, and policies. The IPO model with Python
How computers work When will you be 100 years old?
• Hardware and software
• The Input, Process, Output (IPO) model
• Computational Thinking
• Algorithms and Programs
Quiz 1
2 Computer programming, I Lab 2: Getting Started with Micro:Bit
• Variables and Data Types: Numbers, • Importing
Strings, Booleans • Scroll display
• Control Flow: sequence, conditionals, • Input: Buttons / how they work
iterations • Events and Event handling (interrupts)
• Algorithmic Thinking Vending Machine
Quiz 2
3 Functions Lab 3: Making a conductivity Tester
• Functions as commands, arguments • micro:bit’s pins as inputs
• User defined functions
• Returning values micro:bits to test the electrical conductivity of
• Parameters, arguments, scope materials
Quiz 3
4 Computers and the technology around us Lab 4: Sensor gadget
• Types of computers • Types of sensors
• What is a microcontroller? • Temperature sensor
• Internet and the Cloud • Light Sensor
• Internet of Things (IoT) • Microphone
Quiz 4 • Making a meter
5 The Design Thinking Process Project I - A Physical Digital Pet (micro:PET)
• Empathize, Define, Ideate, Prototype, Test • Requirements
• Design thinking/coding by design • Success criteria
Quiz 5 • Project Brainstorming
Ideating a solution with a micro:bit
6 Conditionals Revisited micro:PET
• Nested conditional • Designing the product
• Chain conditionals • Making
Quiz 6 Prototyping, testing, iterating
7 Booleans micro:PET
• Complex Boolean expressions • Demo, Elevator speech
• Logic Gates Evaluation
Quiz 7
8 Data Structures Project II - Energy awareness
• Lists, Tuples, Sets • Requirements
• Dictionaries • Success criteria
Quiz 8 • Project Brainstorming
Ideating a solution with a micro:bit
9 Iterations Revisited Project II - Energy awareness
• Traversing Lists and Strings • Designing the product
• While loop • Making
• Traversing Dictionaries Prototyping, testing, iterating
Quiz 9
10 Searching algorithms Project II - Energy Awareness Project
• Linear search • Demo, Elevator speech
• Binary search Evaluation
Quiz 10
11 Data Representation Lab 5: Binary Watch
• ASCII • Understand why computers use binary numbers
• Bitmaps Converting between denary and binary
• Sound
Quiz 11
12 Computer Networks and Communication Lab 6: Transmitting messages
• Radio communication Ciphers
• Channels and strength
Quiz 12
13 Final Project: IoT-Smart Cities Final Project: IoT-Smart Cities
• Requirements • Ideating a solution
• Success Criteria • Roles and responsibilities
• Teams • Working in parallel
Project Brainstorming: Choosing a goal • Designing the product
14 Final Project: IoT-Smart Cities Final Project: IoT-Smart Cities
Make, coding, test, iterate Make, coding, preparing presentation
15 Presentations Presentations
Wrap-up and evaluation