Module 2
Data Representation / Scratch Application 1
Outline Chapter 2
Chapter 2 Binary Values and Number Systems
2.1 Numbers and Computing
2.2 Positional Notation
Binary, Octal, and Hexadecimal
Arithmetic in Other Bases
Power-of-2 Number Systems
Converting from Base 10 to Other Bases
Binary Values and Computers
Ethical Issues: The FISA Court 49
Related FGCU Courses
MAD 3107 Discrete Mathematics - 3 credits(s)
Introduction to concepts of discrete mathematics, as as used by computer scientists. Topics include symbolic logic and Boolean algebra, propositional and predicate calculus, sets, functions, and relations, enumeration and counting principles, introduction to graphs, trees, spanning trees, shortest path and matching algorithms, finite state automata, Turing machines.
Outline Chapter 3
Chapter 3 Data Representation
3.1 Data and Computers
Analog and Digital Data
Binary Representations
3.2 Representing Numeric Data
Representing Negative Values
Representing Real Numbers
3.3 Representing Text
The ASCII Character Set
The Unicode Character Set
Text Compression
3.4 Representing Audio Data
Audio Formats
The MP3 Audio Format
3.5 Representing Images and Graphics
Representing Color
Digitized Images and Graphics
Vector Representation of Graphics
3.6 Representing Video
Video Codecs
Ethical Issues: The Fallout from Snowden’s Revelations
Lesson
Day 1 (chapter 2)
Lab review
Chapter questions review
DS
Sets, Relations, and Functions
Basic Concepts of Set Theory, Functions and Relations
Set - a collection of objects which are called the members or elements of that set
Relations - links existing between objects, like ‘is a subset of’
Functions - may be thought of as a “process” or as a correspondence
Logic
Truth table A table showing all possible input values and the associated output values
Introduction (more on this in chapter 4)
NOT (negation), AND (conjunction), OR (disjunction), IF (conditional)
¬A
A ∧ B
A ∨ B
A => B
Algorithm
Number systems
Binary numbers are usually grouped with 8 digits, oct with 3, and hex with 4, using leading 0s when necessary.
Computers interpret underlying patterns of 1s and 0s
Binary
Bring headphones to next class
Day 2 (chapter 3)
Chapter questions review
Representing Numeric Data
Representing Text
Representing Audio
Add custom audio to Scratch
VoCo. Adobe MAX video
Representing Images
Representing Video
Containers and Codecs
Explained video (3:05)
4K / VP9 / H.265
Digital Lifestyles
Review
Scratch Tutorial
Objects
Properties
Coordinates
Move along axis
Loops
Iteration
For (count) vs while (condition) loop
Event controlled: forever if
Operators (green)
Math, comparisons, ...
Variables
in Data section (orange)
Project Preview
Scratch Application 1
Conditions
Nested
Argument
Methods
call with argument to header with parameter
broadcast to
Video Tutorials
Paint Editor Tips
Make a custom image for Scratch project
ACM KA: Discrete Structures (DS)
Discrete structures are foundational material for computer science. By foundational we mean that relatively few computer scientists will be working primarily on discrete structures, but that many other areas of computer science require the ability to work with concepts from discrete structures. Discrete structures include important material from such areas as set theory, logic, graph theory, and probability theory. The material in discrete structures is pervasive in the areas of data structures and algorithms but appears elsewhere in computer science as well. For example, an ability to create and understand a proof—either a formal symbolic proof or a less formal but still mathematically rigorous argument—is important in virtually every area of computer science, including (to name just a few) formal specification, verification, databases, and cryptography. Graph theory concepts are used in networks, operating systems, and compilers. Set theory concepts are used in software engineering and in databases. Probability theory is used in intelligent systems, networking, and a number of computing applications.
KA Topics:
Sets, Relations, and Functions
Sets
Venn diagrams
Union, intersection, complement
Cartesian product
Power sets
Cardinality of finite sets
Relations
Reflexivity, symmetry, transitivity
Equivalence relations, partial orders
Functions
Surjections, injections, bijections
Inverses
Composition
Basic Logic
Propositional logic (cross-reference: Propositional logic is also reviewed in IS/Knowledge Based Reasoning)
Logical connectives
Truth tables
Normal forms (conjunctive and disjunctive)
Validity of well-formed formula
Propositional inference rules (concepts of modus ponens and modus tollens)
Predicate logic
Universal and existential quantification
Limitations of propositional and predicate logic (e.g., expressiveness issues)
KA Learning Outcomes:
Sets, Relations, and Functions
Explain with examples the basic terminology of functions, relations, and sets. [Familiarity]
Perform the operations associated with sets, functions, and relations. [Usage]
Relate practical examples to the appropriate set, function, or relation model, and interpret the associated operations and terminology in context. [Assessment]
Basic Logic
Convert logical statements from informal language to propositional and predicate logic expressions. [Usage]
Apply formal methods of symbolic propositional and predicate logic, such as calculating validity of formulae and computing normal forms. [Usage]
Use the rules of inference to construct proofs in propositional and predicate logic. [Usage]
Describe how symbolic logic can be used to model real-life situations or applications, including those arising in computing contexts such as software analysis (e.g., program correctness), database queries, and algorithms. [Usage]
Apply formal logic proofs and/or informal, but rigorous, logical reasoning to real problems, such as predicting the behavior of software or solving problems such as puzzles. [Usage]
Describe the strengths and limitations of propositional and predicate logic. [Familiarity]