Computer Science for Children

That's a very large set of courses. To keep the material useful for ESL learners, I'll start with the first 8 courses. The remaining courses can be continued in a second and third part.

CMSC 2: Introduction to the Internet

What is this course about?

The Internet connects billions of computers around the world. In this course, students learn how people use the Internet to communicate, search for information, transfer files, and create websites. They also learn basic HTML, the language used to build web pages.

Vocabulary

WordMeaning
InternetA worldwide network of computers
ProtocolA set of rules for communication
Search EngineA website that helps find information
FTPA method of transferring files
EmailElectronic mail
HTMLA language used to create web pages
BrowserSoftware used to view websites
WebsiteA collection of web pages

Discussion Questions

  1. How often do you use the Internet?

  2. What search engine do you use most?

  3. Have you ever created a simple web page?

  4. What are the advantages of email?

  5. Why is HTML important?


CMSC 11: Introduction to Computer Science

What is this course about?

Computer Science is the study of computers and how they solve problems. Students learn about software, hardware, programming, computer theory, and computer architecture. They also write simple programs.

Vocabulary

WordMeaning
SoftwarePrograms used by a computer
HardwarePhysical parts of a computer
ProgramA set of instructions for a computer
AlgorithmA step-by-step solution
ArchitectureThe design of a computer system
DataInformation processed by computers
CodingWriting computer programs
DebuggingFinding and fixing errors

Discussion Questions

  1. Why do people study computer science?

  2. What is the difference between software and hardware?

  3. Have you ever written a computer program?

  4. Why is debugging important?

  5. What computer technology interests you most?


CMSC 12: Foundations of Computer Science

What is this course about?

This course gives students a broad overview of computer science. They explore different fields such as programming, artificial intelligence, networking, databases, and computer systems.

Vocabulary

WordMeaning
FoundationBasic principles of a subject
DatabaseOrganized collection of data
NetworkConnected computers
Artificial IntelligenceMachines that perform intelligent tasks
SystemA group of connected components
ComputationThe process of solving problems using computers
ApplicationSoftware designed for users
TechnologyPractical use of scientific knowledge

Discussion Questions

  1. Which area of computer science sounds most interesting?

  2. What technology do you use every day?

  3. Why are databases useful?

  4. What is artificial intelligence?

  5. How can computer science help society?


CMSC 21: Fundamentals of Programming

What is this course about?

Programming allows people to tell computers what to do. Students learn how to design programs, write code, test programs, and fix errors using a procedural programming language.

Vocabulary

WordMeaning
ProgrammingWriting instructions for computers
ProcedureA sequence of actions
VariableStorage for data
FunctionA reusable block of code
TestingChecking if a program works
BugAn error in a program
DebuggingFixing bugs
OutputInformation produced by a program

Discussion Questions

  1. Why is programming useful?

  2. What challenges do beginners face when coding?

  3. What is the purpose of testing?

  4. How do programmers fix bugs?

  5. Would you like to become a programmer? Why?


CMSC 22: Object-Oriented Programming

What is this course about?

Object-Oriented Programming (OOP) organizes programs using objects. Objects contain data and behaviors. OOP makes large software projects easier to manage and maintain.

Vocabulary

WordMeaning
ObjectA unit containing data and actions
ClassA blueprint for objects
MethodA function inside a class
AttributeData stored in an object
InheritanceReusing features from another class
EncapsulationProtecting data inside an object
InstanceA specific object created from a class
PolymorphismUsing one interface for many forms

Discussion Questions

  1. What is an object in programming?

  2. Why is OOP popular?

  3. What is the difference between a class and an object?

  4. How does inheritance help programmers?

  5. Can you think of real-life examples of objects?


CMSC 23: Mobile Computing

What is this course about?

Mobile computing focuses on creating applications for smartphones and tablets. Students learn how to design, develop, and test mobile apps.

Vocabulary

WordMeaning
Mobile AppSoftware for phones and tablets
InterfaceThe way users interact with software
TouchscreenA display that responds to touch
DeviceAn electronic gadget
DeveloperA person who creates software
User ExperienceHow users feel when using an app
DeploymentReleasing software to users
PlatformAn environment where software runs

Discussion Questions

  1. What mobile apps do you use daily?

  2. What makes a good mobile app?

  3. Would you like to create your own app?

  4. What problems can mobile apps solve?

  5. How are mobile apps different from websites?


