Overview of .NET Framework

Total Page:16

File Type:pdf, Size:1020Kb

Overview of .NET Framework Sanjay Vyas .NET Framework 4.0 Network support and managed services .NET Framework Current "Layer Cake" .NET Framework 3.5 + SP1 MVC Dynamic Data Entity Framework Data Services .NET Framework 3.5 WF & WCF Add-in Additional LINQ Enhancements Framework Enhancements .NET Framework 3.0 + SP1 Windows Windows Windows Workflow Windows Presentation Communication Foundation CardSpace Foundation Foundation .NET Framework 2.0 + SP1 .NET Framework 4.0 User Interface Services Data Access ASP.NET Windows Windows (WebForms, MVC, Presentation Data Services Communication ADO.NET Entity Framework Dynamic Data) Foundation Foundation Windows WinForms “Velocity” Workflow LINQ to SQL Foundation Core Managed Dynamic Language Parallel Extensions Extensibility LINQ Languages Base Class Library Runtime Framework Common Language Runtime Whats New In Base Class Library Managed •Declaration & consumption of extensibility points Extensibility •Monitoring for new runtime extension Framework •BigInteger •ComplexNumber New Data Types •Tuple •SortedSet I/O •Memory Mapped Files Improvements •Unified Cancelling Model Managed Extensibility Framework Create reusable components Don’t we already have reusable components? No need to create infrastructure from scratch MEF is dynamically composed What’s so dynamic about it Current plugin model tied to specific apps Same component cannot be used across apps Discoverable at runtime Tagging for rich queries and filtering MEF Architecture MEF Catalog Discovers and maintain extensions CompositionContainer Coordinate creations and satisfy dependencies ComposablePart Offer on or more exports May depend on imports for extension it uses Managed Extensibiity Framework New Language Features C# 4.0 VB.NET 10 Named Parameters Optional Parameters Dynamic Scoping Statement Lambdas Multiline Lambdas Auto implemented Properties Collection Initializ er Generic Variance Generic Variance Extension Property Extension Property Optional and Named Parameter Some methods have excessive parameters Too many overloads of methods Most aren’t used in everyday scenario Developers still have to supply default values Heavy use of Type.Missing Comma counting is a pain Difficult to remember parameter by position Overload Of Overloads class Book { // Multiple constructors Book() : this(“”, “”, “”, ) { } Book(string isbn) : this(isbn, “”, “”, 0) { } Book(string isbn, string title) : this(isbn, title, “”, 0) { } Book(string isbn, string title, string author) : this(isbn, title, author, 0) { } // Master Constructor which gets called by others Book(string isbn, string title, string author, int pages) { // Do the actual work here } } Optional Parameters class Book { // Use optional parameters Book(string isbn=“”, string title=“”, string author=“”, int pages=0) { // Do the actual work here } } : : : Book book = new Book(“1-43254-333-1”); Book book = new Book(“1-43254-333-1”, “How not to code”); Book book = new Book(“1-43254-333-1”, “How not to code”, “Copy Paster”); Book book = new Book(“1-43254-333-1”, 240); // Cannot skip parameters Named Parameter class Book { // Use optional parameters Book(string isbn=“”, string title=“”, string author=“”, int pages=0) { // Do the actual work here } } : : : Book book = new Book(isbn:“1-43254-333-1”); Book book = new Book(isbn:“1-43254-333-1”, title:“How not to code”); Book book = new Book(isbn:“1-43254-333-1”, title:“How not to code”, author:“Copy Paster”); Book book = new Book(isbn:“1-43254-333-1”, pages:240); Dynamic scoping C# is static type languages Types are explicitly defined Methods are bound at runtime Dynamic dispatch exists Reflection API Method.Invoke() is tedious COM Automation is based on IDispatch May not have .TLB Lookup can be purely runtime Certain Application Types require Dynamism E.g. SOAP/REST proxies Dynamic in .NET 4.0 CLR is mostly static type Compile time type checking (e.g. IUnknown) DLR added dynamism to .NET Run time type checking (e.g. IDispatch) DLR is now part of .NET 4.0 API Full support of IronRuby, IronPython Dynamic dispatch now built into .NET/C# Dynamic Dispatch Introduction of type – dynamic Compiler merely packages information Compiler defers binding to runtime Built-in support for COM Calls Uses IDispatch interface PIA not required Runtime binding for framework objects Build your own – IDynamicObject IronPython, IronRuby use this E.g. RestProxy Dynamic Data Type Isnt Object type dynamic already? .NET already has var, why add dynamic? Object – Static type, base class var – is ALSO static type, compiler inferred dynamic – Evaluation deferred Dynamic implementation dynamic d = GetFlyingObject(“Superman”); d.Fly(); // Up, up and away dynamic d = GetFlyingObject(“AirPlane”); d.Fly(); // Take off dynamic d = GetFlyingObject(“Cat”); d.Fly(); // OOPS… but at runtime Dynamic Dispatch Variance Covariance Similar to base reference to derived class Covariance is applied to arrays, delegates.. Contravariance Similar to derived instance passed to base Changes to Variance Variance can now be applied to Interfaces Variant types supports interfaces and delegates Variance applies to reference conversion only Value types are not supported Covariance Requires the use of “out” keyword Contravariant Requires the use of “in” keyword It could be automatically inferred but that could lead to code-breaking when interface definition changes Variance Code Contracts Foundation Design by contract Based on MSR’s SPEC# What does it bring? Improved testability Static verification API Documentation How does it help? Guarantee obligations on entry (parameter validations) Guarantee property at exit (return value range) Maintain property during execution (object invariance) Code Contracts New namespace in .NET System.Diagnostics.Contracts Parameter validation Contract.Requires() Return value guarantee Contract.Ensures() Object state guarantee Contract.Invariant() Code Contracts Compile generates the IL code Contracts are conditionally compiled Define CONTRACTS_FULL to enable Code Contracts Parallelism in .NET 4.0 Don’t we have multithreading and ThreadPool? Requires too much work Requires understanding of nitty-gritties Bifurcated thinking for single CPU vs. multi What does parallelism bring in? Make multicore programming simple Automatcially handle single vs. multicore Focus on “what” rather than “how” Parallels in .NET Task Parallel Library (TPL) Task and Data Parallelism LINQ to Parallel (PLINQ) Use LINQ to implement parallelism on queries Coordinated Data Structures High performance collection classes which are lock free and thread safe Parallel Diagnostic Tools Parallels Debugger and VSTS Profiler concurrency view Task Parallel Library Write code which automatically uses multicore Expose potential parallelism in sequential code No language extension (aka Syntactic sugar) yet Parallelism types The Task Class – Task Parallelism The Parallel Class – Data Parallelism Task Management TaskManager class Use default or create your own Task Parallel Library.
Recommended publications
  • Ironpython in Action
    IronPytho IN ACTION Michael J. Foord Christian Muirhead FOREWORD BY JIM HUGUNIN MANNING IronPython in Action Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> IronPython in Action MICHAEL J. FOORD CHRISTIAN MUIRHEAD MANNING Greenwich (74° w. long.) Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwich, CT 06830 email: [email protected] ©2009 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15% recycled and processed without the use of elemental chlorine.
    [Show full text]
  • Introducing Visual Studio 2010
    INTRODUCING VISUAL STUDIO 2010 DAVID CHAPPELL MAY 2010 SPONSORED BY MICROSOFT CONTENTS Tools and Modern Software Development ............................................................................................ 3 Understanding Visual Studio 2010 ........................................................................................................ 3 The Components of Visual Studio 2010 ................................................................................................... 4 A Closer Look at Team Foundation Server............................................................................................... 5 Work Item Tracking ............................................................................................................................. 7 Version Control .................................................................................................................................... 8 Build Management: Team Foundation Build ...................................................................................... 9 Reporting and Dashboards.................................................................................................................. 9 Using Visual Studio 2010 ..................................................................................................................... 12 Managing Requirements ....................................................................................................................... 12 Architecting a Solution .........................................................................................................................
    [Show full text]
  • ASP.NET MVC with Entity Framework and CSS
    ASP.NET MVC with Entity Framework and CSS Lee Naylor ASP.NET MVC with Entity Framework and CSS Lee Naylor Newton-le-Willows, Merseyside United Kingdom ISBN-13 (pbk): 978-1-4842-2136-5 ISBN-13 (electronic): 978-1-4842-2137-2 DOI 10.1007/978-1-4842-2137-2 Library of Congress Control Number: 2016952810 Copyright © 2016 by Lee Naylor This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Visual Studio Team Test Quick Reference a Quick Reference for Users of the Team Testing Features of Visual Studio Team System
    MICROSOFT Visual Studio Team Test Quick Reference A quick reference for users of the Team Testing features of Visual Studio Team System Geoff Gray and the Microsoft VSTS Rangers team 3/30/2009 VSTS Rangers This content was originally created by Geoff Gray for internal Microsoft use and then adopted and expanded as a Visual Studio Team System (“VSTS”) Rangers project. “Our mission is to accelerate the adoption of Team System by delivering out of band solutions for missing features or guidance. We work closely with members of Microsoft Services to make sure that our solutions address real world blockers.” -- Bijan Javidi, VSTS Rangers Lead Copyright 2009 Microsoft Corporation Page | 1 Summary This document is a collection of items from public blog sites, Microsoft® internal discussion aliases (sanitized) and experiences from various Test Consultants in the Microsoft Services Labs. The idea is to provide quick reference points around various aspects of Microsoft Visual Studio® Team Test edition that may not be covered in core documentation, or may not be easily understood. The different types of information cover: How does this feature work under the covers? How can I implement a workaround for this missing feature? This is a known bug and here is a fix or workaround. How do I troubleshoot issues I am having? The document contains two Tables of Contents (high level overview, and list of every topic covered) as well as an index. The current plan is to update the document on a regular basis as new information is found. The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication.
    [Show full text]
  • Release 1.13 Kal Ahmed, Graham Moore
    BrightstarDB Documentation Release 1.13 Kal Ahmed, Graham Moore January 08, 2016 Contents 1 Getting Started 1 1.1 Architect.................................................1 1.2 Data....................................................1 1.3 Developer.................................................1 2 Concepts 3 2.1 Architecture...............................................3 2.2 Data Model................................................4 2.3 Storage Features.............................................5 2.4 Client APIs................................................5 2.5 Supported RDF Syntaxes........................................5 3 Why BrightstarDB? 7 3.1 An Associative Model..........................................7 3.2 Schema-less Data Store.........................................7 3.3 A Semantic Data Model.........................................7 3.4 Automatic Data caching.........................................8 3.5 Full Historical Capabilities........................................8 3.6 Developer Friendly Toolset.......................................8 3.7 Native .NET Semantic Web Database..................................8 3.8 RDF is great for powering Object Oriented solutions..........................8 4 Developing With BrightstarDB9 5 Developer Quick Start 11 5.1 Create New Project............................................ 11 5.2 Create the Model............................................. 12 5.3 Generating the Context and Classes................................... 13 5.4 Using the Context...........................................
    [Show full text]
  • How to Use the Powerpoint Template
    Getting Started with Oracle and .NET Christian Shay Eric Courville Product Manager Senior Member of Technical Staff Oracle Verizon Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted Program Agenda 1 Oracle and Microsoft 2 Oracle and .NET – Getting Started 3 Oracle Developer Tools for Visual Studio 4 Oracle Data Provider for .NET 5 Additional Oracle .NET Features Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and Microsoft Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle’s Commitment to .NET ODP ODT & ODAC 64-bit ODAC ODAC ODAC ODAC ODAC ODAC 12c ODAC 12c .NET .NET SP 2006 ODAC 2008 2009 11.2 R2 11.2 R4 11.2 R5 R1 & R2 R3 & R4 2002-03 2005 2006 2007 2007-08 2009 2010 2011 2012 2013 2014-15 .NET VS .NET 2.0 & .NET .NET 3.5 & .NET 4 & EF .NET 4.5 & VS 2013 & VS 2015, 1.x 2003 VS 2005 3.0 VS 2008 VS 2010 VS 2012 Managed NuGet & EF Code First Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Relationship with Microsoft • Close collaboration with Microsoft Engineering teams Engineering • Access to pre-release Microsoft product drops • Visual Studio Industry Partner (VSIP) • Event sponsorship – MS Ignite and Worldwide Partner Marketing Conference • Joint training, road shows, collateral, etc. • Microsoft Premier Support Agreement Support • Collaboration of support teams Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and .NET Getting Started Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle .NET Development Environment Oracle Developer Tools Oracle Data Provider Oracle Providers for for Visual Studio for .NET ASP.NET App Development Deploy Visual .NET Studio Framework Deploy Database Web or Development Client/Server Oracle Database Extensions for .NET Copyright © 2015, Oracle and/or its affiliates.
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]
  • Entity Framework Overview the Entity Framework Is a Set of Technologies in ADO.NET That Support the Development of Data-Oriented Software Applications
    Entity Framework Overview The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data. The data may span multiple storage systems, each with its own protocols; even applications that work with a single storage system must balance the requirements of the storage system against the requirements of writing efficient and maintainable application code. The Entity Framework enables developers to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern themselves with the underlying database tables and columns where this data is stored. With the Entity Framework, developers can work at a higher level of abstraction when they deal with data, and can create and maintain data-oriented applications with less code than in traditional applications. Because the Entity Framework is a component of the .NET Framework, Entity Framework applications can run on any computer on which the .NET Framework starting with version 3.5 SP1 is installed. The following sections in this topic provide more detail about the Entity Framework: Giving Life to Models Mapping Objects to Data Accessing and Changing Entity Data Data Providers Entity Data Model Tools Learning More Giving Life to Models A longstanding and common design approach when building an application or service is the division of the application or service into three parts: a domain model, a logical model, and a physical model.
    [Show full text]
  • Download Full CV (PDF)
    Full name : Lars Bjergner Mikkelsen. Practical experience: Company name: LARSMIKKELSEN.COM Aps Street & number: Husoddebakken 26 City: Horsens Zip code: 8700 Country: Denmark. Web address: http://www.larsmikkelsen.com Start date of employment: 27-July-2007. End date of employment: Not ended Job title: Owner at LARSMIKKELSEN.COM Aps. Job description: Freelance specialist Microsoft Dynamics Ax and .NET. Technical solution architect Dynamics Ax projects. Development in x++ and C#. Integration specialist between Dynamics Ax and .NET on several projects. SharePoint Enterprise Portal solutions on Dynmaics Ax 4.0 and ASP.NET based Dynamics Ax 2009 solution. Invented, designed and developed Advanced Ax Batch. Advanced Ax Batch is a Dynamics Ax and .NET based scheduler which are used by several companies for batch execution in Dynamcis Ax. Performance optimization Dynamics Ax solutions. Specialized knowledge: Highly experienced with performance optimization and trouble shooting of Dynamics Ax installations. Technologies mastered: Programming Languages (X++, C#) Programming Libraries (Axapta, .NET Framework) Component Technology (Axapta, .NET , COM, COM+, Active X) Databases (SQL server) Markup Languages (HTML, XML) Internet (SharePoint Enterprise Portal) Development tools (Axapta, Visual studio .NET) Protocols (HTTP, SOAP, TCP/IP) 1 Company name: Columbus IT Street & number: 3151 Airway, Building N-1 City: Costa Mesa, CA Zip code: 8240 Country: USA. Web address: http://www.columbusit.com Start date of employment: 23-May-2005. End date of employment: 27-July-2007. Job title: Technology / integration manager and solution architect. Job description: Responsible for technology and integration strategies. Technical solution architect on major Dynamics Ax projects. Development in x++ and C#. Technical responsible for worldwide mobility platform.
    [Show full text]
  • Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide Thomas Kejser and Denny Lee
    Microsoft SQL Server Analysis Services Multidimensional Performance and Operations Guide Thomas Kejser and Denny Lee Contributors and Technical Reviewers: Peter Adshead (UBS), T.K. Anand, KaganArca, Andrew Calvett (UBS), Brad Daniels, John Desch, Marius Dumitru, WillfriedFärber (Trivadis), Alberto Ferrari (SQLBI), Marcel Franke (pmOne), Greg Galloway (Artis Consulting), Darren Gosbell (James & Monroe), DaeSeong Han, Siva Harinath, Thomas Ivarsson (Sigma AB), Alejandro Leguizamo (SolidQ), Alexei Khalyako, Edward Melomed, AkshaiMirchandani, Sanjay Nayyar (IM Group), TomislavPiasevoli, Carl Rabeler (SolidQ), Marco Russo (SQLBI), Ashvini Sharma, Didier Simon, John Sirmon, Richard Tkachuk, Andrea Uggetti, Elizabeth Vitt, Mike Vovchik, Christopher Webb (Crossjoin Consulting), SedatYogurtcuoglu, Anne Zorner Summary: Download this book to learn about Analysis Services Multidimensional performance tuning from an operational and development perspective. This book consolidates the previously published SQL Server 2008 R2 Analysis Services Operations Guide and SQL Server 2008 R2 Analysis Services Performance Guide into a single publication that you can view on portable devices. Category: Guide Applies to: SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 Source: White paper (link to source content, link to source content) E-book publication date: May 2012 200 pages This page intentionally left blank Copyright © 2012 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property of their respective owners.
    [Show full text]
  • Dotnet for Java Developers.Pdf
    EDITION 1.0 DOWNLOAD available at: https://aka.ms/dotnet-forjavadevs PUBLISHED BY DevDiv, .NET and Visual Studio product teams A division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2018 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. This book is provided “as-is” and expresses the author’s views and opinions. The views, opinions, and information expressed in this book, including URL and other Internet website references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. Microsoft and the trademarks listed at http://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies. All other marks are property of their respective owners. .NET for Java Developers Prepared for Microsoft by Ted Neward, Principal, Neward & Associates, LLC Contents Introduction 1 History 3 Of components, managed environments, and code 3 Hello, .NET 5 Hello, strange new world 9 Getting Started: Tooling 10 Hello, web? 10 Docker all the things! 10 Linux .NET? 10 Visual Studio Code 11 Mac .NET? 12 Windows: Visual Studio 14 Hello, dotnet: CLI style 15 Hello, .NET: IDE style 16 Solutions and projects 18 Goodbye, HelloWorld 19 C#, Succinctly 20 C# Basics 20 Starting exploration: classes, properties, and methods 21 Lambdas, type inference, and extension classes 25 Language-INtegrated Query (LINQ) 27 Asynchronous programming with Async/Await 28 Frameworks, for the Win! 29 ASP.NET Core Web API 30 ASP.NET Core MVC 33 Entity Framework Core 35 Wrapping Up 39 iii Introduction When I was about eight years old, my parents took my sister and me to Paris, France.
    [Show full text]
  • Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems
    Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems RE-VISIONING OF THE AUTOMATIC GRADING/LEARNING SYSTEM Jason Felds A Capstone Project Submitted to the University of North Carolina Wilmington in Partial Fulfillment of the Requirements for the Degree of Master of Science Department of Computer Science Department of Information Systems and Operations Management University of North Carolina Wilmington 2012 Approved by Advisory Committee ______________________________ ______________________________ Dr. Bryan Reinicke Dr. Laurie Patterson ______________________________ ______________________________ Kevin Matthews Dr. Thomas Janicki, Chair Accepted By _______________________________ Dean, Graduate School Abstract Re-visioning of the Automatic Grading/Learning System. Felds, Jason, 2012. Capstone Paper, University of North Carolina Wilmington. In 2008, the ISOM department at UNCW implemented a system that would allow students in certain classes to be able to submit electronic files to be automatically graded as part of the existing grade book system. While that system has been successful, enhancements are desired to make the system more user-friendly and to grade additional features. A number of flaws have been uncovered with the Automatic Grading/Learning System (AGLS) that should be corrected. The goal of this project is to make it easier for the professor to create and grade assignments, but also to make the AGLS more generic so it may be used by other grade book systems.
    [Show full text]