Skip to content
Snippets Groups Projects
Commit a605a9ea authored by Peter J. Keleher's avatar Peter J. Keleher
Browse files

Initial commit

parents
No related branches found
No related tags found
No related merge requests found
# Reading Assignment #1
**Due: Feb 2, 2020, 11:59 pm, v1**
[**Quiz**](https://myelms.umd.edu/courses/1275375/quizzes/1308767)
The quiz is a relatively easy jaunt over the following reading, but **it is
timed**: you will have only 30 minutes to complete the quiz after you have
started it.
Therefore, I encourage you to read *all* the assigned reading ahead of time,
as 30 minutes might not be sufficient to look up all the answers. More
importantly, you will be using all of this information in your projects.
This is **individual work**; you may not collaborate with others. You *may* use online resources to complete
the quiz.
## Objective
The goal of this and the next reading assignments is to do a breadth-first scan of the
entire Swift language. You can take a quick tour
[here](https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html), and feel free to
consult the [language reference](https://docs.swift.org/swift-book/ReferenceManual/AboutTheLanguageReference.html), but your main
reading is the
[Swift Language Guide](https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html).
Weird / important topics are in bold.
This "assignment" consists of taking the above
[quiz](https://myelms.umd.edu/courses/1257199/quizzes/1257393) on this material.
-----
[The Basics](https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html)
- Constants and Variables Comments
- Semicolons
- Integers
- Floating-Point Numbers
- Type Safety and Type Inference
- Numeric Literals
- Numeric Type Conversion
- ~~Type Aliases~~
- ~~Booleans~~
- ~~Tuples~~
- **Optionals**
- ~~Error Handling~~
- ~~Assertions and Preconditions~~
[Basic Operators](https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html)
- Terminology
- Assignment Operator
- Arithmetic Operators
- Compound Assignment Operators
- Comparison Operators
- Ternary Conditional Operator
- Logical Operators
[Strings and Characters](https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html)
- String Literals
- Initializing an Empty String
- **String Mutability**
- Strings Are Value Types
- Working with Characters
- Concatenating Strings and Characters
- **String Interpolation**
- Unicode
- Comparing Strings
- Unicode Representations of Strings
[Collection Types](https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html)
- **Mutability of collections**
- **Arrays**
- Sets
- Performing Set Operations
- Dictionaries
[Control Flow](https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html)
- For-In Loops
- While Loops
- Conditional Statements
- If
- **Switch**
- No Implicit Fallthrough
- Interval Matching
- Tuples
- Value Bindings
- Where
- Compound Cases
- Control Transfer Statements
- Continue
- Break
- Fallthrough
- Labeled Statements
- Early Exit
- Checking API Availability
[Functions](https://docs.swift.org/swift-book/LanguageGuide/Functions.html)
- Defining and Calling Functions
- Function Parameters and Return Values
- Functions Without Parameters
- Functions With Multiple Parameters
- Functions Without Return Values
- Functions With Multiple Return Values
- Function Argument Labels and Parameter Names
- Specifying Argument Labels
- Omitting Argument Labels
- Default Parameter Values
- ~~Variadic Parameters~~
- ~~In-Out Parameters~~
- ~~Function Types~~
- Nested Functions
~~Closures~~
~~Enumerations~~
[Structures and Classes](https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html)
- Comparing Classes and Structures
- **Structures and Enumerations Are Value Types**
- **Classes Are Reference Types**
- Choosing Between Classes and Structures
- **Assignment and Copy Behavior for Strings, Arrays and Dictionaries**
[Properties](https://docs.swift.org/swift-book/LanguageGuide/Properties.html)
- Stored Properties
- ~~Computed Properties~~
- Property Observers
- Global and Local Variables
- Type Properties
[Methods](https://docs.swift.org/swift-book/LanguageGuide/Methods.html)
- Instance Methods
- The self Property
- Modifying Value Types from Within Instance Methods
- ~~Assigning to self Within a Mutating Method~~
- Type Methods
~~Subscripts~~
[Inheritance](https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html)
- Defining a Base Class
- Subclassing
- Overriding
- Accessing Superclass Methods, Properties, and Subscripts
- Overriding Methods
- ~~Overriding Properties~~
- Preventing Overrides
[Initialization](https://docs.swift.org/swift-book/LanguageGuide/Initialization.html)
- Setting Initial Values for Stored Properties
- Customizing Initialization
- Default Initializers
- ~~Class Inheritance and Initialization~~
- ~~Failable Initializers~~
- ~~Required Initializers~~
- ~~Setting a Default Property Value with a Closure or Function~~
~~Deinitialization~~
~~Optional Chaining~~
~~Error Handling~~
~~Type Casting~~
~~Nested Types~~
[Extensions](https://docs.swift.org/swift-book/LanguageGuide/Extensions.html)
- Extension Syntax
- Computed Properties
- ~~Initializers~~
- Methods
- **Mutating Instance Methods**
- ~~Subscripts~~
- ~~Nested Types~~
~~Protocols~~
~~Generics~~
~~Automatic Reference Counting~~
~~Memory Safety~~
~~Access Control~~
~~Advanced Operators~~
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment