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
| Word | Meaning |
|---|---|
| Internet | A worldwide network of computers |
| Protocol | A set of rules for communication |
| Search Engine | A website that helps find information |
| FTP | A method of transferring files |
| Electronic mail | |
| HTML | A language used to create web pages |
| Browser | Software used to view websites |
| Website | A collection of web pages |
Discussion Questions
How often do you use the Internet?
What search engine do you use most?
Have you ever created a simple web page?
What are the advantages of email?
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
| Word | Meaning |
|---|---|
| Software | Programs used by a computer |
| Hardware | Physical parts of a computer |
| Program | A set of instructions for a computer |
| Algorithm | A step-by-step solution |
| Architecture | The design of a computer system |
| Data | Information processed by computers |
| Coding | Writing computer programs |
| Debugging | Finding and fixing errors |
Discussion Questions
Why do people study computer science?
What is the difference between software and hardware?
Have you ever written a computer program?
Why is debugging important?
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
| Word | Meaning |
|---|---|
| Foundation | Basic principles of a subject |
| Database | Organized collection of data |
| Network | Connected computers |
| Artificial Intelligence | Machines that perform intelligent tasks |
| System | A group of connected components |
| Computation | The process of solving problems using computers |
| Application | Software designed for users |
| Technology | Practical use of scientific knowledge |
Discussion Questions
Which area of computer science sounds most interesting?
What technology do you use every day?
Why are databases useful?
What is artificial intelligence?
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
| Word | Meaning |
|---|---|
| Programming | Writing instructions for computers |
| Procedure | A sequence of actions |
| Variable | Storage for data |
| Function | A reusable block of code |
| Testing | Checking if a program works |
| Bug | An error in a program |
| Debugging | Fixing bugs |
| Output | Information produced by a program |
Discussion Questions
Why is programming useful?
What challenges do beginners face when coding?
What is the purpose of testing?
How do programmers fix bugs?
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
| Word | Meaning |
|---|---|
| Object | A unit containing data and actions |
| Class | A blueprint for objects |
| Method | A function inside a class |
| Attribute | Data stored in an object |
| Inheritance | Reusing features from another class |
| Encapsulation | Protecting data inside an object |
| Instance | A specific object created from a class |
| Polymorphism | Using one interface for many forms |
Discussion Questions
What is an object in programming?
Why is OOP popular?
What is the difference between a class and an object?
How does inheritance help programmers?
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
| Word | Meaning |
|---|---|
| Mobile App | Software for phones and tablets |
| Interface | The way users interact with software |
| Touchscreen | A display that responds to touch |
| Device | An electronic gadget |
| Developer | A person who creates software |
| User Experience | How users feel when using an app |
| Deployment | Releasing software to users |
| Platform | An environment where software runs |
Discussion Questions
What mobile apps do you use daily?
What makes a good mobile app?
Would you like to create your own app?
What problems can mobile apps solve?
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
| Word | Meaning |
|---|---|
| Logic | Rules of correct reasoning |
| Set | A collection of objects |
| Function | A relationship between inputs and outputs |
| Relation | A connection between elements |
| Boolean Algebra | Mathematics using true and false values |
| Matrix | A rectangular arrangement of numbers |
| Vector | A quantity with direction and magnitude |
| Proof | Evidence that a statement is true |
Discussion Questions
Why is mathematics important in computer science?
What is a set?
How is logic used in programming?
Have you studied matrices before?
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
| Word | Meaning |
|---|---|
| Combinatorics | Mathematics of counting |
| Probability | The chance that something happens |
| Graph Theory | Study of nodes and connections |
| Vertex | A point in a graph |
| Edge | A connection between vertices |
| Network | Connected nodes or computers |
| Random | Happening by chance |
| Formula | A mathematical rule |
Discussion Questions
How is probability used in daily life?
What is graph theory used for?
Why is counting important in computer science?
Can you think of examples of networks?
Which topic would you like to learn more about?
Review Questions
Which course teaches HTML and Internet tools?
Which course introduces mobile app development?
What is the difference between procedural programming and object-oriented programming?
Why do computer science students study mathematics?
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
| Word | Meaning |
|---|---|
| Web Application | Software that runs in a web browser |
| Front-End | The part of a website users see |
| Back-End | The server-side part of a website |
| Database | A collection of organized data |
| Server | A computer that provides services |
| Client | A device that requests services |
| Framework | A tool that helps developers build applications |
| Responsive Design | A design that works on different screen sizes |
Discussion Questions
What websites do you visit most often?
What makes a website easy to use?
Why are databases important for websites?
What is the difference between a website and a web application?
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
| Word | Meaning |
|---|---|
| Data Structure | A way of organizing data |
| Stack | A structure that follows "last in, first out" |
| Queue | A structure that follows "first in, first out" |
| Tree | A hierarchical data structure |
| Graph | A set of connected points |
| Search | Finding data |
| Sort | Arranging data in order |
| Node | An element in a tree or graph |
Discussion Questions
Why is data organization important?
What real-life example is similar to a queue?
How do search engines use data structures?
What is the difference between a tree and a graph?
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
| Word | Meaning |
|---|---|
| Syntax | Rules for writing code |
| Translation | Converting code into machine instructions |
| Compiler | Software that translates programs |
| Data Type | A category of data |
| Abstraction | Hiding unnecessary details |
| Structure | The organization of a program |
| Runtime | The period when a program runs |
| Semantics | The meaning of code |
Discussion Questions
Why do programming languages need rules?
What programming languages have you heard of?
Why is syntax important?
What is abstraction?
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
| Word | Meaning |
|---|---|
| Operating System | Software that manages a computer |
| Processor | The computer's brain |
| Memory | Storage used while programs run |
| File System | A method of organizing files |
| Resource | A computer component or service |
| Process | A running program |
| Network | Connected computers |
| Multitasking | Running multiple tasks at once |
Discussion Questions
What operating system do you use?
Why is memory management important?
What happens when too many programs run at once?
How does an operating system help users?
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
| Word | Meaning |
|---|---|
| Database Management System (DBMS) | Software for managing databases |
| Query | A request for information |
| Table | Data organized in rows and columns |
| Record | A single row of data |
| Integrity | Accuracy and consistency of data |
| Security | Protection from unauthorized access |
| Backup | A copy of data |
| Recovery | Restoring lost data |
Discussion Questions
Why do companies use databases?
What information might a school database contain?
Why is data security important?
What happens if data is lost?
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
| Word | Meaning |
|---|---|
| Requirement | A needed feature |
| Design | Planning how software works |
| Development | Creating software |
| Testing | Checking software quality |
| Maintenance | Updating and fixing software |
| Project | A planned task or activity |
| Estimation | Predicting cost or time |
| Teamwork | Working with others |
Discussion Questions
Why should software be planned carefully?
What skills are important for software engineers?
Why is testing necessary?
What challenges do software teams face?
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
| Word | Meaning |
|---|---|
| Compiler | Software that translates programs |
| Lexical Analysis | Breaking code into tokens |
| Syntax Analysis | Checking code structure |
| Token | A meaningful piece of code |
| Optimization | Improving efficiency |
| Parsing | Analyzing program structure |
| Machine Code | Instructions understood by hardware |
| Translation | Converting one language to another |
Discussion Questions
Why do computers need compilers?
What kinds of errors can a compiler detect?
What is machine code?
Why is optimization important?
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
| Word | Meaning |
|---|---|
| Circuit | A path for electricity |
| Logic Gate | A basic digital building block |
| Boolean | Related to true and false values |
| Binary | A system using 0 and 1 |
| Integrated Circuit | A small electronic chip |
| Signal | An electrical message |
| Combinational Circuit | Output depends on current input |
| Sequential Circuit | Output depends on past and current input |
Discussion Questions
Why do computers use binary numbers?
What is a logic gate?
How do electronic circuits process information?
Why are integrated circuits important?
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
| Word | Meaning |
|---|---|
| Assembly Language | Low-level programming language |
| Machine Language | Instructions executed by hardware |
| Interrupt | A signal that requires immediate attention |
| Memory Address | A location in memory |
| Subroutine | A reusable section of code |
| Recursion | A function calling itself |
| Interface | A connection between systems |
| Hardware | Physical computer components |
Discussion Questions
What is the difference between assembly language and high-level languages?
Why do programmers study hardware?
What is an interrupt?
Why are subroutines useful?
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
| Word | Meaning |
|---|---|
| Architecture | The design of a computer system |
| Multiprocessing | Using multiple processors |
| Pipeline | A technique that improves performance |
| Cache Memory | Fast temporary storage |
| Virtual Memory | Memory managed using storage devices |
| Bandwidth | Data transfer capacity |
| Distributed System | Multiple computers working together |
| Performance | How well a system operates |
Discussion Questions
Why do computers use cache memory?
What is multiprocessing?
How does virtual memory help computers?
What is a distributed system?
Why is computer performance important?
Review Questions
Which course focuses on web applications?
Which course teaches data structures such as stacks and queues?
What is the purpose of an operating system?
Why are databases important?
What is the difference between machine language and assembly language?
Why do software engineers test programs?
What does a compiler do?
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
| Word | Meaning |
|---|---|
| Network | A group of connected computers |
| Protocol | Rules for communication |
| Router | A device that directs data |
| Packet | A small unit of data |
| Bandwidth | The amount of data that can be transmitted |
| Transmission | Sending information |
| Wireless | Communication without cables |
| Network Security | Protection of network resources |
Discussion Questions
How does the Internet connect computers worldwide?
What is the role of a router?
Why are communication protocols important?
What are the advantages of wireless networks?
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
| Word | Meaning |
|---|---|
| Automaton | A mathematical model of a machine |
| Language | A set of valid symbols or strings |
| Grammar | Rules for forming valid strings |
| Computation | Problem solving by a computer |
| Turing Machine | A theoretical model of computation |
| Algorithm | A step-by-step procedure |
| Complexity | A measure of computational difficulty |
| Decidable | A problem that can be solved by an algorithm |
Discussion Questions
Why do computer scientists study theoretical machines?
What is a language in computer science?
What is a Turing machine?
Why are some problems difficult to solve?
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
| Word | Meaning |
|---|---|
| Algorithm | A method for solving a problem |
| Efficiency | How well a solution uses resources |
| Complexity | Measurement of time or memory usage |
| Optimization | Improving performance |
| Divide and Conquer | Solving problems by breaking them into parts |
| Greedy Method | Choosing the best immediate option |
| Dynamic Programming | Solving complex problems using smaller solutions |
| Recurrence | An equation that defines a sequence |
Discussion Questions
What is an algorithm?
Why is efficiency important?
Can you think of a daily activity that follows an algorithm?
What happens when an algorithm is inefficient?
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
| Word | Meaning |
|---|---|
| Numerical Method | A technique for approximating solutions |
| Approximation | A value close to the exact answer |
| Computation | Mathematical calculation |
| Error | Difference between exact and calculated values |
| Iteration | Repeating a process |
| Symbolic Algebra | Manipulating mathematical expressions |
| Equation | A mathematical statement |
| Convergence | Getting closer to the correct answer |
Discussion Questions
Why do computers use approximations?
What causes errors in calculations?
What is an iterative process?
Why are numerical methods useful?
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
| Word | Meaning |
|---|---|
| Graphics | Images created by computers |
| Rendering | Generating an image from data |
| Animation | Creating the illusion of movement |
| Polygon | A shape with multiple sides |
| Transformation | Changing an object's position or size |
| Shading | Simulating light on surfaces |
| Ray Tracing | A method for realistic lighting |
| 3D Model | A digital three-dimensional object |
Discussion Questions
What are examples of computer graphics?
Why is animation important in games and movies?
What is the difference between 2D and 3D graphics?
How does lighting affect an image?
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
| Word | Meaning |
|---|---|
| Pixel | The smallest unit of a digital image |
| Resolution | The level of image detail |
| Enhancement | Improving image quality |
| Filter | A tool that changes an image |
| Detection | Finding specific features |
| Compression | Reducing file size |
| Analysis | Examining information |
| Recognition | Identifying objects or patterns |
Discussion Questions
What is a pixel?
Why do photos sometimes need enhancement?
How is image processing used in smartphones?
Why is image compression important?
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
| Word | Meaning |
|---|---|
| Artificial Intelligence | Computer systems that mimic human intelligence |
| Pattern Recognition | Identifying regularities in data |
| Knowledge Representation | Storing information for reasoning |
| Expert System | Software that imitates human expertise |
| Machine Learning | Learning from data |
| Natural Language Processing | Understanding human language |
| Decision Making | Choosing among alternatives |
| Automation | Performing tasks automatically |
Discussion Questions
What AI applications do you use today?
How does AI help people?
What is machine learning?
Can AI completely replace humans?
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
| Word | Meaning |
|---|---|
| Robot | A programmable machine |
| Manipulator | A robotic arm |
| Coordinate | A position in space |
| Motion | Movement |
| Kinematics | Study of movement |
| Workspace | The area a robot can reach |
| Joint | A connection between robot parts |
| Control System | A system that manages movement |
Discussion Questions
Where are robots commonly used?
What tasks are difficult for robots?
Why is motion planning important?
What is a robotic manipulator?
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
| Word | Meaning |
|---|---|
| Interface | The point of interaction between user and computer |
| Usability | Ease of using a system |
| Accessibility | Making technology usable by everyone |
| User Experience | Overall experience of using a product |
| Interaction | Communication between user and system |
| Prototype | An early version of a product |
| Feedback | Information about performance or actions |
| Design | Planning how something works |
Discussion Questions
What makes a website easy to use?
Why is accessibility important?
What is user experience?
Have you used a poorly designed application?
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
| Word | Meaning |
|---|---|
| Parallel Computing | Using multiple processors simultaneously |
| Processor | A computer component that performs calculations |
| Thread | A sequence of instructions within a program |
| Performance | How quickly a system works |
| Scalability | Ability to handle larger workloads |
| Synchronization | Coordinating multiple tasks |
| Distributed System | Multiple computers working together |
| Workload | The amount of work assigned to a system |
Discussion Questions
Why is parallel computing important?
What are examples of tasks that need high performance?
What is the difference between parallel and sequential computing?
How do multiple processors work together?
Where is parallel computing used today?
Final Review Questions
Which course teaches computer networks and Internet communication?
Which course studies the theory of computation and automata?
Why are algorithms important in computer science?
How is numerical computation used in science and engineering?
What is the difference between computer graphics and image processing?
How does artificial intelligence help people?
What skills are needed to work with robots?
Why is user experience important in software design?
What are the advantages of parallel computing?
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:
What is the course about?
Why does it interest you?
What skills can you learn from it?
How might it help your future career?
Would you recommend it to other students?
This activity helps ESL learners practice technology vocabulary while developing speaking confidence about computer science topics.
0 Comments