CMSC 56: Discrete Mathematical Structures in Computer Science I

What is this course about?

This course introduces mathematical concepts used in computer science, including logic, sets, functions, relations, Boolean algebra, and linear algebra.

Vocabulary

WordMeaning
LogicRules of correct reasoning
SetA collection of objects
FunctionA relationship between inputs and outputs
RelationA connection between elements
Boolean AlgebraMathematics using true and false values
MatrixA rectangular arrangement of numbers
VectorA quantity with direction and magnitude
ProofEvidence that a statement is true

Discussion Questions

  1. Why is mathematics important in computer science?

  2. What is a set?

  3. How is logic used in programming?

  4. Have you studied matrices before?

  5. Which topic sounds most challenging?


CMSC 57: Discrete Mathematical Structures in Computer Science II

What is this course about?

Students continue studying mathematics for computer science. Topics include counting methods, probability, graph theory, and algebraic systems.

Vocabulary

WordMeaning
CombinatoricsMathematics of counting
ProbabilityThe chance that something happens
Graph TheoryStudy of nodes and connections
VertexA point in a graph
EdgeA connection between vertices
NetworkConnected nodes or computers
RandomHappening by chance
FormulaA mathematical rule

Discussion Questions

  1. How is probability used in daily life?

  2. What is graph theory used for?

  3. Why is counting important in computer science?

  4. Can you think of examples of networks?

  5. Which topic would you like to learn more about?


Review Questions

  1. Which course teaches HTML and Internet tools?

  2. Which course introduces mobile app development?

  3. What is the difference between procedural programming and object-oriented programming?

  4. Why do computer science students study mathematics?

  5. Which course would you most like to take first, and why?

CMSC 100: Web Programming

What is this course about?

Web programming focuses on creating interactive websites and web applications. Students learn how websites work, how to build web pages, and how to connect websites to databases and servers.

Vocabulary

WordMeaning
Web ApplicationSoftware that runs in a web browser
Front-EndThe part of a website users see
Back-EndThe server-side part of a website
DatabaseA collection of organized data
ServerA computer that provides services
ClientA device that requests services
FrameworkA tool that helps developers build applications
Responsive DesignA design that works on different screen sizes

Discussion Questions

  1. What websites do you visit most often?

  2. What makes a website easy to use?

  3. Why are databases important for websites?

  4. What is the difference between a website and a web application?

  5. Would you like to create your own website?


CMSC 123: Data Structures

What is this course about?

Data structures help programmers organize and manage data efficiently. Students learn about lists, stacks, queues, trees, graphs, searching, and sorting techniques.

Vocabulary

WordMeaning
Data StructureA way of organizing data
StackA structure that follows "last in, first out"
QueueA structure that follows "first in, first out"
TreeA hierarchical data structure
GraphA set of connected points
SearchFinding data
SortArranging data in order
NodeAn element in a tree or graph

Discussion Questions

  1. Why is data organization important?

  2. What real-life example is similar to a queue?

  3. How do search engines use data structures?

  4. What is the difference between a tree and a graph?

  5. Which data structure sounds most useful?


CMSC 124: Design and Implementation of Programming Languages

What is this course about?

This course explores how programming languages are designed and how computers understand them. Students study syntax, translation, data types, and language features.

Vocabulary

WordMeaning
SyntaxRules for writing code
TranslationConverting code into machine instructions
CompilerSoftware that translates programs
Data TypeA category of data
AbstractionHiding unnecessary details
StructureThe organization of a program
RuntimeThe period when a program runs
SemanticsThe meaning of code

Discussion Questions

  1. Why do programming languages need rules?

  2. What programming languages have you heard of?

  3. Why is syntax important?

  4. What is abstraction?

  5. How do compilers help programmers?


CMSC 125: Operating Systems

What is this course about?

Operating systems manage computer hardware and software resources. Students learn about memory, processors, files, networks, and multitasking.

Vocabulary

WordMeaning
Operating SystemSoftware that manages a computer
ProcessorThe computer's brain
MemoryStorage used while programs run
File SystemA method of organizing files
ResourceA computer component or service
ProcessA running program
NetworkConnected computers
MultitaskingRunning multiple tasks at once

Discussion Questions

  1. What operating system do you use?

  2. Why is memory management important?

  3. What happens when too many programs run at once?

  4. How does an operating system help users?

  5. Why are file systems necessary?


CMSC 127: File Processing and Database Systems

What is this course about?

Students learn how to store, organize, secure, and retrieve large amounts of data using database systems and query languages.

Vocabulary

WordMeaning
Database Management System (DBMS)Software for managing databases
QueryA request for information
TableData organized in rows and columns
RecordA single row of data
IntegrityAccuracy and consistency of data
SecurityProtection from unauthorized access
BackupA copy of data
RecoveryRestoring lost data

Discussion Questions

  1. Why do companies use databases?

  2. What information might a school database contain?

  3. Why is data security important?

  4. What happens if data is lost?

  5. Have you ever used a database application?


CMSC 128: Introduction to Software Engineering

What is this course about?

Software engineering focuses on planning, designing, building, testing, and maintaining software projects. Students learn how professional software teams work.

Vocabulary

WordMeaning
RequirementA needed feature
DesignPlanning how software works
DevelopmentCreating software
TestingChecking software quality
MaintenanceUpdating and fixing software
ProjectA planned task or activity
EstimationPredicting cost or time
TeamworkWorking with others

Discussion Questions

  1. Why should software be planned carefully?

  2. What skills are important for software engineers?

  3. Why is testing necessary?

  4. What challenges do software teams face?

  5. Why does software need maintenance?


CMSC 129: Principles of Compiler Design

What is this course about?

Compilers translate programming languages into machine code. Students learn how compilers analyze code, detect errors, and generate efficient programs.

Vocabulary

WordMeaning
CompilerSoftware that translates programs
Lexical AnalysisBreaking code into tokens
Syntax AnalysisChecking code structure
TokenA meaningful piece of code
OptimizationImproving efficiency
ParsingAnalyzing program structure
Machine CodeInstructions understood by hardware
TranslationConverting one language to another

Discussion Questions

  1. Why do computers need compilers?

  2. What kinds of errors can a compiler detect?

  3. What is machine code?

  4. Why is optimization important?

  5. Would you like to build a compiler?


CMSC 130: Logic Design and Digital Computer Circuits

What is this course about?

This course introduces digital electronics and the logic circuits that make computers work. Students learn how computers perform calculations and make decisions using electronic components.

Vocabulary

WordMeaning
CircuitA path for electricity
Logic GateA basic digital building block
BooleanRelated to true and false values
BinaryA system using 0 and 1
Integrated CircuitA small electronic chip
SignalAn electrical message
Combinational CircuitOutput depends on current input
Sequential CircuitOutput depends on past and current input

Discussion Questions

  1. Why do computers use binary numbers?

  2. What is a logic gate?

  3. How do electronic circuits process information?

  4. Why are integrated circuits important?

  5. Would you like to learn about computer hardware?


CMSC 131: Introduction to Computer Organization and Machine-Level Programming

What is this course about?

Students learn how software interacts with hardware. They study assembly language, memory organization, interrupts, and computer architecture.

Vocabulary

WordMeaning
Assembly LanguageLow-level programming language
Machine LanguageInstructions executed by hardware
InterruptA signal that requires immediate attention
Memory AddressA location in memory
SubroutineA reusable section of code
RecursionA function calling itself
InterfaceA connection between systems
HardwarePhysical computer components

Discussion Questions

  1. What is the difference between assembly language and high-level languages?

  2. Why do programmers study hardware?

  3. What is an interrupt?

  4. Why are subroutines useful?

  5. Is low-level programming difficult? Why?


CMSC 132: Computer Architecture

What is this course about?

Computer architecture studies how computer systems are designed for speed, efficiency, and reliability. Students learn about processors, memory systems, multiprocessing, and distributed computing.

Vocabulary

WordMeaning
ArchitectureThe design of a computer system
MultiprocessingUsing multiple processors
PipelineA technique that improves performance
Cache MemoryFast temporary storage
Virtual MemoryMemory managed using storage devices
BandwidthData transfer capacity
Distributed SystemMultiple computers working together
PerformanceHow well a system operates

Discussion Questions

  1. Why do computers use cache memory?

  2. What is multiprocessing?

  3. How does virtual memory help computers?

  4. What is a distributed system?

  5. Why is computer performance important?


Review Questions

  1. Which course focuses on web applications?

  2. Which course teaches data structures such as stacks and queues?

  3. What is the purpose of an operating system?

  4. Why are databases important?

  5. What is the difference between machine language and assembly language?

  6. Why do software engineers test programs?

  7. What does a compiler do?

  8. Why do computers use binary numbers?

CMSC 137: Data Communications and Networking

What is this course about?

Data communications and networking focus on how computers exchange information. Students learn about networks, communication protocols, Internet technologies, and how devices connect to each other.

Vocabulary

WordMeaning
NetworkA group of connected computers
ProtocolRules for communication
RouterA device that directs data
PacketA small unit of data
BandwidthThe amount of data that can be transmitted
TransmissionSending information
WirelessCommunication without cables
Network SecurityProtection of network resources

Discussion Questions

  1. How does the Internet connect computers worldwide?

  2. What is the role of a router?

  3. Why are communication protocols important?

  4. What are the advantages of wireless networks?

  5. How can networks be protected from attacks?


CMSC 141: Automata and Language Theory

What is this course about?

This course studies the mathematical foundations of computation. Students learn how machines process languages and solve problems, as well as the limits of what computers can do.

Vocabulary

WordMeaning
AutomatonA mathematical model of a machine
LanguageA set of valid symbols or strings
GrammarRules for forming valid strings
ComputationProblem solving by a computer
Turing MachineA theoretical model of computation
AlgorithmA step-by-step procedure
ComplexityA measure of computational difficulty
DecidableA problem that can be solved by an algorithm

Discussion Questions

  1. Why do computer scientists study theoretical machines?

  2. What is a language in computer science?

  3. What is a Turing machine?

  4. Why are some problems difficult to solve?

  5. How does theory help practical computing?


CMSC 142: Design and Analysis of Algorithms

What is this course about?

Algorithms are step-by-step methods for solving problems. Students learn how to create efficient algorithms and analyze their performance.

Vocabulary

WordMeaning
AlgorithmA method for solving a problem
EfficiencyHow well a solution uses resources
ComplexityMeasurement of time or memory usage
OptimizationImproving performance
Divide and ConquerSolving problems by breaking them into parts
Greedy MethodChoosing the best immediate option
Dynamic ProgrammingSolving complex problems using smaller solutions
RecurrenceAn equation that defines a sequence

Discussion Questions

  1. What is an algorithm?

  2. Why is efficiency important?

  3. Can you think of a daily activity that follows an algorithm?

  4. What happens when an algorithm is inefficient?

  5. Why do programmers compare algorithms?


CMSC 150: Numerical and Symbolic Computation

What is this course about?

Students learn how computers solve mathematical problems using numerical methods and symbolic calculations. They also study errors that can occur during computations.

Vocabulary

WordMeaning
Numerical MethodA technique for approximating solutions
ApproximationA value close to the exact answer
ComputationMathematical calculation
ErrorDifference between exact and calculated values
IterationRepeating a process
Symbolic AlgebraManipulating mathematical expressions
EquationA mathematical statement
ConvergenceGetting closer to the correct answer

Discussion Questions

  1. Why do computers use approximations?

  2. What causes errors in calculations?

  3. What is an iterative process?

  4. Why are numerical methods useful?

  5. How are computers used in mathematics?


CMSC 161: Interactive Computer Graphics

What is this course about?

This course teaches students how computers create images and animations. Topics include 2D and 3D graphics, lighting, shading, rendering, and animation.

Vocabulary

WordMeaning
GraphicsImages created by computers
RenderingGenerating an image from data
AnimationCreating the illusion of movement
PolygonA shape with multiple sides
TransformationChanging an object's position or size
ShadingSimulating light on surfaces
Ray TracingA method for realistic lighting
3D ModelA digital three-dimensional object

Discussion Questions

  1. What are examples of computer graphics?

  2. Why is animation important in games and movies?

  3. What is the difference between 2D and 3D graphics?

  4. How does lighting affect an image?

  5. Would you like to create a 3D model?


CMSC 165: Digital Image Processing

What is this course about?

Digital image processing involves improving, analyzing, and manipulating images using computers. It is widely used in photography, medicine, security, and artificial intelligence.

