C C T B H P N

Lab #1 - Programming Environments

This lab focuses on setting up programming environments for the labs and projects.

Lab Grading:

These labs are intended to be a learning experience, and will not be subjected to a lot of critical analysis.
Lab grades will be 10% of your course grade. Here's what is expected:
If lab attendance isn't close to the number of registered students, there will be unannounced quizzes.

Lab Resources:

  1. Visual Studio
    Visual Studio is an Integrated Development Environment (IDE) supporting projects and tool-chains for developing projects on Windows with the programming languages: C++, C#, JavaScript, and a variety of other .Net languages.
    Project types
    • Console applications
    • Static website development with HTML, CSS, JavaScript, and TypeScript - starts with blank solution.
    • Asp.Net Core web sites and web services
    • node.js applications
    • Python applications.
    Download Visual Studio Community Edition I will be presenting code in class most often with Visual Studio.
    Visual Studio Help pdf
    Getting Started .Net Core and Core SDK Tutorials
    Tutorials for Visual Studio 2017, Visual Studio Code, Visual Studio for Mac, and .Net Core CLI tools
    Visual Studio, Visual Studio Documentation
    Getting Started Videos
  2. Visual Studio Code
    Visual Studio Code is not Visual Studio. It is an IDE based on the Electron JavaScript library, and runs on every platfrom supporting node.js, a message dispatching framework hosting a modern JavaScript environment. That includes Windows, Linux, and the Mac OS's .
    Project Types
    • JavaScript and TypeScript
    • node.js
    • C++ with pluggins
    • C# and .Net with pluggins
    • Java, Python, and Go with pluggins
    Download Visual Studio Code Help with VS Code, pptx Code Samples .Net Core and Core SDK Tutorials
    Tutorials for Visual Studio 2017, Visual Studio Code, Visual Studio for Mac, and .Net Core CLI tools
    Getting Started Visual Studio Code, Getting Started with VS Code, Create a snippet in VS Code
    Working with C# and .Net Core in VS Code dotnet command
    Net Core Tutorials, Using .Net Core in Visual Studio Code, Working with C#
    Configuring VS Code Integrated Terminal, VS Code variables reference, User and Workspace Settings, Custom Tasks
    Working with C++ in VS Code Building C++ with Visual Studio Code, C++ for Visual Studio Code, Make for Windows
    VS Code Videos
  3. Visual Studio for Mac
    Visual Studio for Mac has support for Asp.Net Core MVC and Web API. Download Visual Studio for Mac .Net Core and Core SDK Tutorials
    Tutorials for Visual Studio 2017, Visual Studio Code, Visual Studio for Mac, and .Net Core CLI tools
  4. .Net Framework and .Net Core The .Net Framework is a set of libraries that support C# and other managed code development on the Windows platform.
    .Net Core is a slimmed-down port of the .Net Framework, with some new features, for Windows, Linux, and Macs. We will be using the Core Framework exclusively in this course.
    .Net Framework Guide
    Choosing between .Net Core and .Net Framework
    What's new in .Net Core
    .Net Core and Core SDK Tutorials
    Tutorials for Visual Studio 2017, Visual Studio Code, Visual Studio for Mac, and .Net Core CLI tools
    .Net Core packages
  5. dotnet CLI dotnet CLI is a command line interface for the .Net Core framework. It allows us to build, from the command line, C# console applications and Asp.Net Core Web applications.
    Once you've installed the .Net Core SDK you can explore dotnet CLI capabilities with the command: dotnet /h.
    Help with dotnet command, pptx Tutorial on .Net CLI - tutorialsteacher.com, Quick Tour of the .Net CLI - build scripts, Exploring dotnet CLI - Scott Hanselman
    .Net Core and Core SDK Tutorials
    Tutorials for Visual Studio 2017, Visual Studio Code, Visual Studio for Mac, and .Net Core CLI tools What's new in .Net Core, .Net Core packages .Net Core CLI Tools, .Net Core SDK and tools, .Net CLI and AWS Lambda
  6. VirtualBox VirtualBox is a virtual machine host that can be installed on any platform that supports Java, including Windows, Linux, and MacOS's. Mac users may wish to set up VirtualBox and install a Windows guest along with Visual Studio. Download VirtualBox, Installing VirtualBox
  7. PowerShell PowerShell is a command line facility with a powerful scripting language. But it's hard to learn well. I may use powershell for some demos in class.
    Hints: try opening PowerShell and typing: get-help, get-help commands, get-help objects,
    get-help About_methods, get-help About_properties, get-help About
    Help with PowerShell and the dotnet command, pptx Tutorial - tutorialspoint.com, PowerShell Execution Policy,
    functions, passing arguments to cmdlets
    Create and Edit Profile, psEdit, PowerShell Profile, PowerShell Profiles
    Set default directory Set-PSReadLineOption, Change console colors, Change prompt,
  8. C# Programming Language C# is a managed programming language, very similar to Java. Its .Net Framework libraries provide a lot of support for Windows programming. With .Net Core, the C# tool chain has been ported to Windows, Linux, and Macs. C# Guide, C# Tutorials, C# Language Reference C# Types

Lab #1 Activities:

The purpose of this lab is to ensure that all students of CSE686 - IP have a development environment set up to use for labs and work on a Final Project.
  1. Download and install .Net Core SDK, if you haven't already done that. You can tell if it is already installed by typing, in the command prompt: "dotnet --info". Download .Net Core SDK Getting started with Asp.Net Core
  2. Download and install Visual Studio Code (VSC) if you haven't done so already. This will be fairly quick. Download Visual Studio Code Getting started with Visual Studio Code
  3. Create a Lab1 folder and use that to store the results of the remaining activities.
  4. Using VS Code, create a simple html page that has a Lab #1 heading and a sub-heading with your name.
  5. Using dotnet CLI, create an Asp.Net Core console application.
    Open that with VS Code and edit main so that it displays Lab #1 and your name.
All of the code examples I demonstrate in class, for the first five weeks, should work well with VSC. After that, things get slightly more complicated. We'll discuss that during this lab.

Please zip your Lab #1 folder and Submit Lab. Note: just zip, no rar, tar, ...