Learn Swift Programming Syntax Swift BasicsGet familiar with Swift types and operators, and develop deftness in defining variables and constants.OptionalsThe optional type is specific to Swift: declare explicitly and implicitly unwrapped optionals; unwrap optionals using optional binding and optional chaining.CollectionsLearn about Dictionaries, Arrays, and Sets and perform basic operations including: append, count, insert, remove, update, find, and retrieve.Control FlowPractice fast iteration with for-in loops by iterating through items in Arrays and Dictionaries, also learn how Swift handles if-else and switch statements.FunctionsDefine and call functions, correctly using local and external parameters; identify parameter types and return types.Classes, Properties, and MethodsPractice building custom classes with their own properties and methods.Enums and StructsLearn the difference between value types and references types and practice choosing when to use enums, structs, and classes.Protocols and ExtensionsLearn how protocols and extensions help keep your code DRY. Given code snippets, fix compiler errors by conforming to and implementing appropriate protocols.Closure ExpressionsPractice using Swift closures with the functions, sorted() and filter(). You'll also learn shorthand to make your closure expressions super concise.CompanyAbout Us Why Udacity? Blog In the News Jobs at Udacity Become a Mentor Partner with Udacity ResourcesCatalog Career Outcomes Help and FAQ Scholarships Resource Center Udacity SchoolsSchool of Artificial Intelligence School of Autonomous Systems School of Business School of Cloud Computing School of Cybersecurity School of Data Science School of Executive Leadership School of Product Management School of Programming and Development Career Resources Featured ProgramsBusiness Analytics SQL AWS Cloud Architect Data Analyst Intro to Programming Digital Marketing Self Driving Car Engineer Only at UdacityArtificial Intelligence Deep Learning Digital Marketing Flying Car and Autonomous Flight Engineer Intro to Self-Driving Cars Machine Learning Engineer Robotics Software Engineer