Vocabulary

WordMeaning
PixelThe smallest unit of a digital image
ResolutionThe level of image detail
EnhancementImproving image quality
FilterA tool that changes an image
DetectionFinding specific features
CompressionReducing file size
AnalysisExamining information
RecognitionIdentifying objects or patterns

Discussion Questions

  1. What is a pixel?

  2. Why do photos sometimes need enhancement?

  3. How is image processing used in smartphones?

  4. Why is image compression important?

  5. What industries use image processing?


CMSC 170: Introduction to Artificial Intelligence

What is this course about?

Artificial Intelligence (AI) studies how computers can perform tasks that normally require human intelligence. Students learn about machine reasoning, pattern recognition, expert systems, and natural language processing.

Vocabulary

WordMeaning
Artificial IntelligenceComputer systems that mimic human intelligence
Pattern RecognitionIdentifying regularities in data
Knowledge RepresentationStoring information for reasoning
Expert SystemSoftware that imitates human expertise
Machine LearningLearning from data
Natural Language ProcessingUnderstanding human language
Decision MakingChoosing among alternatives
AutomationPerforming tasks automatically

Discussion Questions

  1. What AI applications do you use today?

  2. How does AI help people?

  3. What is machine learning?

  4. Can AI completely replace humans?

  5. What are the risks of AI?


CMSC 172: Robot Modeling

What is this course about?

Robot modeling focuses on how robots move and interact with the physical world. Students learn about robot arms, motion, coordinates, and control systems.

Vocabulary

WordMeaning
RobotA programmable machine
ManipulatorA robotic arm
CoordinateA position in space
MotionMovement
KinematicsStudy of movement
WorkspaceThe area a robot can reach
JointA connection between robot parts
Control SystemA system that manages movement

Discussion Questions

  1. Where are robots commonly used?

  2. What tasks are difficult for robots?

  3. Why is motion planning important?

  4. What is a robotic manipulator?

  5. Would you like to work with robots?


CMSC 173: Human-Computer Interaction

What is this course about?

Human-Computer Interaction (HCI) studies how people interact with computers and technology. Students learn how to design systems that are useful, efficient, and enjoyable.

Vocabulary

WordMeaning
InterfaceThe point of interaction between user and computer
UsabilityEase of using a system
AccessibilityMaking technology usable by everyone
User ExperienceOverall experience of using a product
InteractionCommunication between user and system
PrototypeAn early version of a product
FeedbackInformation about performance or actions
DesignPlanning how something works

Discussion Questions

  1. What makes a website easy to use?

  2. Why is accessibility important?

  3. What is user experience?

  4. Have you used a poorly designed application?

  5. How can designers improve technology?


CMSC 180: Introduction to Parallel Computing

What is this course about?

Parallel computing allows multiple processors to work on a problem at the same time. Students learn how to design programs that run faster by dividing tasks among processors.

Vocabulary

WordMeaning
Parallel ComputingUsing multiple processors simultaneously
ProcessorA computer component that performs calculations
ThreadA sequence of instructions within a program
PerformanceHow quickly a system works
ScalabilityAbility to handle larger workloads
SynchronizationCoordinating multiple tasks
Distributed SystemMultiple computers working together
WorkloadThe amount of work assigned to a system

Discussion Questions

  1. Why is parallel computing important?

  2. What are examples of tasks that need high performance?

  3. What is the difference between parallel and sequential computing?

  4. How do multiple processors work together?

  5. Where is parallel computing used today?


Final Review Questions

  1. Which course teaches computer networks and Internet communication?

  2. Which course studies the theory of computation and automata?

  3. Why are algorithms important in computer science?

  4. How is numerical computation used in science and engineering?

  5. What is the difference between computer graphics and image processing?

  6. How does artificial intelligence help people?

  7. What skills are needed to work with robots?

  8. Why is user experience important in software design?

  9. What are the advantages of parallel computing?

  10. Which of these courses would you most like to study and why?

Speaking Activity

Choose one CMSC course from this list and answer the following:

  1. What is the course about?

  2. Why does it interest you?

  3. What skills can you learn from it?

  4. How might it help your future career?

  5. Would you recommend it to other students?

This activity helps ESL learners practice technology vocabulary while developing speaking confidence about computer science topics.



Post a Comment

0 Comments