Overview
Software Development Concepts is 13% of the CompTIA Tech+ exam and has four objectives: comparing programming language categories (interpreted, compiled, query and assembly), identifying fundamental data types (char, strings, integers, floats and Booleans), explaining programming concepts (variables, constants, arrays, functions and objects), and identifying organizational techniques and logic (pseudocode, object-oriented methods, comments, flowcharts, sequence, branching and looping).
You are not expected to program in a specific language. You are expected to read a few lines of pseudocode or a simple flowchart, predict what it does, and choose the right data type or construct for a described need. The domain builds on Domain 1's bits and bytes, and query languages connect directly to the database material in Domain 5.
How it's tested
Most items are short identification or selection questions: which language category, data type or programming concept fits a description. A smaller set presents a few lines of pseudocode or a flowchart and asks for the output or the logic construct being used. Read code slowly and track each variable's value step by step.
-
Pick the data type
A value such as a price, a yes/no flag, an initial or a phone number must be stored, and you choose char, string, integer, float or Boolean.
-
Classify the language or concept
A description, such as translated to machine code before running or a named block that returns a value, maps to one language category or programming concept.
-
Trace the logic
Pseudocode or a flowchart uses sequence, a branch or a loop, and you determine the output, the number of repetitions, or which construct it shows.
Pseudocode sets x = 1, then repeats x = x * 2 while x is less than 20, and finally prints x. What is printed? Trace it: 2, 4, 8, 16, then 32. At 16 the condition is still true, so the loop runs once more. At 32 the condition fails and the loop ends, so 32 is printed, not 16, the value most candidates stop on.
Objectives 4
Official objectives from the CompTIA outline, in outline order.
4.1 Compare and contrast programming language categories.Interpreted (scripting and markup), compiled, query and assembly languages.
- What it means
- Interpreted languages are translated and run line by line at run time, and include scripting languages such as Python, JavaScript and PowerShell and markup languages such as HTML and XML. Compiled languages such as C and C++ are translated into machine code before they run. Query languages such as SQL retrieve and manipulate data in databases. Assembly language uses short mnemonics that map closely to a specific CPU's instructions.
- What to understand
- Compiled programs usually run faster and are distributed as executables, while interpreted code is easier to change and test but needs an interpreter. Markup describes the structure and presentation of content rather than performing logic, and assembly is the lowest-level human-readable language.
- How it shows up
- A description, such as code that defines the headings and paragraphs on a web page, a language that retrieves records from a table, or a program converted to an executable before release, asks you to name the category.
- Common confusion
- Candidates call HTML a programming or compiled language. It is markup, which the objectives place under interpreted languages because the browser reads it at run time.
4.2 Identify fundamental data types and their characteristics.Char, strings, integers, floats and Booleans.
- What it means
- A char holds a single character; a string holds a sequence of characters such as a name or sentence; an integer holds whole numbers; a float holds numbers with a fractional part, such as 19.99; and a Boolean holds only true or false.
- What to understand
- Choose the type by how the value will be used, not by how it looks. Phone numbers and ZIP codes are stored as strings because they are not calculated and may have leading zeros. Numbers stored as strings must be converted before arithmetic, and floats suit prices or measurements while integers suit counts.
- How it shows up
- A scenario asks which type to use for a value such as an employee's middle initial, a product price, a quantity in stock, or whether an account is active.
- Common confusion
- Candidates assume anything made of digits is an integer. If the value is an identifier rather than a quantity, a string is usually correct.
4.3 Explain the purpose and use of programming concepts.Identifiers, variables, constants, arrays, functions and objects.
- What it means
- Identifiers are the names given to program elements. A variable is a named storage location whose value can change; a constant is a named value that does not change once set. An array stores an ordered collection of values under one name, accessed by index. A function is a named, reusable block of code that can take inputs and return a result. An object bundles properties or attributes (data) with methods (actions).
- What to understand
- Use a constant for fixed values such as a tax rate so it is defined once, an array for lists such as ten test scores, and a function to avoid repeating the same code. In many languages array indexes start at 0, so the third element is index 2.
- How it shows up
- A description, such as a value that must never change while the program runs, or a reusable routine that calculates shipping costs, asks you to name the concept, or you identify an object's property versus its method.
- Common confusion
- Candidates mix up properties and methods. A car object's color is a property; accelerate() is a method, because it does something.
4.4 Identify programming organizational techniques and logic concepts.Pseudocode, object-oriented methods, comments, flowcharts, sequence, branching and looping.
- What it means
- Pseudocode outlines program logic in plain language before coding; flowcharts show the same logic with symbols (ovals for start and end, rectangles for processes, diamonds for decisions, parallelograms for input and output). Comments and documentation explain code for people. Logic uses sequence (steps in order), branching (if/else decisions) and looping (repeating steps while a condition holds or for a set count).
- What to understand
- A diamond in a flowchart always means a decision, so it signals branching, or looping when one path returns to an earlier step. Comments are ignored when the program runs. Object-oriented methods organize code around objects that combine data and behavior.
- How it shows up
- A flowchart or pseudocode fragment is shown, and you identify the construct, count how many times a loop runs, or predict the output.
- Common confusion
- Candidates confuse branching with looping. A branch chooses a path once; a loop sends execution back to repeat until its condition changes.
High-yield concepts
The terms, rules and formulas this domain turns into questions most often.
-
Interpreted vs. compiled
Interpreted code is translated and run line by line by an interpreter at run time, while compiled code is translated into machine code ahead of time and distributed as an executable.
- Remember
- Compiled programs generally run faster; interpreted code is quicker to change and test.
- Tested as
- The core comparison in objective 4.1.
- Trap
- Assuming interpreted code is never translated; it is translated, just during execution.
-
Markup language
A language such as HTML or XML that tags content to describe its structure or meaning, for example marking text as a heading or a list.
- Remember
- Markup describes content and is listed under interpreted languages; it does not contain program logic by itself.
- Tested as
- Appears when you identify the language used to structure a web page.
- Trap
- Classifying HTML as compiled or as a query language.
-
Query language
A language, most commonly SQL, for retrieving, inserting, updating and deleting data in a database.
- Remember
- If the job is asking a database for records, the category is query.
- Tested as
- Connects language categories to database use in Domain 5.
- Trap
- Choosing a scripting language when the description is specifically about database data.
-
Assembly language
A low-level language of short mnemonics, such as MOV or ADD, that correspond closely to one processor's machine instructions.
- Remember
- It is CPU-specific and closest to machine code while still human-readable.
- Tested as
- Tested by description: lowest-level language or direct hardware control.
- Trap
- Confusing assembly language with machine code, which is pure binary.
-
Char vs. string
A char holds exactly one character, such as 'M'; a string holds zero or more characters, such as 'Maria Lopez'.
- Remember
- A middle initial fits a char; a full name needs a string.
- Tested as
- A favorite data-type selection question.
- Trap
- Choosing string for a single-letter field when the question asks for the most specific type.
-
Integer vs. float
Integers store whole numbers such as 42; floats store numbers with fractional parts such as 3.75.
- Remember
- Counts use integers; prices, weights and averages use floats.
- Tested as
- Data-type selection and predicting the result of division.
- Trap
- Storing a price as an integer and losing the cents.
-
Boolean
A data type with only two possible values, true or false, used for flags and conditions.
- Remember
- Every if condition and loop condition evaluates to a Boolean.
- Tested as
- Data-type questions about yes/no fields and logic questions about conditions.
- Trap
- Storing yes or no as a string, which allows typos and inconsistent values.
-
Variable vs. constant
A variable's value can change while the program runs; a constant is assigned once and then stays fixed.
- Remember
- Fixed values such as a tax rate or pi belong in constants so they are defined in one place.
- Tested as
- Identification questions describing a value that must or must not change.
- Trap
- Calling any named value a variable, even when the scenario says it must never change.
-
Array
An ordered collection of elements stored under one identifier and accessed by index number.
- Remember
- In many languages the first element is index 0, so an array of five items uses indexes 0 to 4.
- Tested as
- Identifying the structure for a list of values and reading an element by index.
- Trap
- Counting indexes from 1 and selecting the wrong element.
-
Function
A named block of reusable code that can accept inputs (parameters) and return an output.
- Remember
- Functions avoid duplicating code; call the function wherever the task is needed.
- Tested as
- Concept identification when a scenario describes repeated calculations.
- Trap
- Confusing a function with a loop; a loop repeats steps in place, a function packages steps for reuse.
-
Object: properties and methods
An object combines data that describes it (properties or attributes) with actions it can perform (methods).
- Remember
- Nouns and adjectives are properties; verbs are methods.
- Tested as
- Object-oriented questions about classifying parts of an object.
- Trap
- Labeling an action such as print() as a property.
-
Flowchart symbols
Ovals mark start and end, rectangles show processes, diamonds show decisions, and parallelograms show input or output.
- Remember
- A diamond with an arrow that returns to an earlier step indicates a loop.
- Tested as
- Flowchart reading and identifying logic constructs.
- Trap
- Reading every diamond as a simple branch without checking whether a path loops back.
Side by side
Concepts candidates mix up, compared on the point that decides the answer.
Interpreted vs. compiled vs. query vs. assembly
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Interpreted (scripting, markup) | Read and executed line by line at run time, e.g. Python, JavaScript, HTML | Needs an interpreter or browser present to run | Thinking markup like HTML performs program logic |
| Compiled | Translated to machine code before running, e.g. C, C++ | Produces a standalone executable, typically faster | Assuming the source code is needed on the user's machine |
| Query | Requests and changes data in databases, e.g. SQL | Focused on data rather than general program logic | Choosing it for building a web page layout |
| Assembly | Mnemonic instructions mapped to a specific CPU | Lowest-level human-readable code; not portable between architectures | Treating it as identical to binary machine code |
Char vs. string vs. integer vs. float vs. Boolean
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Char | One character | Fixed single symbol, such as a grade letter | Using it for a full word |
| String | Sequence of characters | Text, including digit-based identifiers like ZIP codes | Trying arithmetic on numbers stored as text |
| Integer | Whole number | Counts and quantities with no fraction | Using it for a value with a leading zero |
| Float | Number with a fractional part | Prices, measurements, averages | Using it for whole-unit counts like items in stock |
| Boolean | True or false | Two states only, used in conditions | Storing yes and no as free text |
Sequence vs. branching vs. looping
| Concept | Meaning | Key difference | Common trap |
|---|---|---|---|
| Sequence | Steps executed one after another in order | No decisions or repetition | Overlooking that order changes the result |
| Branching | A condition chooses between paths (if/else) | Each path is taken once per decision | Calling it a loop because it contains a condition |
| Looping | Steps repeat while a condition is true or for a set count | Execution returns to an earlier point | Miscounting the final iteration when the condition is checked |
Exam traps
Each trap is an answer that looks right. Learn the clue that should change your mind.
-
Digits mean integer
- What candidates pick
- Integer for a ZIP code, phone number or employee ID.
- Why it looks right
- The value is made entirely of digits.
- Why it's wrong
- These values are identifiers, never used in arithmetic, and can include leading zeros or symbols that an integer would drop; a string preserves them.
Clue to watch for The scenario mentions a leading zero, formatting characters, or a value that is never calculated.
-
Markup treated as programming logic
- What candidates pick
- Compiled or scripting language for the code that structures a web page's headings and links.
- Why it looks right
- Web pages are associated with programming and run in a browser.
- Why it's wrong
- Structuring content is the job of a markup language such as HTML, which describes content rather than executing logic.
Clue to watch for Words such as structure, tags, headings or layout of content.
-
Off-by-one in loops
- What candidates pick
- The last value that met the condition, rather than the value that ended the loop.
- Why it looks right
- It feels like the loop stops when the value approaches the limit.
- Why it's wrong
- A while loop checks the condition, runs the body, then checks again; the loop ends only after a value fails the test, and that value is what remains.
Clue to watch for A while condition such as x < 20 with x changing inside the loop and the value printed after it.
-
Variable instead of constant
- What candidates pick
- Variable for a fixed tax rate used throughout an application.
- Why it looks right
- Everyday speech calls any stored value a variable.
- Why it's wrong
- A value that must not change while the program runs should be a constant, which prevents accidental changes and keeps the definition in one place.
Clue to watch for Phrases such as never changes, fixed or defined once.
-
Index starting at 1
- What candidates pick
- Index 3 to retrieve the third element of an array.
- Why it looks right
- People count from one.
- Why it's wrong
- In zero-based arrays, the first element is index 0, so the third element is index 2.
Clue to watch for The question shows array contents with indexes or asks which index holds a given position.
-
Pseudocode treated as runnable code
- What candidates pick
- Pseudocode as the language that will be compiled or executed.
- Why it looks right
- It looks like code and uses programming keywords.
- Why it's wrong
- Pseudocode is a plain-language planning tool for describing logic; it must be translated into a real language before it can run.
Clue to watch for The scenario is about planning or explaining logic before development begins.
Answer framework
Use these steps for Software Development Concepts questions, whether they ask for a category, a type or the output of logic.
- Decide what the question asks for: a language category, a data type, a programming concept, or the behavior of a piece of logic.
- For data types, ask how the value will be used: calculated, counted, compared as true or false, or simply displayed as text.
- For languages and concepts, match the defining feature: translated before running, structures content, queries data, never changes, or reusable block.
- For pseudocode or flowcharts, write down each variable's value after every step and recheck the condition before every loop pass.
- Eliminate answers that fit the surface wording but not the defining feature, such as integer for a ZIP code.
Practice question
Want more like this? The CompTIA Tech+ practice test has questions for every domain.
Checklist
0 of 14
Tick each one you can do without notes. Your ticks stay in this browser.
Study strategy
Begin with data types, because they are concrete and support everything else. Make a table of the five types with three example values each, then practice classifying everyday fields from forms: names, prices, quantities, yes/no checkboxes, initials and postal codes.
Next, learn the programming concepts as a set: variable, constant, array, function and object. For each, write a one-line example in plain language, such as a constant TAX_RATE = 0.08 or an array of seven daily temperatures. Then study the four language categories by their defining features rather than by memorizing language names.
Spend the most practice time on organizational techniques and logic, the most commonly underestimated area. Draw small flowcharts for daily routines, convert them to pseudocode, and trace loops on paper, recording each variable's value after every pass. Off-by-one errors are the main source of lost points here.
Afterwards, practice mixed identification questions under time pressure, then move on to Data and Database Fundamentals, where query languages, fields and data types reappear in a database context.
FAQ
Do I need to know how to code to pass Tech+?
No specific language is required. You need to recognize language categories, choose data types, understand basic programming concepts, and read simple pseudocode and flowcharts.
How much of the exam is Software Development Concepts?
It is 13% of Tech+, roughly nine questions if you apply the weight to the 70-question maximum. CompTIA publishes the percentage only, so the count is an estimate.
Is HTML a programming language on the exam?
The objectives list markup under interpreted languages. HTML structures content rather than performing logic, so identify it as markup when a question describes tagging headings, links or paragraphs.
What is the difference between a char and a string?
A char holds exactly one character, while a string holds a sequence of characters. Choose char only when the value is always a single symbol, such as a grade letter.
How should I approach pseudocode questions?
Trace them on paper. Track every variable after each line and re-evaluate loop conditions before each pass, because most wrong answers come from stopping one iteration early or late.
Is object-oriented programming tested in depth?
The objectives cover objects with properties, attributes and methods, and object-oriented methods as an organizational technique. Expect identification questions rather than design work.
How does this domain connect to Data and Database Fundamentals?
Query languages such as SQL are how databases are accessed, and the data types learned here define what each database field can hold.
Other IT Fundamentals & Hardware certifications
Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.
Test your Domain 4 knowledge
You have compared language categories, chosen data types, and traced branching and looping logic. Check that you can apply them under time pressure, especially when tracing loops.
Keep going
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the CompTIA Tech+ AI tutor Get any concept explained your way