- What Is Rust and Why Does It Matter?
- Course Overview
- What Is Rust and Why It Matters—Quick Overview
- What Is Rust Concurrency
- Rust’s Growth in Popularity
- Rust—The Borrow Checker
- Safe Mode and Unsafe Mode in Rust
- Data Races in Rust
- Issues with Rust
- What Is Rust—Summary
- Rust Course Setup
- Setting Up the Rust IDE Playground
- The Rust IDE Text Editor and Console Basics
- The Rust IDE Setting Basics
- Rust IDE Configuration and Customization
- Beginner Lessons in Rust
- Beginner Lessons in Rust
- How to Write Comments in Rust
- First Exercise Solution on How to Write Comments in Rust
- Hello World Example in Rust
- What Are Datatypes in Rust
- How to Declare Variables in Rust—Strings Integers and Booleans in Rust
- Printing Variables as Arguments in Rust
- Exercise—Write Variables in Rust
- What Are Macros in Rust
- What Is the Print Line Println macro in Rust
- Print line Println Exercise in Rust
- What Are Integers in Rust
- Integer Range and Integer Overflow in Rust
- Integer Exercise Example in Rust
- Integer Solution Example in Rust
- What Are Variables in Rust
- Exercise—What Are Variables in Rust
- What Is Const in Rust—Constants
- What Are String Literals str in Rust
- What Is the String Object in Rust—from() and len()
- String Object Methods in Rust
- Exercise—Modifying String Literals in Rust
- What Are Operators in Rust
- Arithmetic Operators in Rust
- Relational Operators
- Logical Operators in Rust
- Decision-Making Statements in Rust
- Else If Statements and Nested If Statements in Rust
- Match Statements in Rust
- Exercise—Decision-Making Structures in Rust
- What Are Loops in Rust
- What Is the For Loop in Rust
- While Loop in Rust
- The Loop Keyword in Rust
- Exercise—How to Loop in Rust
- Solution—How to Loop in Rust
- What Is a Function in Rust
- What Is a Function in Rust—II
- Exercise—What Are Functions in Rust
- Beginner Level to Intermediate Level in Rust
- What Are Tuples in Rust
- Exercise—Destructing Tuples with Rust
- Solution—Destructing Tuples with Rust
- What Are Arrays in Rust
- Exercise—Loop Through and Modify an Array in Rust
- The Stack Versus the Heap in Rust
- Ownership in Rust
- Borrowing in Rust—The “&” Symbol in Rust
- Exercise—Borrowing in Rust
- How to Slice in Rust
- Exercise—How to Slice in Rust
- What Are Structs in Rust
- Exercise—Write Methods and Structs in Rust
- What Are Enums in Rust
- Exercise—Matching Enums in Rust
- What Are Modules in Rust
- Exercise—Nested Modules in Rust
- What Are HashMaps in Rust
- Exercise—Build a Hash Table with HashMap in Rust
- Intermediate Level to Advanced level in Rust
- Error Handling in Rust
- Exercise—Write Error Handling for a Program in Rust
- Solution—Write Error Handling for a Program in Rust
- What Are Generic Types in Rust
- What Are Traits in Rust
- Reader and Writer Types in Rust – Opening the File
- Reader and Writer Inputs and Outputs in Rust – Reading the File
- Install Rust on Your Computer
- How to Use the Cargo Tool in Rust
- What Is Iter in Rust and Iterators
- Exercise—Iterate Through a Vector in Rust
- Exercise—Iterate Through a Vector in Rust—II
- What Are Closures in Rust
- What Are Smart Pointers in Rust
- Code Along and Customize Your Own Smart Pointer in Rust
- Exercise—Customize Your Own Custom Smart Pointer
- Multi-Threads in Rust
- Exercise—Build Your Own Multi-Threads in Rust
Every session / topic would be followed by programming tips viz:
- Common Programming Errors: Students learning a language – especially in their first programming course – tend to make certain kinds of errors frequently. Focusing on these Common Programming Errors helps students avoid making the same errors.
- Good Programming Practices: Good Programming Practices are tips for writing clear programs. These techniques help student produce programs that are more readable, self-documenting and easier to maintain.
- Performance Tips: In our experience, teaching students to write clear and understandable programs is the most important goal for a first programming course. But students want to write the programs that run the fastest, use of least memory, require smallest number of keystrokes,. Students really care about performance. They want to know what they can do to “turbo charge” their programs. So we highlight opportunities for improving program performance-making programs run faster or minimizing the amount of memory that they occupy.
- Portability Tips: Software development is a complex and expensive activity. Organizations that develop software must often produce versions customized to a variety of computers and operating systems. So there is a strong emphasis today on portability, i.e., on producing software that will run on a variety of computer systems with few, if any, changes. Achieving portability requires careful and cautious design. There are many pitfalls.
- Software Engineering Observations: The Software Engineering Observations highlight techniques, architectural issues and design issues, etc. that affect the architecture and construction of software systems, especially large-scale systems.
- Self-Review Exercises and Answers: This gives the student a chance to build confidence with the material and prepare to attempt the regular exercises.
Reviews
There are no reviews yet.