CIS 3033 Object-Oriented Programming III (C# & Java)

(RU-CIS3033.AJB1)
Lessons
Lab
TestPrep
AI Tutor (Add-on)
Get A Free Trial

Skills You’ll Get

1

Hello, C#! Welcome, .NET!

  • Setting up your development environment
  • Understanding .NET
  • Building console apps using Visual Studio Code
  • Downloading solution code from the GitHub repository
  • Looking for help
  • Practicing and exploring
  • Summary
2

Speaking C#

  • Introducing C#
  • Understanding C# basics
  • Working with variables
  • Working with null values
  • Exploring console applications further
  • Practicing and exploring
  • Summary
3

Controlling Flow and Converting Types

  • Operating on variables
  • Understanding selection statements
  • Understanding iteration statements
  • Casting and converting between types
  • Practicing and exploring
  • Summary
4

Writing, Debugging, and Testing Functions

  • Writing functions
  • Debugging during development
  • Logging during development and runtime
  • Unit testing functions
  • Practicing and exploring
  • Summary
5

Building Your Own Types with Object-Oriented Programming

  • Talking about object-oriented programming
  • Building class libraries
  • Storing data within fields
  • Writing and calling methods
  • Controlling access with properties and indexers
  • Pattern matching with objects
  • Working with records
  • Practicing and exploring
  • Summary
6

Implementing Interfaces and Inheriting Classes

  • Setting up a class library and console application
  • Simplifying methods
  • Raising and handling events
  • Implementing interfaces
  • Making types safely reusable with generics
  • Managing memory with reference and value types
  • Inheriting from classes
  • Casting within inheritance hierarchies
  • Inheriting and extending .NET types
  • Practicing and exploring
  • Summary
7

Understanding and Packaging .NET Types

  • Introducing .NET 5
  • Understanding .NET components
  • Publishing your applications for deployment
  • Decompiling assemblies
  • Packaging your libraries for NuGet distribution
  • Porting from .NET Framework to .NET 5
  • Practicing and exploring
  • Summary
8

Working with Common .NET Types

  • Working with numbers
  • Working with text
  • Pattern matching with regular expressions
  • Storing multiple objects in collections
  • Working with spans, indexes, and ranges
  • Working with network resources
  • Working with types and attributes
  • Working with images
  • Internationalizing your code
  • Practicing and exploring
  • Summary
9

Working with Files, Streams, and Serialization

  • Managing the filesystem
  • Reading and writing with streams
  • Encoding and decoding text
  • Serializing object graphs
  • Practicing and exploring
  • Summary
10

Protecting Your Data and Applications

  • Understanding the vocabulary of protection
  • Encrypting and decrypting data
  • Hashing data
  • Signing data
  • Generating random numbers
  • What's new in cryptography?
  • Authenticating and authorizing users
  • Practicing and exploring
  • Summary
11

Working with Databases Using Entity Framework Core

  • Understanding modern databases
  • Setting up EF Core
  • Defining EF Core models
  • Querying EF Core models
  • Loading patterns with EF Core
  • Manipulating data with EF Core
  • Practicing and exploring
  • Summary
12

Querying and Manipulating Data Using LINQ

  • Writing LINQ queries
  • Working with sets and bags using LINQ
  • Using LINQ with EF Core
  • Sweetening LINQ syntax with syntactic sugar
  • Using multiple threads with parallel LINQ
  • Creating your own LINQ extension methods
  • Working with LINQ to XML
  • Practicing and exploring
  • Summary
13

Improving Performance and Scalability Using Multitasking

  • Understanding processes, threads, and tasks
  • Monitoring performance and resource usage
  • Running tasks asynchronously
  • Synchronizing access to shared resources
  • Understanding async and await
  • Practicing and exploring
  • Summary
14

Introducing Practical Applications of C# and .NET

  • Understanding app models for C# and .NET
  • New features in ASP.NET Core
  • Understanding SignalR
  • Understanding Blazor
  • Understanding the bonus lessons
  • Building an entity data model for Northwind
  • Summary
15

Building Websites Using ASP.NET Core Razor Pages

  • Understanding web development
  • Understanding ASP.NET Core
  • Exploring Razor Pages
  • Using Entity Framework Core with ASP.NET Core
  • Using Razor class libraries
  • Configuring services and the HTTP request pipeline
  • Practicing and exploring
  • Summary
16

Building Websites Using the Model-View-Controller Pattern

  • Setting up an ASP.NET Core MVC website
  • Exploring an ASP.NET Core MVC website
  • Customizing an ASP.NET Core MVC website
  • Using other project templates
  • Practicing and exploring
  • Summary
17

Building Websites Using a Content Management System

  • Understanding the benefits of a CMS
  • Understanding Piranha CMS
  • Defining components, content types, and templates
  • Testing the Northwind CMS website
  • Practicing and exploring
  • Summary
18

Building and Consuming Web Services

  • Building web services using the ASP.NET Core Web API
  • Documenting and testing web services
  • Consuming services using HTTP clients
  • Implementing advanced features
  • Understanding other communication technologies
  • Practicing and exploring
  • Summary
19

Building Intelligent Apps Using Machine Learning

  • Understanding machine learning
  • Understanding ML.NET
  • Making product recommendations
  • Practicing and exploring
  • Summary
20

Building Web User Interfaces Using Blazor

  • Understanding Blazor
  • Building components using Blazor Server
  • Building components using Blazor WebAssembly
  • Practicing and exploring
  • Summary
21

Building Cross-Platform Mobile Apps

  • Understanding XAML
  • Understanding Xamarin and Xamarin.Forms
  • Building mobile apps using Xamarin.Forms
  • Consuming a web service from a mobile app
  • Practicing and exploring
  • Summary
A

Appendix A: Building Windows Desktop Apps

  • Understanding legacy Windows application platforms
  • Migrating WPF apps to .NET 5
  • Understanding the modern Windows platform
  • Creating a modern Windows app
  • Exploring common controls and acrylic brushes
  • Exploring Reveal
  • Using resources and templates
  • Replacing a control template
  • Using data binding
  • Practicing and exploring
  • Summary
23

Introduction

  • How This Course Is Organized?
  • Who Should Read This Course?
  • Conventions Used in This Course
24

Getting Started with Java

  • The Java Language
  • Object-Oriented Programming
  • Objects and Classes
  • Attributes and Behavior
  • Organizing Classes and Class Behavior
  • Summary
25

The ABCs of Programming

  • Statements and Expressions
  • Variables and Data Types
  • Comments
  • Literals
  • Expressions and Operators
  • String Arithmetic
  • Summary
26

Working with Objects

  • Creating New Objects
  • Using Class and Instance Variables
  • Calling Methods
  • References to Objects
  • Casting Objects and Primitive Types
  • Comparing Object Values and Classes
  • Summary
27

Lists, Logic, and Loops

  • Arrays
  • Block Statements
  • if Conditionals
  • Switch Conditionals
  • The Ternary Operator
  • for Loops
  • while and do Loops
  • Breaking Out of Loops
  • Summary
28

Creating Classes and Methods

  • Defining Classes
  • Creating Instance and Class Variables
  • Creating Methods
  • Creating Java Applications
  • Java Applications and Arguments
  • Creating Methods with the Same Name
  • Constructors
  • Overriding Methods
  • Summary
29

Packages, Interfaces, and Other Class Features

  • Modifiers
  • Static Variables and Methods
  • Final Classes, Methods, and Variables
  • Abstract Classes and Methods
  • Packages
  • Creating Your Own Packages
  • Interfaces
  • Creating and Extending Interfaces
  • Summary
30

Exceptions and Threads

  • Exceptions
  • Managing Exceptions
  • Declaring Methods That Might Throw Exceptions
  • Creating and Throwing Exceptions
  • When Not to Use Exceptions
  • Threads
  • Summary
31

Data Structures

  • Moving Beyond Arrays
  • Java Structures
  • Generics
  • Enumerations
  • Summary
32

Creating a Graphical User Interface

  • Creating an Application
  • Working with Components
  • Lists
  • The Java Class Library
  • Summary
33

Building an Interface

  • Swing Features
  • Summary
34

Arranging Components on a User Interface

  • Basic Interface Layout
  • Mixing Layout Managers
  • Card Layout
  • Summary
35

Responding to User Input

  • Event Listeners
  • Working with Methods
  • Summary
36

Creating Java2D Graphics

  • The Graphics2D Class
  • Drawing Text
  • Color
  • Drawing Lines and Polygons
  • Summary
37

Developing Swing Applications

  • Improving Performance with SwingWorker
  • Grid Bag Layout
  • Summary
38

Using Inner Classes and Lambda Expressions

  • Inner Classes
  • Lambda Expressions
  • Variable Type Inference
  • Summary
39

Working with Input and Output

  • Introduction to Streams
  • Byte Streams
  • Filtering a Stream
  • Character Streams
  • Files and Paths
  • Summary
40

Communicating Over HTTP

  • Networking in Java
  • The java.nio Package
  • Summary
41

Accessing Databases with JDBC and Derby

  • Java Database Connectivity
  • Summary
42

Reading and Writing RSS Feeds

  • Using XML
  • Designing an XML Dialect
  • Processing XML with Java
  • Processing XML with XOM
  • Summary
43

Making Web Service Requests

  • Introduction to XML-RPC
  • Communicating with XML-RPC
  • Choosing an XML-RPC Implementation
  • Using an XML-RPC Web Service
  • Creating an XML-RPC Web Service
  • Summary
44

Writing a Game with Java

  • Playing a Game
  • Summary
B

Appendix A: Using the NetBeans Integrated Development Environment

  • Installing NetBeans
  • Creating a New Project
  • Creating a New Java Class
  • Running the Application
  • Fixing Errors
  • Expanding and Shrinking a Pane
  • Exploring NetBeans
C

Appendix B: Fixing Package Not Visible Errors in NetBeans

  • Adding Module Info
D

Appendix C: Using the Java Development Kit

  • Choosing a Java Development Tool
  • Configuring the Java Development Kit
  • Using a Text Editor
  • Creating a Sample Program
E

Appendix D: Programming with the Java Development Kit

  • Overview of the JDK
  • java, the Java Virtual Machine
  • The javac Compiler
  • The javadoc Documentation Tool
  • The jar Java File Archival Tool
  • The jdb Debugger
  • Using System Properties
  • Writing Java Statements in a Shell
F

Appendix E: Projects

1

Hello, C#! Welcome, .NET!

  • Sandbox
  • Creating a Simple Console Application
  • Getting Definitions of Data Types
  • Getting Help for the dotnet Tool
2

Speaking C#

  • Using Variables
  • Using the sizeof() Operator
  • Comparing Decimal and Double Values
  • Using the default() Operator
  • Using Interpolation of Strings
  • Formatting Strings
  • Getting Text Input From a User
3

Controlling Flow and Converting Types

  • Using Operators
  • Using the switch Statement
  • Using the if else Statement
  • Using the foreach Loop
  • Using the for Loop
  • Using the while Loop
  • Using the do while Loop
  • Using Error Handling
  • Implementing the Explicit Type Conversion
  • Implementing the Implicit Type Conversion
4

Writing, Debugging, and Testing Functions

  • Using Recursion
  • Using the return Keyword
  • Creating a Function
  • Logging in C#
5

Building Your Own Types with Object-Oriented Programming

  • Creating a Class
  • Creating an Object
  • Using Access Modifiers
  • Defining Fields in a Class
  • Using Properties
  • Using enum
  • Using Constructors
  • Using Methods in a Class
  • Using Tuples
  • Using Records
6

Implementing Interfaces and Inheriting Classes

  • Using Events
  • Using a Static Delegate
  • Using Instance Delegates
  • Creating an Abstract Class
  • Using Polymorphism
  • Using Encapsulation
7

Understanding and Packaging .NET Types

  • Publishing a Console Application
8

Working with Common .NET Types

  • Checking the Content of a String
  • Splitting a String
  • Using Regular Expressions
  • Using Dictionaries
  • Using Lists
9

Working with Files, Streams, and Serialization

  • Managing File Paths
  • Using a StreamWriter Class
  • Using StreamReader
  • Using the BinaryWriter Class
  • Using Serialization
10

Protecting Your Data and Applications

  • Implementing AES Encryption
11

Working with Databases Using Entity Framework Core

  • Managing a Database with SQLiteStudio
  • Setting up the dotnet-ef Tool
  • Connecting to a Database in Visual Studio
12

Querying and Manipulating Data Using LINQ

  • Using LINQ Queries
  • Using the LINQ OrderBy Operator
  • Using the UNION Operator
  • Using LINQ to XML
13

Improving Performance and Scalability Using Multitasking

  • Applying a Mutually Exclusive Lock
  • Using the Thread.Sleep Method
14

Building Websites Using ASP.NET Core Razor Pages

  • Finding a List and Configuring a Windows Service
15

Building Websites Using the Model-View-Controller Pattern

  • Creating a Link
16

Building and Consuming Web Services

  • Creating a Web Service
17

Building Web User Interfaces Using Blazor

  • Using Blazor
18

The ABCs of Programming

  • Using a Variable
  • Using Multiple Variables
  • Creating a Local Variable
  • Using Comments
  • Using the Modulus Operator
  • Using the Logical AND Operator
  • Using the Logical OR Operator
  • Using the instanceOf Operator
  • Using Relational Operators
  • Concatenating Two Strings
19

Working with Objects

  • Creating an Object
  • Creating a Class Variable
  • Creating a Reference to the Object
  • Using Java Primitives 
  • Converting a Primitive Type to Object
20

Lists, Logic, and Loops

  • Declaring a Multidimensional Array
  • Declaring an Array
  • Using the if Statement
  • Using the if-else Statement
  • Using the switch Statement
  • Using the Ternary Operator
  • Using the for Statement
  • Using the while Loop
  • Using the do/while Loop
  • Using the break Statement
21

Creating Classes and Methods

  • Using the this Keyword
  • Creating a Method
  • Creating the main() Method
  • Passing Parameters to a Method
  • Creating a Constructor
  • Overloading a Method
  • Using Method Overriding
22

Packages, Interfaces, and Other Class Features

  • Using the Access Modifier
  • Using the Static Method
  • Using Static Variables
  • Importing a Package
  • Using the Abstract Method
  • Creating an Interface
23

Exceptions and Threads

  • Using the try/catch Block
  • Using the finally Block
  • Using the throws Keyword
24

Data Structures

  • Creating an Enumeration
25

Creating a Graphical User Interface

  • Creating a Form
26

Building an Interface

  • Creating a Signup Form
  • Creating a Textbox and a Progress Bar
27

Arranging Components on a User Interface

  • Creating a Calendar
28

Responding to User Input

  • Creating a Calculator
29

Creating Java2D Graphics

  • Drawing a Rectangle and Adding Color to it
30

Developing Swing Applications

  • Creating a Graphical User Interface
31

Using Inner Classes and Lambda Expressions

  • Using the Static Inner Class
  • Using a Lambda Expression
32

Working with Input and Output

  • Writing Values in a File
  • Reading the Content of a File
33

Accessing Databases with JDBC and Derby

  • Working with JDBC Statements
  • Executing a SQL Query
  • Displaying Records
  • Reading the Content of a Webpage
34

Reading and Writing RSS Feeds

  • Creating an XML Document
scroll to top