Valid HTML 4.0! Valid CSS!
%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.59",
%%%     date            = "01 February 2024",
%%%     time            = "12:50:07 MST",
%%%     filename        = "csharp.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "https://www.math.utah.edu/~beebe",
%%%     checksum        = "49236 10985 48405 490575",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "C# [C-sharp]; Common Intermediate Language;
%%%                        Microsoft Intermediate Language (MSIL); Mono
%%%                        Project; .NET Project",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This bibliography covers publications about
%%%                        the C# [C-sharp] programming language and the
%%%                        underlying virtual machines: Microsoft .NET
%%%                        (also known as Common Intermediate Language
%%%                        or Microsoft Intermediate Language (MSIL)),
%%%                        and the free software Mono Project.
%%%
%%%                        The bibliography includes members of
%%%                        publisher's Microsoft .NET series, so there
%%%                        are a few entries that are about Visual
%%%                        Basic, rather than C#.  Since a major goal of
%%%                        .NET is interlanguage operability, there is
%%%                        still some connection to C#.
%%%
%%%                        At version 1.59, the year coverage looked
%%%                        like this:
%%%
%%%                             2000 (   2)    2008 (  27)    2016 (   2)
%%%                             2001 (  22)    2009 (  13)    2017 (   7)
%%%                             2002 (  53)    2010 (  31)    2018 (   5)
%%%                             2003 (  43)    2011 (   5)    2019 (   0)
%%%                             2004 (  43)    2012 (  11)    2020 (   1)
%%%                             2005 (  35)    2013 (   7)    2021 (   1)
%%%                             2006 (  47)    2014 (   4)    2022 (   2)
%%%                             2007 (  13)    2015 (   3)
%%%
%%%                             Article:        152
%%%                             Book:           217
%%%                             InProceedings:    3
%%%                             Manual:           1
%%%                             MastersThesis:    1
%%%                             Proceedings:      2
%%%                             TechReport:       1
%%%
%%%                             Total entries:  377
%%%
%%%                        BibTeX citation tags are uniformly chosen as
%%%                        name:year:abbrev, where name is the family
%%%                        name of the first author or editor, year is a
%%%                        4-digit number, and abbrev is a 3-letter
%%%                        condensation of important title words.
%%%                        Citation tags were automatically generated by
%%%                        software developed for the BibNet Project.
%%%
%%%                        In this bibliography, entries are sorted
%%%                        first by ascending year, and within each
%%%                        year, alphabetically by author or editor,
%%%                        and then, if necessary, by the 3-letter
%%%                        abbreviation at the end of the BibTeX
%%%                        citation tag, using the bibsort -byyear
%%%                        utility.  Year order has been chosen to
%%%                        make it easier to identify the most recent
%%%                        work.
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
%%% ====================================================================
%%% Institution abbreviations:
@String{inst-UTAH-MATH          = "University of Utah, Department of Mathematics"}
@String{inst-UTAH-MATH:adr      = "Salt Lake City, UT 84112-0090, USA"}

%%% ====================================================================
%%% Journal abbreviations:
@String{j-CACM                  = "Communications of the Association for
                                  Computing Machinery"}

@String{j-CCCUJ                 = "C/C++ Users Journal"}

@String{j-CCPE                  = "Concurrency and Computation: Prac\-tice and
                                   Experience"}

@String{j-COMP-ARCH-NEWS        = "ACM SIGARCH Computer Architecture News"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-LANGS-SYS-STRUCT = "Computer Languages, Systems and Structures"}

@String{j-COMP-PHYS-COMM        = "Computer Physics Communications"}

@String{j-COMPUTER              = "Computer"}

@String{j-DDJ                   = "Dr. Dobb's Journal of Software Tools"}

@String{j-FUTURE-INTERNET       = "Future Internet"}

@String{j-IEEE-DISTRIB-SYST-ONLINE = "IEEE Distributed Systems Online"}

@String{j-IEEE-SOFTWARE         = "IEEE Software"}

@String{j-INFORMATION-WEEK      = "Information Week"}

@String{j-INFOWORLD             = "InfoWorld"}

@String{j-J-OPEN-SOURCE-SOFT    = "Journal of Open Source Software"}

@String{j-LECT-NOTES-COMP-SCI   = "Lecture Notes in Computer Science"}

@String{j-LOGIN                 = ";login: the USENIX Association newsletter"}

@String{j-NETWORK-SECURITY      = "Network Security"}

@String{j-OPER-SYS-REV          = "Operating Systems Review"}

@String{j-PROC-VLDB-ENDOWMENT   = "Proceedings of the VLDB Endowment"}

@String{j-QUEUE                 = "ACM Queue: Tomorrow's Computing Today"}

@String{j-SCI-COMPUT-PROGRAM    = "Science of Computer Programming"}

@String{j-SIGADA-LETTERS        = "ACM SIGADA Ada Letters"}

@String{j-SIGCSE                = "SIGCSE Bulletin (ACM Special Interest Group
                                  on Computer Science Education)"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SIGSOFT               = "ACM SIGSOFT Software Engineering Notes"}

@String{j-SOFTWAREX             = "SoftwareX"}

@String{j-TECS                  = "ACM Transactions on Embedded Computing
                                  Systems"}

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and Experience"}

@String{j-TACO                  = "ACM Transactions on Architecture and
                                  Code Optimization"}

@String{j-THEOR-COMP-SCI        = "Theoretical Computer Science"}

@String{j-TOCE                  = "ACM Transactions on Computing Education"}

@String{j-TOCS                  = "ACM Transactions on Computer Systems"}

@String{j-TOMACS                = "ACM Transactions on Modeling and
                                  Computer Simulation"}

@String{j-TOPLAS                = "ACM Transactions on Programming
                                  Languages and Systems"}

%%% ====================================================================
%%% Publishers and their addresses:
@String{pub-A-K-PETERS          = "A. K. Peters, Ltd."}
@String{pub-A-K-PETERS:adr      = "Wellesley, MA, USA"}

@String{pub-ACM                 = "ACM Press"}
@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-APRESS              = "Apress"}
@String{pub-APRESS:adr          = "Berkeley, CA, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr              = "Reading, MA, USA"}

@String{pub-CAMBRIDGE           = "Cambridge University Press"}
@String{pub-CAMBRIDGE:adr       = "Cambridge, UK"}

@String{pub-CORIOLIS            = "Coriolis Group Books"}
@String{pub-CORIOLIS:adr        = "Scottsdale, AZ, USA"}

@String{pub-DPUNKT-VERLAG       = "dpunkt-Verlag"}
@String{pub-DPUNKT-VERLAG:adr   = "Heidelberg, Germany"}

@String{pub-ECMA                = "ECMA (European Association for
                                  Standardizing Information and Communication
                                  Systems)"}
@String{pub-ECMA:adr            = "Geneva, Switzerland"}

@String{pub-ELSEVIER            = "Elsevier"}
@String{pub-ELSEVIER:adr        = "Amsterdam, The Netherlands"}

@String{pub-IDG                 = "IDG Books"}
@String{pub-IDG:adr             = "San Mateo, CA, USA"}

@String{pub-ISO                 = "International Organization for
                                  Standardization"}
@String{pub-ISO:adr             = "Geneva, Switzerland"}

@String{pub-JONES-BARTLETT      = "Jones and Bartlett"}
@String{pub-JONES-BARTLETT:adr  = "Boston, MA, USA"}

@String{pub-MANNING             = "Manning Publications"}
@String{pub-MANNING:adr         = "Greenwich, CT, USA"}

@String{pub-MCGRAW-HILL         = "Mc{\-}Graw-Hill"}
@String{pub-MCGRAW-HILL:adr     = "New York, NY, USA"}

@String{pub-MICROSOFT           = "Microsoft Press"}
@String{pub-MICROSOFT:adr       = "Redmond, WA, USA"}

@String{pub-MORGAN-KAUFMANN     = "Morgan Kaufmann Publishers"}
@String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"}

@String{pub-MIT                 = "MIT Press"}
@String{pub-MIT:adr             = "Cambridge, MA, USA"}

@String{pub-MT                  = "M\&T Books"}
@String{pub-MT:adr              = "M\&T Publishing, Inc., 501
                                  Galveston Drive, Redwood City, CA
                                  94063, USA"}

@String{pub-NETWORK-THEORY      = "Network Theory Ltd."}
@String{pub-NETWORK-THEORY:adr  = "Bristol, UK"}

@String{pub-ORA                 = "O'Reilly \& Associates, Inc."}
@String{pub-ORA:adr             = "103a Morris Street,
                                  Sebastopol, CA 95472,
                                  USA,
                                  Tel: +1 707 829 0515,
                                  and
                                  90 Sherman Street,
                                  Cambridge, MA 02140,
                                  USA,
                                  Tel: +1 617 354 5800"}

@String{pub-ORA-MEDIA           = "O'Reilly Media, Inc."}
@String{pub-ORA-MEDIA:adr       = "1005 Gravenstein Highway North, Sebastopol,
                                  CA 95472, USA"}

@String{pub-OSBORNE-MCGRAW-HILL = "Osborne\slash Mc{\-}Graw-Hill"}
@String{pub-OSBORNE-MCGRAW-HILL:adr = "Berkeley, CA, USA"}

@String{pub-PAGINA              = "Pagina F{\"o}rlags AB"}
@String{pub-PAGINA:adr          = "Box 706, Travgatan 92, 194 27
                                  Upplands-V{\"a}sby, Sweden"}

@String{pub-PEARSON-PH          = "Pearson Pren{\-}tice Hall"}
@String{pub-PEARSON-PH:adr      = "Upper Saddle River, NJ 07458, USA"}

@String{pub-PH                  = "Pren{\-}tice-Hall"}
@String{pub-PH:adr              = "Upper Saddle River, NJ 07458, USA"}

@String{pub-PHPTR               = "Pren{\-}tice-Hall PTR"}
@String{pub-PHPTR:adr           = "Upper Saddle River, NJ 07458, USA"}

@String{pub-ROUTLEDGE           = "Routledge \& Kegan Paul"}
@String{pub-ROUTLEDGE:adr       = "London, UK and New York, NY, USA"}

@String{pub-SAMS                = "Howard W. Sams"}
@String{pub-SAMS:adr            = "Indianapolis, IN 46268, USA"}

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg,
                                  Germany~/ London, UK~/ etc."}

@String{pub-SYBEX               = "Sybex, Inc."}
@String{pub-SYBEX:adr           = "2021 Challenger Driver, Suite 100, Alameda,
                                  CA 94501, USA"}

@String{pub-WILEY               = "John Wiley"}
@String{pub-WILEY:adr           = "New York, NY, USA"}

@String{pub-WORDWARE            = "Wordware Publishing"}
@String{pub-WORDWARE:adr        = "Plano, TX, USA"}

@String{pub-WROX                = "Wrox Press"}
@String{pub-WROX:adr            = "Chicago, IL, USA"}

%%% ====================================================================
%%% Bibliography entries, sorted by ascending year and then by citation
%%% key:
@Book{Harvey:2000:CPP,
  editor =       "Burton Harvey and others",
  title =        "{C\#} programming with the public beta",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "ix + 393",
  year =         "2000",
  ISBN =         "1-86100-487-7 (paperback)",
  ISBN-13 =      "978-1-86100-487-1 (paperback)",
  LCCN =         "QA76.73.C154 C173 2000",
  bibdate =      "Mon Jul 5 08:09:51 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Wiltamuth:2000:CPL,
  author =       "Scott Wiltamuth",
  title =        "The {C\#} Programming Language",
  journal =      j-DDJ,
  volume =       "25",
  number =       "10",
  pages =        "21--22, 24, 26, 28, 30--32",
  month =        oct,
  year =         "2000",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Nov 8 15:09:24 MST 2000",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2000/2000_10/cshrp.txt",
  abstract =     "Microsoft's C\# programming language promises the
                 power of C++ with the productivity of Visual Basic.
                 Scott builds a Stack class that demonstrates important
                 aspects of the language. Additional resources include
                 cshrp.txt (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Albahari:2001:CE,
  author =       "Ben Albahari and Peter Drayton and Brad Merrill",
  title =        "{C\#} Essentials",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiv + 199",
  month =        feb,
  year =         "2001",
  ISBN =         "0-596-00079-0",
  ISBN-13 =      "978-0-596-00079-0",
  LCCN =         "QA76.73.C154 A418 2001",
  bibdate =      "Mon Apr 18 15:02:22 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$19.95",
  URL =          "http://www.oreilly.com/catalog/csharpess",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Article{Anonymous:2001:LTC,
  author =       "Anonymous",
  title =        "A Look at Two {C\#} Books",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:34 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Baran:2001:NVA,
  author =       "Nicholas Baran",
  title =        "News and Views: Anonymity and the {Internet}; Is
                 Industry Hogging Computer Science Talent?; Relief from
                 Acronyms; {OpenML} Spec Released; {C\#} Not Just a
                 {Java} Killer, Says Anders; And the Winners Are
                 \ldots{}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "7",
  pages =        "18--18",
  month =        jul,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 7 06:07:17 MDT 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Beyer:2001:CCP,
  author =       "Derek Beyer",
  title =        "{C\# COM+} programming",
  publisher =    pub-MT,
  address =      pub-MT:adr,
  pages =        "408",
  year =         "2001",
  ISBN =         "0-7645-4835-2 (paperback)",
  ISBN-13 =      "978-0-7645-4835-2 (paperback)",
  LCCN =         "QA76.73.C154 B49 2001b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  remark =       "Includes CD-ROM.",
  subject =      "Programming languages (Electronic computers)",
}

@Article{Bonzini:2001:LHG,
  author =       "Paolo Bonzini and Stuart Halloway and John Penry and
                 Oluseyi Sonaiya and Bruce E. Hogman and Greg Bissell
                 and Michael Hobbs and Ben Laurie",
  title =        "Letters: Huge {GCC} Executables; {Java} Class Loader;
                 {Department of Dumb Ideas}; Setting the Record
                 Straight; The Legacy of {C\#}; {DHTML} Source-Code
                 Correction; Shared Libraries Aren't All Bad; {Zuse} and
                 {Intel}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "8",
  pages =        "10, 12",
  month =        aug,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed Jul 11 06:31:35 MDT 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Cirillo:2001:BRC,
  author =       "William Cirillo",
  title =        "Book Review: {{\em C/C++ Contributing Editors}}",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "12",
  pages =        "??--??",
  month =        dec,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:34 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Books on C\# are accumulating apace. You might look
                 here before you buy.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Article{Crowell:2001:CP,
  author =       "Talbott Crowell",
  title =        "{C\#} and {Perl}: {C\#} has a lot in common with many
                 languages",
  journal =      j-DDJ,
  volume =       "26",
  number =       "10",
  pages =        "50, 52, 54",
  month =        oct,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:40 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_10/csharpperl.txt",
  abstract =     "Although C\# is an evolution of C/C++ much like Java,
                 it also borrows from other languages --- and has
                 facilities familiar to Perl. Talbott presents common
                 Perl scripts that you can implement in C\#. Additional
                 resources include {\tt csharpperl.txt} (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Eaddy:2001:CVJ,
  author =       "Marc Eaddy",
  title =        "{C\#} Versus {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "74, 76, 78, 80, 82",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2001/2001_02/csharpj.txt",
  abstract =     "Six of one and half a dozen of the other? Marc finds
                 out when he examines how Microsoft's C\# differs from
                 Java. Additional resources include csharpj.txt
                 (listings).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{ECMA-334-1,
  author =       "{ECMA}",
  title =        "{ECMA-334}: {C\#} Language Specification",
  publisher =    pub-ECMA,
  address =      pub-ECMA:adr,
  pages =        "xiii + 479",
  month =        dec,
  year =         "2001",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Sat May 14 22:54:18 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf;
                 http://www.ecma-international.org/publications/standards/Ecma-334.htm",
  acknowledgement = ack-nhfb,
  remark =       "Also ISO/IEC 23270.",
}

@Article{Erickson:2001:DDE,
  author =       "Jonathan Erickson",
  title =        "{Dr. Dobb's Excellence In Programming Award}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "5",
  pages =        "20--21",
  month =        may,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Apr 12 06:45:08 MDT 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "From Turbo Pascal to C\#, Anders Hejlsberg has made
                 significant contributions to the art and science of
                 computer programming. And he's the recipient of this
                 year's Dr. Dobb's Excellence in Programming Award.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@InProceedings{Gannon:2001:JCC,
  author =       "Dennis Gannon and others",
  title =        "Panel Discussion: {Java}, {C++}, {C\#}, and Virtual
                 Machines for high performance",
  crossref =     "ACM:2001:PAJ",
  pages =        "??--??",
  year =         "2001",
  bibdate =      "Mon May 06 09:31:01 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java",
}

@Book{Gunnerson:2001:PCI,
  author =       "Eric Gunnerson and Wout Natter",
  title =        "Programmeren in {C\#}: een inleiding voor
                 programmeurs. ({Dutch}). [{Programming} in {C\#}: an
                 introduction for programmers]",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  pages =        "xxi + 338",
  year =         "2001",
  ISBN =         "90-395-1717-7",
  ISBN-13 =      "978-90-395-1717-8",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Liberty:2001:PC,
  author =       "Jesse Liberty",
  title =        "Programming {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xix + 658",
  month =        jul,
  year =         "2001",
  ISBN =         "0-596-00117-7",
  ISBN-13 =      "978-0-596-00117-9",
  LCCN =         "QA76.73.C154 L432 2001",
  bibdate =      "Mon Apr 18 15:02:48 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  URL =          "http://www.oreilly.com/catalog/progcsharp",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Computer programming",
}

@Article{Lippman:2001:CD,
  author =       "Stanley B. Lippman",
  title =        "The {C\#} Delegate",
  journal =      j-CCCUJ,
  volume =       "19",
  number =       "7",
  pages =        "42--??",
  month =        jul,
  year =         "2001",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Tue May 14 18:09:32 MDT 2002",
  bibsource =    "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "If you're comparing C\# to other ``C-family''
                 languages, here's an unusual feature that has no real
                 equivalent in C++ or Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Book{Powell:2001:CNF,
  author =       "Robert Powell and Richard Weeks",
  title =        "{C\#} and the {.NET} framework: the {C++}
                 perspective",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xi + 620",
  year =         "2001",
  ISBN =         "0-672-32153-X (paperback)",
  ISBN-13 =      "978-0-672-32153-5 (paperback)",
  LCCN =         "QA76.73.C154 P69 2002; QA76.73.C154 .P63 2001",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  subject =      "Programming languages (Electronic computers)",
}

@Book{Schildt:2001:CBG,
  author =       "Herbert Schildt",
  title =        "{C\#}: a beginner's guide",
  publisher =    pub-OSBORNE-MCGRAW-HILL,
  address =      pub-OSBORNE-MCGRAW-HILL:adr,
  pages =        "xviii + 621",
  year =         "2001",
  ISBN =         "0-07-213329-5",
  ISBN-13 =      "978-0-07-213329-5",
  LCCN =         "QA76.73.C154 S338 2001",
  bibdate =      "Mon May 17 09:07:25 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://osborne.com/programming\%5Fwebdev/0072133295/0072133295.shtml;
                 http://www.loc.gov/catdir/description/mh024/2002277354.html;
                 http://www.loc.gov/catdir/toc/mh023/2002277354.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (computer program language)",
}

@Article{Stallings:2001:PBB,
  author =       "William Stallings and Lou Grinzo",
  title =        "Programmer's Bookshelf: a {Bluetooth} Trio and
                 {C\#}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "9",
  pages =        "130, 132",
  month =        sep,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:39 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "William examines a trio of Bluetooth books, including
                 Bluetooth: Connect Without Cables, by Jennifer Bray and
                 Charles Sturman, Bluetooth Revealed, by Brent Miller
                 and Chatschik Bisdikian, and Bluetooth Demystified, by
                 Nathan Muller. Lou weighs in on A Programmer's
                 Introduction to C\#, by Eric Gunnerson.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Swaine:2001:PPA,
  author =       "Michael Swaine",
  title =        "Programming Paradigms: Alternatives to {Java}",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "135--137",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "So Java isn't your cup of tea? Michael explores the
                 alternatives.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
  keywords =     "C\#; Component Pascal; Internet C++; Juice; Lisp;
                 Perl",
}

@Book{Troelsen:2001:CNP,
  author =       "Andrew W. Troelsen",
  title =        "{C\#} and the {.NET} platform",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiii + 970",
  year =         "2001",
  ISBN =         "1-893115-59-3",
  ISBN-13 =      "978-1-893115-59-0",
  LCCN =         "QA76.73.C154 T764 2001b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio3333214",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Microsoft.net framework",
}

@Book{Wille:2001:CI,
  author =       "Christoph Wille and Sebastiaan de Coo",
  title =        "{C\#}: een inleiding. ({Dutch}) [{C\#}: an
                 introduction]",
  publisher =    "SAMS",
  address =      "Amsterdam, The Netherlands",
  pages =        "x + 204",
  year =         "2001",
  ISBN =         "90-430-0425-1",
  ISBN-13 =      "978-90-430-0425-1",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Article{Wilson:2001:PBT,
  author =       "Gregory V. Wilson",
  title =        "Programmer's Bookshelf: Time Warps",
  journal =      j-DDJ,
  volume =       "26",
  number =       "2",
  pages =        "159--160",
  month =        feb,
  year =         "2001",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Feb 15 12:14:41 MST 2001",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "Greg looks at a bunch of books, including Programming
                 Ruby, Program Development in Java, The Interpretation
                 of Object-Oriented Programming Languages, MMIXware: A
                 RISC Computer for the Third Millennium, Essential XML,
                 XML Processing with Python, Presenting C\#, and Women
                 in Computer Sciences: Closing the Gap in Higher
                 Education.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Albahari:2002:CEP,
  author =       "Ben Albahari and Peter Drayton and Brad Merrill",
  title =        "{C\#} Essentials: Programming the {.NET} Framework",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xii + 202",
  year =         "2002",
  ISBN =         "0-596-00315-3",
  ISBN-13 =      "978-0-596-00315-9",
  LCCN =         "QA76.73.C154 A418 2002",
  bibdate =      "Mon Apr 18 15:05:03 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$24.95",
  URL =          "http://safari.oreilly.com/0596003153;
                 http://www.oreilly.com/catalog/csharpess2",
  acknowledgement = ack-nhfb,
  publishersummary = "Concise but thorough, this second edition of C\#
                 Essentials introduces the Microsoft C\# programming
                 language, including the Microsoft .NET Common Language
                 Runtime (CLR) and .NET Framework Class Libraries (FCL)
                 that support it. This books compact format and terse
                 presentation of key concepts serve as a roadmap to the
                 online documentation included with the Microsoft .NET
                 Framework SDK; the many examples provide much-needed
                 context.",
  subject =      "C\# [C-sharp] (computer programming language);
                 Microsoft .NET",
}

@Article{Alm:2002:YBS,
  author =       "Jacob Alm and Robert Baber and Shauna Eggers and
                 Christopher O'Toole and Abin Shahab",
  title =        "You'd better set down for this!: creating a set type
                 for {CS1} \& {CS2} in {C\#}",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "14--18",
  month =        sep,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/637610.544421",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:56 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "The authors have developed a set class and other
                 supporting materials that would be useful for a CS1 and
                 CS2 course taught in the C\# programming language
                 developed by Microsoft Corporation [1]. The primary
                 goals were to create a data structure that would be
                 simple and intuitive enough for novices to use in CS1
                 but also powerful enough to be useful for CS2 students.
                 In addition to the set class itself the authors have
                 developed several sample programs and an interactive
                 set environment. In developing these materials the
                 authors explored the expressive capabilities of the C\#
                 language and found that it was particularly well suited
                 to this task.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Anonymous:2002:MMS,
  author =       "Anonymous",
  title =        "{MCAD\slash MCSD} self-paced training kit: developing
                 Windows-based applications with {Microsoft Visual Basic
                 .NET} and {Microsoft Visual C\# .NET}, Exams 70-306 and
                 70-316",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "xxvii + 541",
  year =         "2002",
  ISBN =         "0-7356-1533-0",
  ISBN-13 =      "978-0-7356-1533-5",
  LCCN =         "CD-ROM; 005; QA76.3 .M32556 2002; DVD",
  bibdate =      "Tue Mar 14 08:53:02 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.libris.kb.se:210/libr",
  acknowledgement = ack-nhfb,
  remark =       "Includes 1 DVD and 1 CD-ROM.",
  subject =      "Microsoft Visual BASIC; Microsoft software;
                 Examinations; Study guides; C\# [C-sharp] (computer
                 programming language); Electronic data processing
                 personnel; Certification",
}

@Book{Archer:2002:IC,
  author =       "Tom Archer and Andrew Whitechapel",
  title =        "Inside {C\#}",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  edition =      "Second",
  pages =        "xxxiii + 873",
  year =         "2002",
  ISBN =         "0-7356-1648-5 (paperback)",
  ISBN-13 =      "978-0-7356-1648-6 (paperback)",
  LCCN =         "QA76.73.C154 A73 2002",
  bibdate =      "Tue Mar 14 09:59:09 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 sirsi.library.utoronto.ca:2200/UNICORN",
  acknowledgement = ack-nhfb,
  remark =       "Architectural reference.",
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Archer:2002:PCT,
  author =       "Tom Archer",
  title =        "Programmering i {C\#}",
  publisher =    "Gyldendal akademisk",
  address =      "Oslo, Norway",
  pages =        "xx + 378",
  year =         "2002",
  ISBN =         "82-05-30366-5",
  ISBN-13 =      "978-82-05-30366-9",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  remark =       "Norwegian translation by Julie Kristine Rustad.",
  subject =      "C\# [C-sharp]; csharp; C-Sharp; Programmering;
                 Programmeringsspr{\aa}k",
}

@Book{Archer:2002:PMC,
  author =       "Tom Archer and Andrew Whitechapel and Bas van Spijker
                 and Wout Natter and others",
  title =        "Programmeren met {C\#}",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  edition =      "Second",
  pages =        "xxxi + 874",
  year =         "2002",
  ISBN =         "90-395-1927-7",
  ISBN-13 =      "978-90-395-1927-1",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
  subject =      "Programmeren (computers)",
}

@Book{Bakharia:2002:CFE,
  author =       "Aneesha Bakharia",
  title =        "{C\#}: fast and easy {Web} development",
  publisher =    "Premier",
  address =      "Rocklin, CA, USA",
  pages =        "xx + 553",
  year =         "2002",
  ISBN =         "1-931841-05-5 (paperback)",
  ISBN-13 =      "978-1-931841-05-4 (paperback)",
  LCCN =         "QA76.73.C154 B35 2002eb",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  subject =      "Programming languages (Electronic computers); Web site
                 development",
}

@Book{Bellinaso:2002:ANW,
  author =       "Marco Bellinaso and Kevin Hoffman",
  title =        "{ASP.NET Website} programming: problem, design,
                 solution",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  edition =      "{C\#}",
  pages =        "ix + 540",
  year =         "2002",
  ISBN =         "0-7645-4377-6 (paperback)",
  ISBN-13 =      "978-0-7645-4377-7 (paperback)",
  LCCN =         "TK5105.8885.A26 B45 2002b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Web sites; Design; Internet
                 programming; Microsoft .NET",
}

@Book{Bo:2002:C,
  author =       "Brinch Bo",
  title =        "{C\#}",
  publisher =    "IDG",
  address =      "Valby, Denmark",
  pages =        "212",
  year =         "2002",
  ISBN =         "87-7843-519-6",
  ISBN-13 =      "978-87-7843-519-4",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:33:51 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.kb.dk:2100/KGL01",
  price =        "DKR 249,00",
  series =       "Udvikling af .NET-applikationer med C\#.",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp]; programmering; programmeringssprog",
}

@Article{Buis:2002:SLS,
  author =       "Paul Buis",
  title =        "Socket-Level Server Programming and {.NET}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "9",
  pages =        "25--26, 28, 30, 32",
  month =        sep,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0209/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_09/tcpecho.txt;
                 http://www.ddj.com/ftp/2002/2002_09/tcpecho.zip",
  abstract =     "Paul presents both C\# and VB.NET implementations of
                 an echo server, showing how you can handle sockets and
                 asynchronous callbacks in the .NET Framework.
                 Additional resources include tcpecho.txt (listings) and
                 tcpecho.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Bustos:2002:BNW,
  author =       "Joe Bustos and Karli Watson",
  title =        "Beginning {.NET Web} services using {C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "v + 342",
  year =         "2002",
  ISBN =         "1-86100-757-4",
  ISBN-13 =      "978-1-86100-757-5",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
}

@Book{Cazzulino:2002:BCW,
  author =       "Daniel Cazzulino and Victor Garcia Aprea and James
                 Greewood and Chris Hart",
  title =        "Beginning {C\#} {Web} applications: with {Visual
                 Studio .NET}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "ix + 598",
  year =         "2002",
  ISBN =         "1-86100-732-9 (paperback)",
  ISBN-13 =      "978-1-86100-732-2 (paperback)",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$28.99",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; C\# [C-sharp] (computer
                 programming language); Microsoft .NET Framework",
}

@Manual{Csharp:2002:SEC,
  key =          "C\#-lang-spec",
  title =        "Standard {ECMA-334}: {C\#} Language Specification",
  organization = "ECMA International",
  address =      "114 Rue du Rh{\^o}ne, CH-1204 Geneva, Switzerland",
  edition =      "Second",
  month =        dec,
  year =         "2002",
  bibdate =      "Mon Jun 21 10:01:07 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf",
  acknowledgement = ack-nhfb,
}

@Book{Deitel:2002:CHP,
  author =       "Harvey M. Deitel",
  title =        "{C\#}: how to program",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "1568",
  year =         "2002",
  ISBN =         "0-13-062221-4 (paperback), 0-13-089571-7,
                 0-13-089572-5, 0-13-064657-1 (CD-ROM)",
  ISBN-13 =      "978-0-13-062221-1 (paperback), 978-0-13-089571-4,
                 978-0-13-089572-1, 978-0-13-064657-6 (CD-ROM)",
  LCCN =         "QA76.73.C154 C17 2002",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp]",
}

@Book{Drayton:2002:CLP,
  author =       "Peter Drayton and Ben Albahari and Ted Neward",
  title =        "{C\#} Language Pocket Reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "ix + 118",
  year =         "2002",
  ISBN =         "0-596-00429-X",
  ISBN-13 =      "978-0-596-00429-3",
  LCCN =         "QA76.73.C155 D73 2003",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$12.95",
  URL =          "http://www.oreilly.com/catalog/csharplangpr",
  acknowledgement = ack-nhfb,
  publishersummary = "The C\# Language Pocket Reference offers the
                 convenience of a quick reference in a format that will
                 actually fit in your pocket. The book includes a guide
                 to C\# language elements, a brief overview of the
                 Framework Class library, a cross-reference for
                 namespaces and assemblies, a list of compiler syntax
                 and switches, a regular expressions reference guide,
                 and more.",
}

@Book{Drayton:2002:CND,
  author =       "Peter Drayton and Ben Albahari and Ted Neward",
  title =        "{C\#} in a nutshell: a desktop quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxii + 832",
  year =         "2002",
  ISBN =         "0-596-00181-9",
  ISBN-13 =      "978-0-596-00181-0",
  LCCN =         "QA76.73.C154 D73 2002",
  bibdate =      "Mon Apr 18 15:03:33 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  series =       "A Nutshell handbook",
  URL =          "http://safari.oreilly.com/0596001819;
                 http://www.oreilly.com/catalog/csharpnut",
  acknowledgement = ack-nhfb,
  keywords =     "C\# [C-sharp] (computer programming language)",
  publishersummary = "C\# in a Nutshell aims to become the de-facto
                 standard for this young programming language. A
                 reference to be used daily, this book also includes
                 essential background information to become productive
                 quickly. Not a ``how-to'' book or a rehash of
                 Microsoft's documentation, this book goes to the source
                 of the language and APIs to present content in a way
                 that professional programmers will value above all
                 other books.",
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{ECMA-334-2,
  author =       "{ECMA}",
  title =        "{ECMA-334}: {C\#} Language Specification",
  publisher =    pub-ECMA,
  address =      pub-ECMA:adr,
  edition =      "Second",
  pages =        "xiv + 471",
  month =        dec,
  year =         "2002",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Sat May 14 22:54:18 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf;
                 http://www.ecma-international.org/publications/standards/Ecma-334.htm",
  acknowledgement = ack-nhfb,
  remark =       "Also ISO/IEC 23270.",
}

@Book{ECMA:2002:ECL,
  author =       "{ECMA}",
  title =        "{ECMA-334}: {C\#} Language Specification",
  publisher =    pub-ECMA,
  address =      pub-ECMA:adr,
  edition =      "Second",
  pages =        "xiv + 471",
  month =        dec,
  year =         "2002",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Sat May 14 22:54:18 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf;
                 http://www.ecma-international.org/publications/standards/Ecma-334.htm",
  acknowledgement = ack-nhfb,
  remark =       "Also ISO/IEC 23270.",
}

@Book{Ferguson:2002:CB,
  editor =       "Jeff Ferguson and Brian Patterson and Jason Beres and
                 Pierre Boutquin and Meeta Gupta",
  title =        "{C\#} bible",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxxi + 798",
  year =         "2002",
  ISBN =         "0-7645-4834-4 (paperback)",
  ISBN-13 =      "978-0-7645-4834-5 (paperback)",
  LCCN =         "QA76.73.C154 C15 2002",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Programming languages (Electronic computers)",
  xxnote =       "Check author order??",
}

@Book{Ferrara:2002:PNW,
  author =       "Alex Ferrara and Matthew MacDonald",
  title =        "Programming {.NET Web} Services",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xvi + 396",
  year =         "2002",
  ISBN =         "0-596-00250-5",
  ISBN-13 =      "978-0-596-00250-3",
  LCCN =         "QA76.625 .F49 2002",
  bibdate =      "Mon Apr 18 15:04:21 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$39.95",
  URL =          "http://www.oreilly.com/catalog/prognetws",
  acknowledgement = ack-nhfb,
  publishersummary = "This comprehensive tutorial teaches programmers
                 the skills they need to develop XML Web services hosted
                 on the Microsoft .NET platform. Programming .NET Web
                 Services also shows you how to consume these services
                 on both Microsoft and non-Windows clients, and how to
                 weave them into well-designed and scalable
                 applications. For those interested in building
                 industrial-strength Web services, this book is full of
                 practical information and good old-fashioned advice.",
  remark =       "Building Web services with ASP.NET and C\#.",
  subject =      "Internet programming; Microsoft .NET; Active server
                 pages; C\# [C-sharp] (computer programming language);
                 XML (Document markup language)",
}

@Book{Foxall:2002:CU,
  author =       "James Foxall and Wendy Haro- Chun and Ammerins
                 {Moss-de Boer} and others",
  title =        "{C\#} in 24 uur. ({Dutch}) [{C\#} in 24 hours]",
  publisher =    "Sams",
  address =      "Amsterdam, The Netherlands",
  pages =        "xix + 529",
  year =         "2002",
  ISBN =         "90-430-0628-9",
  ISBN-13 =      "978-90-430-0628-6",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  series =       "In 24 uur; In 24 uur",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Fraser:2002:BCX,
  author =       "Stewart Fraser and Steven Livingstone",
  title =        "Beginning {C\#} {XML}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "ix + 729",
  year =         "2002",
  ISBN =         "1-86100-628-4 (paperback)",
  ISBN-13 =      "978-1-86100-628-8 (paperback)",
  LCCN =         "M03.E16271",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$28.99",
  acknowledgement = ack-nhfb,
  subject =      "XML (Document markup language); C\# [C-sharp]
                 (computer programming language)",
}

@Book{Galassi:2002:GSL,
  author =       "Mark Galassi and Jim Davies and James Theiler and
                 Brian Gough and Gerard Jungman and Michael Booth and
                 Fabrice Rossi",
  title =        "{GNU} Scientific Library: Reference Manual",
  publisher =    pub-NETWORK-THEORY,
  address =      pub-NETWORK-THEORY:adr,
  edition =      "Second",
  pages =        "xvi + 601",
  year =         "2002",
  ISBN =         "0-9541617-3-4",
  ISBN-13 =      "978-0-9541617-3-6",
  LCCN =         "QA76.73.C15",
  bibdate =      "Wed Oct 30 10:44:22 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.ox.ac.uk:210/ADVANCE",
  acknowledgement = ack-nhfb,
  remark =       "Corresponds to version 1.6 of the library.",
  subject =      "C\# (Computer program language); Handbooks, manuals,
                 etc; Subroutines (Computer programs); Handbooks,
                 manuals, etc; C++ (Computer program language);
                 Handbooks, manuals, etc; Numerical calculations;
                 Computer programs; Handbooks, manuals, etc",
  xxpages =      "xvi + 580",
}

@Book{Goode:2002:BAN,
  author =       "Chris Goode and John Kauffman and Christopher L.
                 Miller and Neil Raybould and S. Srinivasa Sivakumar and
                 Dave Sussman and Ollie Cornes and Rob Birdwell and Matt
                 Butler and Gary Johnson and Ajoy Krishnamoorthy and
                 Juan T. Libre and Chris Ullman",
  title =        "Beginning {ASP.NET} 1.0 with {C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xiii + 800",
  year =         "2002",
  ISBN =         "1-86100-734-5",
  ISBN-13 =      "978-1-86100-734-6",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  xxauthor =     "Ajoy Krishnamoorthy and Chris Goode and Chris Ullman
                 and Christopher L. Miller and Dave Sussman and Gary
                 Johnson and John Kauffman and Juan T. Llibre and Matt
                 Butler and Neil Raybould and Ollie Cornes and Rob
                 Birdwell and Srinivasa Sivakumar",
  xxeditor =     "Rob Birdwell and Matt Butler and Ollie Cornes and
                 others",
}

@Article{Grinzo:2002:PBC,
  author =       "Lou Grinzo",
  title =        "Programmer's Bookshelf: {C\#} and the {.NET}
                 Platform",
  journal =      j-DDJ,
  volume =       "27",
  number =       "1",
  pages =        "108--108",
  month =        jan,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:41 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  abstract =     "Lou takes a look at Andrew Troelsen's recently
                 released C\# and the {.NET} Platform.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Herbert:2002:CCR,
  author =       "Schildt Herbert",
  title =        "{C\#}: the complete reference",
  publisher =    pub-OSBORNE-MCGRAW-HILL,
  address =      pub-OSBORNE-MCGRAW-HILL:adr,
  pages =        "xxiv + 933",
  year =         "2002",
  ISBN =         "0-07-213485-2",
  ISBN-13 =      "978-0-07-213485-8",
  LCCN =         "QA76.73.C154 S34 2002b",
  bibdate =      "Tue Mar 14 09:58:10 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 odin2.bib.sdu.dk:210/Horizon",
  acknowledgement = ack-nhfb,
}

@Book{Jones:2002:STY,
  author =       "Bradley Jones",
  title =        "Sams teach yourself {C\#} 21 dager",
  publisher =    "IDG Norge Books",
  address =      "Oslo, Norway",
  pages =        "x + 735",
  year =         "2002",
  ISBN =         "82-7772-242-7",
  ISBN-13 =      "978-82-7772-242-9",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp]; csharp",
}

@Book{Kauffman:2002:BAN,
  author =       "John Kauffman and Brian Matsik and Eric N. Mintz and
                 Jan D. Narkiewicz and Kent Tegels and John West and
                 Donald Xie and Jesudas Chinnathampi and Fabio Claudio
                 Ferracchiati and James Greenwood",
  title =        "Beginning {ASP.NET} databases using {C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "vii + 453",
  year =         "2002",
  ISBN =         "1-86100-741-8",
  ISBN-13 =      "978-1-86100-741-4",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
}

@Book{Kimmel:2002:ACP,
  author =       "Paul Kimmel",
  title =        "Advanced {C\#} programming",
  publisher =    pub-OSBORNE-MCGRAW-HILL,
  address =      pub-OSBORNE-MCGRAW-HILL:adr,
  pages =        "xxiii + 551",
  year =         "2002",
  ISBN =         "0-07-222417-7 (paperback)",
  ISBN-13 =      "978-0-07-222417-7 (paperback)",
  LCCN =         "QA76.73.C154 K56 2002eb",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5385247",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Liberty:2002:LC,
  author =       "Jesse Liberty",
  title =        "Learning {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xi + 354",
  year =         "2002",
  ISBN =         "0-596-00376-5",
  ISBN-13 =      "978-0-596-00376-0",
  LCCN =         "QA76.73.C154 L43 2002",
  bibdate =      "Mon Apr 18 15:05:46 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$34.95",
  URL =          "http://safari.oreilly.com/0596003765;
                 http://www.oreilly.com/catalog/learncsharp",
  acknowledgement = ack-nhfb,
  publishersummary = "With Learning C\#, best-selling author Jesse
                 Liberty will help you build a solid foundation in .NET
                 and show how to apply your skills by using dozens of
                 tested examples. You will learn how to develop various
                 kinds of applications--including those that work with
                 databases--and Web services. Whether you have a little
                 object-oriented programming experience or you are new
                 to programming altogether, Learning C\# will set you
                 firmly on your way.",
  remark =       "Introducing the language, .NET programming and
                 object-oriented software development.",
  subject =      "C\# [C-sharp] (computer programming language);
                 Internet programming; Microsoft .NET Framework;
                 Object-oriented methods (Computer science)",
}

@Book{Liberty:2002:PAN,
  author =       "Jesse Liberty and Dan Hurwitz",
  title =        "Programming {ASP.NET}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xiii + 944",
  year =         "2002",
  ISBN =         "0-596-00171-1",
  ISBN-13 =      "978-0-596-00171-1",
  LCCN =         "QA76.73.C154 L52 2002; TK5105.8885.A26 L53 2002",
  bibdate =      "Mon Apr 18 15:03:26 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$49.95",
  URL =          "http://safari.oreilly.com/0596001711;
                 http://www.oreilly.com/catalog/progaspdotnet",
  acknowledgement = ack-nhfb,
  keywords =     "Active Server Pages; C\# [C-sharp] (computer
                 programming language); Microsoft Visual Basic; Web
                 services --- computer programs; Web sites --- design",
  publishersummary = "The ASP.NET technologies are so complete and
                 flexible; your main difficulty may lie simply in
                 weaving the pieces together for maximum efficiency.
                 Programming ASP.NET shows you how to do just that.
                 Jesse Liberty and Dan Hurwitz teach everything you need
                 to know to write Web applications and Web services
                 using both C\# and Visual Basic .NET.",
  remark =       "Building Web applications and services using C\# and
                 VB.NET.",
  subject =      "Active Server Pages (ASP); C\# [C-sharp] (computer
                 programming language); Microsoft Visual BASIC; Web
                 sites; Computer programs; Web sites; Design",
}

@Book{Liberty:2002:PC,
  author =       "Jesse Liberty",
  title =        "Programming {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xviii + 629",
  year =         "2002",
  ISBN =         "0-596-00309-9",
  ISBN-13 =      "978-0-596-00309-8",
  LCCN =         "QA76.73.C154 L53 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$39.95",
  URL =          "http://safari.oreilly.com/0596003099;
                 http://www.oreilly.com/catalog/progcsharp2",
  acknowledgement = ack-nhfb,
  keywords =     "C\# [C-sharp] (computer programming language);
                 computer programming",
  publishersummary = "The first part of Programming C\#, 2nd Edition
                 introduces C\# fundamentals, then goes on to explain
                 the development of desktop and Internet applications,
                 including Windows Forms, ADO.NET, ASP.NET (including
                 Web Forms), and Web Services. Next, this book gets to
                 the heart of the .NET Framework, focusing on attributes
                 and reflection, remoting, threads and synchronization,
                 streams, and finally, it illustrates how to
                 interoperate with COM objects.",
}

@Article{Meyer:2002:ACT,
  author =       "Bertrand Meyer",
  title =        "Assessing a {C\#} Text",
  journal =      j-COMPUTER,
  volume =       "35",
  number =       "4",
  pages =        "86--88",
  month =        apr,
  year =         "2002",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Apr 5 15:49:45 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://dlib.computer.org/co/books/co2002/pdf/r4086.pdf;
                 http://www.computer.org/computer/co2002/r4086abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Book{Mojica:2002:CVN,
  author =       "Jose Mojica",
  title =        "{C\#} \& {VB.NET} Conversion Pocket Reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "iv + 139",
  year =         "2002",
  ISBN =         "0-596-00319-6",
  ISBN-13 =      "978-0-596-00319-7",
  LCCN =         "QA76.73.C154 M65 2002",
  bibdate =      "Wed Oct 30 16:15:17 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.oreilly.com/catalog/prdindex.html",
  price =        "US\$14.95",
  URL =          "http://safari.oreilly.com/0596003196;
                 http://www.oreilly.com/catalog/csharpvbpr",
  acknowledgement = ack-nhfb,
  keywords =     "C\# [C-sharp] (computer programming language);
                 character sets (data processing); Microsoft Visual
                 Basic; programming languages (electronic computers) ---
                 syntax",
  publishersummary = "The C\# & VB.NET Conversion Pocket Reference helps
                 you easily make the switch from C\# to Visual Basic
                 .NET and vice versa. Differences between the two
                 languages occur in three main areas: syntax,
                 object-oriented principles, and the Visual Studio .NET
                 IDE. A perfect companion for documents and books that
                 dont have examples using your mastered language, this
                 guide expects that you know one of the two languages,
                 but does not make an assumption about which one.",
}

@Book{Petzold:2002:MWP,
  author =       "Charles Petzold and Henk Scholten and Wout Natter and
                 others",
  title =        "{Microsoft Windows} programmeren met {C\#}. ({Dutch})
                 [{Microsoft Windows} programming with {C\#}]",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  pages =        "xiv + 1312",
  year =         "2002",
  ISBN =         "90-395-1940-4",
  ISBN-13 =      "978-90-395-1940-0",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Petzold:2002:PMW,
  author =       "Charles Petzold",
  title =        "Programming {Microsoft Windows} with {C\#}",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "xxii + 1290",
  year =         "2002",
  ISBN =         "0-7356-1370-2",
  ISBN-13 =      "978-0-7356-1370-6",
  LCCN =         "QA76.73.C154 P48 2002",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  remark =       "Includes CD-ROM",
  subject =      "Microsoft Windows (Computer file); C\# [C-sharp]
                 (computer programming language)",
}

@Article{Reges:2002:CCR,
  author =       "S. Reges",
  title =        "Can {C\#} Replace {Java} in {CS1} and {CS2}?",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "3",
  pages =        "4--8",
  year =         "2002",
  CODEN =        "SIGSD3",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  bibdate =      "Tue Nov 12 06:13:25 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Reges:2002:SFI,
  author =       "Stuart Reges",
  title =        "{SIGCSE} 2002 forum: industry in the ivory tower",
  journal =      j-SIGCSE,
  volume =       "34",
  number =       "1",
  pages =        "367--367",
  month =        mar,
  year =         "2002",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/563517.563482",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:56:52 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Inroads: paving the way towards excellence in
                 computing education.",
  abstract =     "The intent of this forum is to generate a really
                 lively discussion on the gamut of our relationship ---
                 as computer science educators --- to industry. How
                 dependent are we/should we be on specific industry
                 software and platforms? (Many examples come to mind ---
                 Microsoft Visual Studio. NET, Red Hat Linux, C\#, Sun's
                 version of Java.)How obligated are we to jump on board
                 the newest upgraded software version of whatever we
                 might be using?How does our desire for good job
                 placement of our graduates square with our oft-repeated
                 claim that we are educators, not trainers?Pursuing this
                 issue of ``where do we fall on the spectrum between
                 training and education,'' what to do about all these
                 industry certification programs --- Cisco, Novell,
                 Oracle, Microsoft. Do we teach these curricula? Do we
                 give credit to students who take it, say at a community
                 college, and then transfer?What about a service course
                 in, say, Photoshop? Is this college-level material?Do
                 opportunities for summer internships or research
                 projects in an industry setting place some special
                 obligations on us with respect to that company?",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Reilly:2002:ANS,
  author =       "Douglas Reilly",
  title =        "{ASP.NET} Server Components",
  journal =      j-DDJ,
  volume =       "27",
  number =       "6",
  pages =        "62, 64, 66--68",
  month =        jun,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Wed May 1 15:43:59 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0206/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_06/aspnet.txt;
                 http://www.ddj.com/ftp/2002/2002_06/aspnet.zip",
  abstract =     "ASP.NET lets you create components in VB.NET and C\#.
                 And since these components are not COM components, many
                 COM overhead and deployment issues disappear.
                 Additional resources include aspnet.txt (listings) and
                 aspnet.zip (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Reynolds-Haertle:2002:POM,
  author =       "Robin A. Reynolds-Haertle and Maarten Stefanski and
                 Marijke van Steenis",
  title =        "Programmeercursus {OOP} met {MS VB.NET} en {MS Visual
                 C\#}. ({Dutch}) [Object-oriented programming course
                 with {Microsoft VB.NET} and {Microsoft Visual C\#}",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  pages =        "xv + 420",
  year =         "2002",
  ISBN =         "90-395-1960-9",
  ISBN-13 =      "978-90-395-1960-8",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Reynolds:2002:NED,
  author =       "Matthew Reynolds and Karli Watson",
  title =        "{.NET} enterprise development with {C\#} from design
                 to deployment",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "ix + 453",
  year =         "2002",
  ISBN =         "1-86100-591-1",
  ISBN-13 =      "978-1-86100-591-5",
  LCCN =         "QA76.76.M52 R496 2002b",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  remark =       "Written and tested for final release of .NET v1.0.",
  subject =      "dotnet; csharp; programmeringsomgivelser",
}

@Book{Robinson:2002:CVP,
  editor =       "Simon Robinson and others",
  title =        "{C\#} voor professionals. (Dutch) [{C\#} for
                 Professionals]",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  pages =        "xix + 1258",
  year =         "2002",
  ISBN =         "90-395-1962-5",
  ISBN-13 =      "978-90-395-1962-2",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Robinson:2002:PCS,
  editor =       "Simon Robinson",
  title =        "Professional {C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  edition =      "Second",
  pages =        "xxiii + 1223",
  year =         "2002",
  ISBN =         "1-86100-704-3",
  ISBN-13 =      "978-1-86100-704-9",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] programming language",
}

@Book{Sharp:2002:PMV,
  author =       "John Sharp and John Jagger and Feico Nater and Wim
                 Huberts",
  title =        "Programmeercursus {Microsoft Visual C\# .NET}.
                 ({Dutch}) [{Microsoft Visual C\# .NET} programming
                 course]",
  publisher =    "Academic Service",
  address =      "Schoonhoven, The Netherlands",
  pages =        "xxvi + 611",
  year =         "2002",
  ISBN =         "90-395-1961-7",
  ISBN-13 =      "978-90-395-1961-5",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  series =       "Programmeercursus; Programmeercursus",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Sorensen:2002:AND,
  editor =       "Ronan Sorensen and George Shepherd and John Roberts
                 and Russ Williams",
  title =        "Applied {.NET}: developing people-oriented software
                 using {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xviii + 397",
  year =         "2002",
  ISBN =         "0-201-73828-7 (paperback)",
  ISBN-13 =      "978-0-201-73828-5 (paperback)",
  LCCN =         "QA76.73.C154 A67 2002",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$30.99",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Application software; Development",
}

@Article{Stevens:2002:CPCb,
  author =       "Al Stevens",
  title =        "{C} Programming: {C\#} and the Outhouse Paradigm",
  journal =      j-DDJ,
  volume =       "27",
  number =       "7",
  pages =        "79--81",
  month =        jul,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Fri Sep 13 06:15:52 MDT 2002",
  bibsource =    "http://www.ddj.com/articles/2002/0207/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Stevens:2002:CPW,
  author =       "Al Stevens",
  title =        "{C} Programming: Wave Repairs and a First Look at
                 {C\#}",
  journal =      j-DDJ,
  volume =       "27",
  number =       "3",
  pages =        "77--78, 80",
  month =        mar,
  year =         "2002",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Tue Feb 12 05:21:42 MST 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2002/2002_03/cpro0302.txt;
                 http://www.ddj.com/ftp/2002/2002_03/cpro0302.zip",
  abstract =     "Additional resources include {\tt cpro0302.txt}
                 (listings) and {\tt cpro0302.zip} (source code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Telles:2002:C,
  author =       "Matthew Telles and Dr{\'e} Holthuijsen and Gert Gielen
                 and others",
  title =        "{C\#}",
  publisher =    "Easy Computing",
  address =      "Brussels, Belgium",
  pages =        "607",
  year =         "2002",
  ISBN =         "90-5167-459-7",
  ISBN-13 =      "978-90-5167-459-0",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Flemish/Dutch",
}

@Book{Telles:2002:CBB,
  author =       "Matthew A. Telles",
  title =        "{C\#} black book",
  publisher =    pub-CORIOLIS,
  address =      pub-CORIOLIS:adr,
  pages =        "xxii + 643",
  year =         "2002",
  ISBN =         "1-58880-192-6 (paperback\slash CD-ROM)",
  ISBN-13 =      "978-1-58880-192-0 (paperback\slash CD-ROM)",
  LCCN =         "QA76.73.C154 T45 2002eb",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5390553",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Thomsen:2002:DPC,
  author =       "Carsten Thomsen",
  title =        "Database programming with {C\#}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xix + 667",
  year =         "2002",
  ISBN =         "1-59059-010-4",
  ISBN-13 =      "978-1-59059-010-2",
  LCCN =         "QA76.73.C154 T46 2002b",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Books for professionals by professionals",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp]",
}

@Book{Vaughn:2002:ANE,
  author =       "William R. Vaughn and Peter Blackburn",
  title =        "{ADO.NET} examples and best practices for {C\#}
                 programmers",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "????",
  year =         "2002",
  ISBN =         "1-59059-012-0",
  ISBN-13 =      "978-1-59059-012-6",
  LCCN =         "QA76.625 .V384 2002b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905480",
  acknowledgement = ack-nhfb,
  subject =      "Internet programming; ActiveX; Microsoft .NET
                 Framework; C\# [C-sharp] (computer programming
                 language)",
}

@Book{Wagner:2002:CCL,
  author =       "Bill Wagner",
  title =        "{C\#} core language: little black book",
  publisher =    pub-CORIOLIS,
  address =      pub-CORIOLIS:adr,
  pages =        "xxvii + 446",
  year =         "2002",
  ISBN =         "1-58880-058-X",
  ISBN-13 =      "978-1-58880-058-9",
  LCCN =         "QA76.73.C154 W34 2002eb",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  series =       "Little black book",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5375250",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Computer programming",
}

@Book{Watson:2002:BVC,
  editor =       "Karli Watson and David Espinosa and Zach Greenvoss and
                 Jacob Hammer Pedersen and Jon Reid and Christian Nagel
                 and Matthew Reynolds and Morgan Skinner and Eric
                 White",
  title =        "Beginning {Visual C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  edition =      "Revised",
  pages =        "xvii + 903",
  year =         "2002",
  ISBN =         "1-86100-758-2, 0-7645-4382-2",
  ISBN-13 =      "978-1-86100-758-2, 978-0-7645-4382-1",
  LCCN =         "QA76.73.C15 B44 2002b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  remark =       "Previous ed. published as: Beginning C\# / Karli
                 Watson. 2001.",
  subject =      "Microsoft Visual C++; Visual programming (Computer
                 science); C\# [C-sharp] (computer programming
                 language); Microsoft .NET Framework",
}

@Article{Anonymous:2003:JHS,
  author =       "Anonymous",
  title =        "{Java}'s head start adoption of {Microsoft}'s {C\#}
                 language for building {Web} services is hindered by the
                 prevalence of {Java}",
  journal =      j-INFORMATION-WEEK,
  volume =       "966",
  pages =        "57",
  year =         "2003",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Mon Dec 22 12:18:52 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Book{Anonymous:2003:MMS,
  author =       "Anonymous",
  title =        "{MCAD\slash MCSD} self-paced training kit: Developing
                 {XML Web} services and server components with
                 {Microsoft Visual Basic .NET} and {Microsoft Visual C\#
                 .NET}: Exams 70-310 and 70-320",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "xxix + 651",
  year =         "2003",
  ISBN =         "0-7356-1586-1",
  ISBN-13 =      "978-0-7356-1586-1",
  LCCN =         "Pucbb; CD-ROM; 005",
  bibdate =      "Tue Mar 14 08:53:02 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.libris.kb.se:210/libr",
  price =        "UK\pounds 45.99",
  acknowledgement = ack-nhfb,
  remark =       "Includes CD-ROM.",
  subject =      "Microsoft.NET framework; Examinations; Study guides;
                 Microsoft Windows. (Computer file); Electronic data
                 processing personnel; Certification; Microsoft
                 software; XML (Document markup language)",
}

@Book{Ballinger:2003:NWS,
  author =       "Keith Ballinger",
  title =        "{.NET Web} services: architecture and implementation",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xix + 323",
  year =         "2003",
  ISBN =         "0-321-11359-4",
  ISBN-13 =      "978-0-321-11359-7",
  LCCN =         "TK5105.888 .B355 2003",
  bibdate =      "Wed Mar 15 08:57:14 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; Computer network architectures;
                 Microsoft.net",
}

@Article{Barrett:2003:DPJ,
  author =       "Tom Barrett",
  title =        "Dynamic Proxies in {Java} and {.NET}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "7",
  pages =        "18, 20, 22, 24, 26",
  month =        jul,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:24 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0307/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/ftp/2003/2003_07/dyproxy.zip",
  abstract =     "Tom examines how proxies separate cross-cutting
                 concerns, then explores and --- in both Java and C\#
                 and --- a new twist on the traditional Proxy pattern
                 that promotes reuse and decreases complexity.
                 Additional resources include dyproxy.zip (source
                 code).",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Book{Box:2003:ENC,
  author =       "Don Box and Chris Sells",
  title =        "Essential {.NET}: Volume 1: {The Common Language
                 Runtime}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiii + 405",
  year =         "2003",
  ISBN =         "0-201-73411-7 (paperback)",
  ISBN-13 =      "978-0-201-73411-9 (paperback)",
  LCCN =         "QA76.76.M52 B69 2003",
  bibdate =      "Wed Mar 15 08:57:34 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Foreword by James S. Miller",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET; Component software; Programming
                 languages (Electronic computers)",
}

@Book{Buono:2003:CGP,
  author =       "Salvatore A. Buono",
  title =        "{C\#} and game programming: a beginner's guide",
  publisher =    pub-A-K-PETERS,
  address =      pub-A-K-PETERS:adr,
  pages =        "xxiii + 556",
  year =         "2003",
  ISBN =         "1-56881-193-4",
  ISBN-13 =      "978-1-56881-193-2",
  LCCN =         "QA76.73.C154 B85 2003",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Computer games; Programming",
}

@Article{Carlisle:2003:WAN,
  author =       "Martin C. Carlisle and Ricky E. Sward and Jeffrey W.
                 Humphries",
  title =        "Weaving {Ada 95} into the {.NET} environment",
  journal =      j-SIGADA-LETTERS,
  volume =       "23",
  number =       "1",
  pages =        "22--26",
  month =        mar,
  year =         "2003",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1066404.589456",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 11:55:50 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This paper explains our efforts to add Ada to
                 Microsoft's family of .NET languages. There are several
                 advantages to weaving Ada into the Common Language
                 Environment provided by the .NET environment. This
                 paper explains our approach and current progress on the
                 research. We provide the means to extract Ada
                 specification files from Microsoft Intermediate
                 Language (MSIL) code and compile Ada programs into
                 MSIL.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAda Ada Letters",
  keywords =     "Ada 95; common language runtime; just-in-time
                 compiling; Microsoft .Net environment",
}

@Book{Conway:2003:CCD,
  editor =       "Richard Conway and Teun Duynstee and Ben Hyrman and
                 Roger Rowland and James Speer",
  title =        "{C\#} class design handbook: coding effective
                 classes",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "vii + 366",
  year =         "2003",
  ISBN =         "1-59059-257-3, 1-86100-828-7 (paperback)",
  ISBN-13 =      "978-1-86100-828-2 (paperback)",
  LCCN =         "QA76.73.C154 C743 2003b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
                 clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$28.99",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Microsoft .NET Framework",
}

@Book{Cooper:2003:CDP,
  author =       "James W. (James William) Cooper",
  title =        "{C\#} design patterns: a tutorial",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "392",
  year =         "2003",
  ISBN =         "0-201-84453-2 (paperback)",
  ISBN-13 =      "978-0-201-84453-5 (paperback)",
  LCCN =         "QA76.73.C154 C664 2003",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$34.99",
  acknowledgement = ack-nhfb,
  remark =       "Includes CD-ROM.",
  subject =      "C\# [C-sharp] (computer programming language);
                 Software patterns",
}

@Book{Deitel:2003:CPI,
  editor =       "Harvey M. Deitel and others",
  title =        "{C\#}: a programmer's introduction",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  pages =        "xlix + 862",
  year =         "2003",
  ISBN =         "0-13-046132-6",
  ISBN-13 =      "978-0-13-046132-2",
  LCCN =         "QA76.73.C154 C14 2003",
  bibdate =      "Mon Jul 5 08:09:51 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Deitel developer series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Drayton:2003:CND,
  author =       "Peter Drayton and Ben Albahari and Ted Neward",
  title =        "{C\#} in a nutshell: a desktop quick reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxiii + 897",
  year =         "2003",
  ISBN =         "0-596-00526-1",
  ISBN-13 =      "978-0-596-00526-9",
  LCCN =         "QA76.73.C154 D73 2003",
  bibdate =      "Mon Apr 18 15:07:31 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "In a nutshell",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Dunn:2003:CAI,
  author =       "Kyle Dunn",
  title =        "A {C\#} application from inspiration to
                 implementation",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "vii + 360",
  year =         "2003",
  ISBN =         "1-86100-754-X (paperback)",
  ISBN-13 =      "978-1-86100-754-4 (paperback)",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Freeman:2003:PNS,
  author =       "Adam Freeman and Allen Jones",
  title =        "Programming {.NET} security",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xviii + 693",
  year =         "2003",
  ISBN =         "0-596-00442-7",
  ISBN-13 =      "978-0-596-00442-2",
  LCCN =         "TK5105.59 .F68 2003",
  bibdate =      "Mon Apr 18 15:06:34 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Writing secure applications using C\# or Visual Basic
                 .NET.",
  subject =      "Computer networks; Security measures; Microsoft .NET",
}

@Article{Gerlach:2003:GPS,
  author =       "J. Gerlach and J. Kneis",
  title =        "Generic Programming for Scientific Computing in {C++},
                 {Java}, and {C\#}",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "2834",
  pages =        "301--310",
  year =         "2003",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Oct 15 08:31:41 MDT 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Goode:2003:BAN,
  author =       "Chris Goode and John Kauffman and Christopher Miller
                 and Neil Raybould and Srinivasa Sivakumar and David
                 Sussman and Ollie Cornes and Rob Birdwell and Matt
                 Butler and Gary Johnson and Ajoy Krishnamoorthy and
                 Juan T. Libre and Chris Ullman",
  title =        "Beginning {ASP.NET} 1.0 with {C\#}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "xiii + 848",
  year =         "2003",
  ISBN =         "0-7645-4370-9 (paperback)",
  ISBN-13 =      "978-0-7645-4370-8 (paperback)",
  LCCN =         "TK5105.8885.A26 B44 2003b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$28.99",
  series =       "Programmer to programmer",
  URL =          "http://www.loc.gov/catdir/bios/wiley047/2003107065.html",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Internet programming;
                 Visual programming (Computer science); Microsoft .NET;
                 C\# (computer programming language)",
}

@Book{Hoffman:2003:ANC,
  author =       "Kevin Hoffman",
  title =        "{ASP.NET} e-commerce programming: problem, design,
                 solution",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  edition =      "[C\#]",
  pages =        "ix + 342",
  year =         "2003",
  ISBN =         "1-86100-803-1",
  ISBN-13 =      "978-1-86100-803-9",
  LCCN =         "BLi 991861008031",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Microsoft .NET; Electronic
                 commerce; Computer programs",
}

@Book{Homer:2003:FLA,
  author =       "Alex Homer and David Sussman and Mark Fussell",
  title =        "A first look at {ADO.NET} and {System.XML} v.2.0",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxi + 297",
  year =         "2003",
  ISBN =         "0-321-22839-1",
  ISBN-13 =      "978-0-321-22839-0",
  LCCN =         "QA76.625 .H655 2003",
  bibdate =      "Wed Mar 15 08:58:15 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Internet programming; ActiveX; XML (Document markup
                 language)",
  xxauthor =     "Ben Homer and Mark Fussell and George D. Sussman",
}

@Article{Humphrey:2003:GCC,
  author =       "William F. Humphrey",
  title =        "Generalized Callbacks: {C++} and {C\#}",
  journal =      j-DDJ,
  volume =       "28",
  number =       "3",
  pages =        "42--43, 46--47",
  month =        mar,
  year =         "2003",
  CODEN =        "DDJOEB",
  ISSN =         "1044-789X",
  bibdate =      "Thu Jun 12 05:46:22 MDT 2003",
  bibsource =    "http://www.ddj.com/articles/2003/0303/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ddj.com/documents/s=7826/ddj0303e/",
  abstract =     "Callbacks implement dynamic selection and invocation
                 of functions at run time. Bill examines two
                 technologies that implement callbacks and --- the
                 libsigc++ class library in C++ and the delegate feature
                 in C\#.",
  acknowledgement = ack-nhfb,
  fjournal =     "Dr. Dobb's Journal of Software Tools",
}

@Article{Hunt:2003:LSM,
  author =       "J. Hunt",
  title =        "Look sharp! {Microsoft}'s {C\#} column has often been
                 described as a {Java} killer, and the languages have a
                 lot in common",
  journal =      "Application Development Advisor",
  volume =       "7",
  number =       "2",
  publisher =    "SIGS",
  pages =        "32--35",
  year =         "2003",
  CODEN =        "????",
  ISSN =         "1369-4200",
  bibdate =      "Tue Mar 18 05:54:30 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{ISO:2003:IIIb,
  author =       "{International Organization for Standardization}",
  title =        "{ISO\slash IEC 23270:2003}: Information technology ---
                 {C\#} Language Specification",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "xiii + 471",
  year =         "2003",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Mar 13 18:22:37 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "328 Sfr (print)",
  URL =          "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036768_ISO_IEC_23270_2003(E).zip;
                 http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36768",
  acknowledgement = ack-nhfb,
}

@Book{Liberty:2003:PAN,
  author =       "Jesse Liberty and Dan Hurwitz",
  title =        "Programming {ASP.NET}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xiii + 988",
  year =         "2003",
  ISBN =         "0-596-00487-7",
  ISBN-13 =      "978-0-596-00487-3",
  LCCN =         "TK5105.8885.A26 L53 2003",
  bibdate =      "Mon Apr 18 15:07:04 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Building Web applications and services using C\# and
                 VB.NET.",
  subject =      "Active Server Pages (ASP); C\# [C-sharp] (computer
                 programming language); Microsoft Visual BASIC; Web
                 sites; Computer programs; Web sites; Design",
}

@Book{Liberty:2003:PC,
  author =       "Jesse Liberty",
  title =        "Programming {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xviii + 689",
  year =         "2003",
  ISBN =         "0-596-00489-3",
  ISBN-13 =      "978-0-596-00489-7",
  LCCN =         "QA76.76.C154 L53 2003",
  bibdate =      "Mon Apr 18 15:07:05 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Computer programming",
}

@Article{Lutz:2003:BBC,
  author =       "Michael J. Lutz",
  title =        "Bookshelf: Building {C\#} Programs with Patterns [{C\#
                 Design Patterns}]; Using {Star Schema} in {Oracle}
                 [{Oracle DBA Guide to Data Warehousing and Star
                 Schemas}]; Immersive {Java} Text [{Java Outside In}];
                 Applying {AI} to the {Web} [{Web Intelligence}];
                 Moronic Marketing [{In Search of Stupidity: Over 20
                 Years of High-Tech Marketing Disasters}]",
  journal =      j-COMPUTER,
  volume =       "36",
  number =       "9",
  pages =        "96--97",
  month =        sep,
  year =         "2003",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162 (print), 1558-0814 (electronic)",
  ISSN-L =       "0018-9162",
  bibdate =      "Fri Dec 12 19:53:46 MST 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://csdl.computer.org/dl/mags/co/2003/09/r9096.htm;
                 http://csdl.computer.org/dl/mags/co/2003/09/r9096.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer",
  journal-URL =  "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}

@Article{Lutz:2003:CNF,
  author =       "Michael H. Lutz and Phillip A. Laplante",
  title =        "{C\#} and the {.NET} Framework: Ready for Real Time?",
  journal =      j-IEEE-SOFTWARE,
  volume =       "20",
  number =       "1",
  pages =        "74--80",
  month =        jan # "\slash " # feb,
  year =         "2003",
  CODEN =        "IESOEG",
  ISSN =         "0740-7459 (print), 0740-7459 (electronic)",
  ISSN-L =       "0740-7459",
  bibdate =      "Fri Oct 24 16:31:59 MDT 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://dlib.computer.org/so/books/so2003/pdf/s1074.pdf;
                 http://www.computer.org/software/so2003/s1074abs.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Software",
  journal-URL =  "http://www.computer.org/portal/web/csdl/magazines/software",
}

@Article{Lutz:2003:ISR,
  author =       "Michael H. Lutz and Phillip A. Laplante",
  title =        "{IEEE Software}: Real-Time Systems: {C\#} and the
                 {.NET} Framework: Ready for Real Time?",
  journal =      j-IEEE-DISTRIB-SYST-ONLINE,
  volume =       "4",
  number =       "2",
  year =         "2003",
  ISSN =         "1541-4922",
  ISSN-L =       "1541-4922",
  bibdate =      "Sat Jan 03 14:59:06 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://dsonline.computer.org/0302/f/sp1lap.htm",
  acknowledgement = ack-nhfb,
  fjournal =     "IEEE Distributed Systems Online",
}

@Book{MacDonald:2003:CDS,
  author =       "Matthew MacDonald and Erik Johansson",
  title =        "{C\#} data security handbook",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "vii + 356",
  year =         "2003",
  ISBN =         "1-86100-801-5 (paperback)",
  ISBN-13 =      "978-1-86100-801-5 (paperback)",
  LCCN =         "????",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Cryptography; Computer security",
}

@Book{Makofske:2003:MSP,
  author =       "David Makofske and Kevin Almeroth",
  title =        "Multicast sockets: practical guide for programmers",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xii + 180",
  year =         "2003",
  ISBN =         "1-55860-846-X",
  ISBN-13 =      "978-1-55860-846-7",
  LCCN =         "TK5105.887 .M35 2003",
  bibdate =      "Wed Oct 29 16:24:48 2003",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$19.95",
  series =       "The Morgan Kaufmann practical guides series",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/;
                 http://www.loc.gov/catdir/description/els051/2004555479.html;
                 http://www.loc.gov/catdir/toc/els051/2004555479.html",
  acknowledgement = ack-nhfb,
  subject =      "Application program interfaces (Computer software);
                 TCP/IP (Computer network protocol); C\# (Computer
                 program language)",
}

@Article{McCluskey:2003:CT,
  author =       "Glen McCluskey",
  title =        "{C\#} Types",
  journal =      j-LOGIN,
  volume =       "28",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2003",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:28 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2003-06/index.html",
  URL =          "http://www.usenix.org/publications/login/2003-06/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2003:ECH,
  author =       "Glen McCluskey",
  title =        "Examining the {C\#} ``Hello World'' Program",
  journal =      j-LOGIN,
  volume =       "28",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2003",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:26 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2003-04/index.html",
  URL =          "http://www.usenix.org/publications/login/2003-04/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2003:IC,
  author =       "Glen McCluskey",
  title =        "An Introduction to {C\#}",
  journal =      j-LOGIN,
  volume =       "28",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2003",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:24 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2003-02/index.html",
  URL =          "http://www.usenix.org/publications/login/2003-02/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2003:UCP,
  author =       "Glen McCluskey",
  title =        "Using {C\#} Properties and Static Members",
  journal =      j-LOGIN,
  volume =       "28",
  number =       "5",
  pages =        "??--??",
  month =        oct,
  year =         "2003",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:32 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2003-10/index.html",
  URL =          "http://www.usenix.org/publications/login/2003-10/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2003:WCC,
  author =       "Glen McCluskey",
  title =        "Working with {C\#} Classes",
  journal =      j-LOGIN,
  volume =       "28",
  number =       "4",
  pages =        "??--??",
  month =        aug,
  year =         "2003",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:30 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2003-08/index.html",
  URL =          "http://www.usenix.org/publications/login/2003-08/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Book{Onion:2003:EANa,
  author =       "Fritz Onion",
  title =        "Essential {ASP.NET} with examples in {Visual Basic}
                 {.NET}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 395",
  year =         "2003",
  ISBN =         "0-201-76039-8",
  ISBN-13 =      "978-0-201-76039-2",
  LCCN =         "TK5105.8885.A26 O55 2003",
  bibdate =      "Wed Mar 15 09:11:13 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; Active Server Pages (ASP);
                 Microsoft Visual BASIC",
}

@Book{Onion:2003:EANb,
  author =       "Fritz Onion",
  title =        "Essential {ASP.NET} with examples in {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 393",
  year =         "2003",
  ISBN =         "0-201-76040-1",
  ISBN-13 =      "978-0-201-76040-8",
  LCCN =         "TK5105.8885.A26 O53 2003",
  bibdate =      "Wed Mar 15 08:59:12 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; Active Server Pages (ASP); C
                 (Computer program language)",
}

@Book{Pattison:2003:BAC,
  author =       "Ted Pattison and Joe Hummel",
  title =        "Building applications and components with {Visual
                 Basic .NET}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxviii + 562",
  year =         "2003",
  ISBN =         "0-201-73495-8",
  ISBN-13 =      "978-0-201-73495-9",
  LCCN =         "QA76.73.B3 P257 2003",
  bibdate =      "Wed Mar 15 09:00:28 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip047/2003016759.html",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual BASIC; BASIC (Computer program
                 language); Microsoft .NET",
}

@Book{Robinson:2003:PCS,
  editor =       "Simon Robinson and K. Scott Allen and Ollie Cornes and
                 Jay Glynn and Zach Greenvoss and Burton Harvey and
                 Christian Nagel and Morgan Skinner and Karli Watson and
                 Steve Danielson",
  title =        "Professional {C\#}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "xxiii + 1223",
  year =         "2003",
  ISBN =         "0-7645-4398-9",
  ISBN-13 =      "978-0-7645-4398-2",
  LCCN =         "QA76.73.C154 P76 2002b",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 C-Sharp",
  xxnote =       "Check author order??",
}

@Article{Saxon:2003:OOR,
  author =       "Charles S. Saxon",
  title =        "Object-oriented recursive descent parsing in {C\#}",
  journal =      j-SIGCSE,
  volume =       "35",
  number =       "4",
  pages =        "82--85",
  month =        dec,
  year =         "2003",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/960492.960534",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:05 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse35.html#Saxon03;
                 http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2003.bib",
  abstract =     "An object-oriented recursive descent parsing technique
                 that is suitable for use in advanced programming
                 classes where no language theory is required is
                 presented. The C\# code for a calculator is shown as an
                 example.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Tagliaferri:2003:CC,
  editor =       "Matt Tagliaferri",
  title =        "{C\#} complete",
  publisher =    pub-SYBEX,
  address =      pub-SYBEX:adr,
  pages =        "xxvii + 974",
  year =         "2003",
  ISBN =         "0-7821-4203-6 (paperback)",
  ISBN-13 =      "978-0-7821-4203-7 (paperback)",
  LCCN =         "QA76.73.C154 C454 2003b",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$14.99",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0613/2002115481-b.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Object-oriented programming (Computer science); Web
                 site development",
}

@Book{Titus:2003:CTH,
  editor =       "Tobin Titus and Fabio Claudio Ferracchiati and Tejaswi
                 Redkar and Srinivasa Sivakumar",
  title =        "{C\#} threading handbook",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "v + 272",
  year =         "2003",
  ISBN =         "1-86100-829-5",
  ISBN-13 =      "978-1-86100-829-9",
  LCCN =         "QA76.73.C154 T58 2004b",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
}

@Book{Troelsen:2003:CNP,
  author =       "Andrew W. Troelsen",
  title =        "{C\#} and the {.NET} platform",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Second",
  pages =        "1158 (est.)",
  year =         "2003",
  ISBN =         "1-59059-055-4",
  ISBN-13 =      "978-1-59059-055-3",
  LCCN =         "QA76.73.C154 T764 2003b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905456",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Microsoft.net framework",
}

@Book{Watkins:2003:PNE,
  author =       "Damien Watkins and Brad Abrams and Mark (Mark J.)
                 Hammond",
  title =        "Programming in the {.NET} environment",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxviii + 523",
  year =         "2003",
  ISBN =         "0-201-77018-0 (paperback)",
  ISBN-13 =      "978-0-201-77018-6 (paperback)",
  LCCN =         "QA76.625 .W38 2002",
  bibdate =      "Tue Mar 14 09:49:06 MST 2006",
  bibsource =    "catalogue.nla.gov.au:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework; Internet programming;
                 Computer software; Development",
  tableofcontents = "1. Introducing the .NET Framework\\
                 2. The Type System\\
                 3. The Metadata System\\
                 4. The Execution System\\
                 5. Building Applications\\
                 6. Deploying Applications\\
                 7. The Framework Class Library\\
                 App. A. Visual Basic .NET\\
                 App. B. C\#\\
                 App. C. Python for .NET\\
                 App. D. Perl and the .NET Runtime \\
                 App. E. Component Pascal on the CLR\\
                 App. F. Hotdog: Compiling Scheme to Object-Oriented
                 Virtual Machines\\
                 App. G. Functional Languages for the .NET Framework\\
                 App. H. Active Oberon for .NET: A Case Study in
                 Language Model Mapping.",
  xxauthor =     "Damien Watkins and Mark (Mark J.) Hammond and Brad
                 Abrams",
}

@Book{Wildermuth:2003:PAN,
  author =       "Shawn Wildermuth",
  title =        "Pragmatic {ADO.NET}: data access for the {Internet}
                 world",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 357",
  year =         "2003",
  ISBN =         "0-201-74568-2 (paperback)",
  ISBN-13 =      "978-0-201-74568-9 (paperback)",
  LCCN =         "QA76.9.D26 W55 2003",
  bibdate =      "Wed Mar 15 09:01:06 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "ActiveX; Database design; Object-oriented programming
                 (Computer science); Web databases; Microsoft .NET",
}

@Book{Willms:2003:CZS,
  author =       "Roland Willms and Jan J. Nathan and Gert Gielen",
  title =        "{C\#} zonder stress. (Dutch) [{C\#} without stress]",
  publisher =    "Easy Computing",
  address =      "Brussels, Belgium",
  pages =        "268",
  year =         "2003",
  ISBN =         "90-5167-417-1",
  ISBN-13 =      "978-90-5167-417-0",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Flemish/Dutch",
}

@Book{Abrams:2004:NFS,
  author =       "Brad Abrams and Anders Hejlsberg and Brian Grunkemeyer
                 and Joel Marcey and Kit George and Krzysztof Cwalina
                 and Jeffrey Richter",
  title =        "{.NET Framework Standard Library} Annotated Reference.
                 Volume 1: Base Class Library and Extended Numerics
                 Library",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxvi + 528",
  year =         "2004",
  ISBN =         "0-321-15489-4 (hardcover)",
  ISBN-13 =      "978-0-321-15489-7 (hardcover)",
  LCCN =         "QA76.76.M52 A27 2004",
  bibdate =      "Wed Mar 15 08:56:55 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Foreword by Joel Marcey.",
  series =       "Microsoft .NET development series",
  URL =          "http://www.aw-bc.com/catalog/academic/product/0,1144,0321154894,00.html;
                 http://www.loc.gov/catdir/toc/ecip0411/2003024327.html",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework",
  tableofcontents = "Contents\\
                 Foreword\\
                 Preface\\
                 I. Namespaces\\
                 1. System Overview \\
                 2. System.IO Overview\\
                 3. System.Collections Overview\\
                 4. System.Text Overview\\
                 5. System.Threading Overview\\
                 6. System.Security Overview\\
                 7. System.Globalization Overview\\
                 II. Type Descriptions\\
                 1. ApplicationException (System)\\
                 2. ArgumentException (System)\\
                 3. ArgumentNullException (System)\\
                 4. ArgumentOutOfRangeException (System)\\
                 5. ArithmeticException (System)\\
                 6. Array (System)\\
                 7. ArrayTypeMismatchException (System)\\
                 8. AsyncCallback (System)\\
                 9. Attribute (System)\\
                 10. AttributeTargets (System)\\
                 11. AttributeUsageAttribute (System)\\
                 12. Boolean (System)\\
                 13. Byte (System)\\
                 14. Char (System)\\
                 15. CharEnumerator (System)\\
                 16. CLSCompliantAttribute (System)\\
                 17. ArrayList (System.Collections)\\
                 18. Comparer (System.Collections)\\
                 19. DictionaryEntry (System.Collections)\\
                 20. Hashtable (System.Collections)\\
                 21. ICollection (System.Collections)\\
                 22. IComparer (System.Collections)\\
                 23. IDictionary (System.Collections)\\
                 24. IDictionaryEnumerator (System.Collections)\\
                 25. IEnumerable (System.Collections)\\
                 26. IEnumerator (System.Collections)\\
                 27. IHashCodeProvider (System.Collections)\\
                 28. IList (System.Collections)\\
                 29. Console (System)\\
                 30. Convert (System)\\
                 31. DateTime (System)\\
                 32. Decimal (System)\\
                 33. Delegate (System)\\
                 34. ConditionalAttribute (System.Diagnostics)\\
                 35. DivideByZeroException (System)\\
                 36. Double (System)\\
                 37. DuplicateWaitObjectException (System)\\
                 38. Enum (System)\\
                 39. Environment (System)\\
                 40. EventArgs (System)\\
                 41. EventHandler (System)\\
                 42. Exception (System)\\
                 43. ExecutionEngineException (System)\\
                 44. FlagsAttribute (System)\\
                 45. FormatException (System)\\
                 46. GC (System)\\
                 47. DateTimeFormatInfo (System.Globalization)\\
                 48. DateTimeStyles (System.Globalization)\\
                 49. NumberFormatInfo (System.Globalization)\\
                 50. NumberStyles (System.Globalization)\\
                 51. UnicodeCategory (System.Globalization)\\
                 52. IAsyncResult (System)\\
                 53. ICloneable (System)\\
                 54. IComparable (System)\\
                 55. IDisposable (System)\\
                 56. IFormatProvider (System)\\
                 57. IFormattable (System)\\
                 58. IndexOutOfRangeException (System)\\
                 59. Int16 (System)\\
                 60. Int32 (System)\\
                 61. Int64 (System)\\
                 62. InvalidCastException (System)\\
                 63. InvalidOperationException (System)\\
                 64. InvalidProgramException (System)\\
                 65. Directory (System.IO)\\
                 66. DirectoryNotFoundException (System.IO)\\
                 67. EndOfStreamException (System.IO)\\
                 68. File (System.IO)\\
                 69. FileAccess (System.IO)\\
                 70. FileLoadException (System.IO)\\
                 71. FileMode (System.IO)\\
                 72. FileNotFoundException (System.IO)\\
                 73. FileShare (System.IO)\\
                 74. FileStream (System.IO)\\
                 75. IOException (System.IO)\\
                 76. MemoryStream (System.IO)\\
                 77. Path (System.IO)\\
                 78. PathTooLongException (System.IO)\\
                 79. SeekOrigin (System.IO)\\
                 80. Stream (System.IO)\\
                 81. StreamReader (System.IO)\\
                 82. StreamWriter (System.IO)\\
                 83. StringReader (System.IO)\\
                 84. StringWriter (System.IO)\\
                 85. TextReader (System.IO)\\
                 86. TextWriter (System.IO)\\
                 87. MarshalByRefObject (System)\\
                 88. Math (System)\\
                 89. NotFiniteNumberException (System)\\
                 90. NotSupportedException (System)\\
                 91. NullReferenceException (System)\\
                 92. Object (System)\\
                 93. ObjectDisposedException (System)\\
                 94. ObsoleteAttribute (System)\\
                 95. OutOfMemoryException (System)\\
                 96. OverflowException (System)\\
                 97. Random (System)\\
                 98. RankException (System)\\
                 99. SByte (System)\\
                 100. CodeAccessPermission (System.Security)\\
                 101. IPermission (System.Security)\\
                 102. CodeAccessSecurityAttribute
                 (System.Security.Permissions)\\
                 103. EnvironmentPermission
                 (System.Security.Permissions)\\
                 104. EnvironmentPermissionAccess
                 (System.Security.Permissions)\\
                 105. EnvironmentPermissionAttribute
                 (System.Security.Permissions)\\
                 106. FileIOPermission (System.Security.Permissions)\\
                 107. FileIOPermissionAccess
                 (System.Security.Permissions)\\
                 108. FileIOPermissionAttribute
                 (System.Security.Permissions)\\
                 109. PermissionState (System.Security.Permissions)\\
                 110. SecurityAction (System.Security.Permissions)\\
                 111. SecurityAttribute (System.Security.Permissions)\\
                 112. SecurityPermission
                 (System.Security.Permissions)\\
                 113. SecurityPermissionAttribute
                 (System.Security.Permissions)\\
                 114. SecurityPermissionFlag
                 (System.Security.Permissions)\\
                 115. PermissionSet (System.Security)\\
                 116. SecurityElement (System.Security)\\
                 117. SecurityException (System.Security)\\
                 118. VerificationException (System.Security)\\
                 119. Single (System)\\
                 120. StackOverflowException (System)\\
                 121. String (System)\\
                 122. SystemException (System)\\
                 123. ASCIIEncoding (System.Text)\\
                 124. Decoder (System.Text)\\
                 125. Encoder (System.Text)\\
                 126. Encoding (System.Text)\\
                 127. StringBuilder (System.Text)\\
                 128. UnicodeEncoding (System.Text)\\
                 129. UTF8Encoding (System.Text)\\
                 130. Interlocked (System.Threading)\\
                 131. Monitor (System.Threading)\\
                 132. SynchronizationLockException (System.Threading)\\
                 133. Thread (System.Threading)\\
                 134. ThreadAbortException (System.Threading)\\
                 135. ThreadPriority (System.Threading)\\
                 136. ThreadStart (System.Threading)\\
                 137. ThreadState (System.Threading)\\
                 138. ThreadStateException (System.Threading)\\
                 139. Timeout (System.Threading)\\
                 140. Timer (System.Threading)\\
                 141. TimerCallback (System.Threading)\\
                 142. WaitHandle (System.Threading)\\
                 143. TimeSpan (System)\\
                 144. Type (System)\\
                 145. TypeInitializationException (System)\\
                 146. UInt16 (System)\\
                 147. UInt32 (System)\\
                 148. UInt64 (System)\\
                 149. UnauthorizedAccessException (System)\\
                 150. ValueType (System)\\
                 151. Version (System)\\
                 Index",
}

@Article{Anonymous:2004:BBM,
  author =       "Anonymous",
  title =        "Building Bridges: {Mainsoft} offers a product that
                 lets companies move applications built in {Microsoft}'s
                 {Visual Basic} and {C\#} to {Java} platforms",
  journal =      j-INFORMATION-WEEK,
  volume =       "977",
  pages =        "30--31",
  year =         "2004",
  CODEN =        "INFWE4",
  ISSN =         "8750-6874",
  ISSN-L =       "1938-3371",
  bibdate =      "Sat Apr 3 08:12:24 MST 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Information Week",
}

@Article{Anonymous:2004:CGH,
  author =       "Anonymous",
  title =        "{C\#} goes head to head with {Java}: When resources
                 are tight, companies try to limit the number of
                 programming languages they support. {Microsoft}'s {C\#}
                 and {Sun}'s {Java} both have strengths, so which do you
                 choose?",
  journal =      "Computer Weekly",
  pages =        "48--50",
  day =          "9",
  month =        nov,
  year =         "2004",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Mon Nov 29 06:56:05 MST 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Barker:2004:BCO,
  author =       "Jacquie Barker and Grant Palmer",
  title =        "Beginning {C\#} objects: from concepts to code",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxvii + 819",
  year =         "2004",
  ISBN =         "1-59059-360-X",
  ISBN-13 =      "978-1-59059-360-8",
  LCCN =         "QA76.73.C154 B375 2004b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio4997313",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Object-oriented programming (Computer science)",
}

@Article{Benton:2004:MCA,
  author =       "Nick Benton and Luca Cardelli and C{\'e}dric Fournet",
  title =        "Modern concurrency abstractions for {C\#}",
  journal =      j-TOPLAS,
  volume =       "26",
  number =       "5",
  pages =        "769--804",
  month =        sep,
  year =         "2004",
  CODEN =        "ATPSDT",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Thu Nov 4 08:07:30 MST 2004",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Bishop:2004:CC,
  author =       "J. M. (Judith Mary) Bishop and Nigel Horspool",
  title =        "{C\#} concisely",
  publisher =    "Pearson/Addison Wesley",
  address =      "Harlow, UK",
  pages =        "xxiii + 442",
  year =         "2004",
  ISBN =         "0-321-15418-5 (paperback)",
  ISBN-13 =      "978-0-321-15418-7 (paperback)",
  LCCN =         "QA76.73.C154 B57 2004",
  bibdate =      "Tue Mar 14 09:53:08 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.nls.uk:7290/voyager",
  price =        "US\$29.99",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Bishop:2004:CGC,
  author =       "David Bishop",
  title =        "A complete guide to {C\#}",
  publisher =    pub-JONES-BARTLETT,
  address =      pub-JONES-BARTLETT:adr,
  pages =        "xvii + 624",
  year =         "2004",
  ISBN =         "0-7637-2249-9",
  ISBN-13 =      "978-0-7637-2249-4",
  LCCN =         "QA76.73.C154 B55 2004",
  bibdate =      "Sat Apr 8 08:02:42 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Bishop:2004:DPG,
  author =       "Judith Bishop and Nigel Horspool",
  title =        "Developing principles of {GUI} programming using
                 views",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "1",
  pages =        "373--377",
  month =        mar,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1028174.971429",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:06 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This paper proposes that GUI development is as
                 important as other aspects of programming, such as a
                 sound understanding of control structures and object
                 orientation. Far less attention has been paid to the
                 programming structures for GUIs and certainly there are
                 few cross language principles to aid the programmer. We
                 propose that principles of GUIs can be extracted and
                 learnt, and that they do enhance good programming
                 practice. These principles have been implemented in our
                 Views system which features an XML-based GUI
                 description notation coupled with an engine that
                 shields the programmer from much of the intricate
                 complexity associated with events, listeners and
                 handlers. The system is programmed primarily in C\# for
                 .NET, but is available in various forms for Java and
                 for other platforms which support .NET through the
                 SSCLI.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Borger:2004:EAS,
  author =       "E. Borger and R. F. Stark",
  title =        "Exploiting Abstraction for Specification Reuse. The
                 {Java\slash C\#} Case Study",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3188",
  pages =        "42--76",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 20 09:37:20 MST 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Cazzulino:2004:BVW,
  editor =       "Daniel Cazzulino and Victor Garcia Aprea and James
                 Greenwood and Chris Hart",
  title =        "Beginning {Visual Web} programming in {C\#}: from
                 novice to professional",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiv + 639",
  year =         "2004",
  ISBN =         "1-59059-361-8",
  ISBN-13 =      "978-1-59059-361-5",
  LCCN =         "QA76.625 .B44 2004b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5326019",
  acknowledgement = ack-nhfb,
  subject =      "Web site development; C\# [C-sharp] (computer
                 programming language)",
}

@Book{Chand:2004:GPG,
  author =       "Mahesh Chand",
  title =        "Graphics programming with {GDI+}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xliv + 740",
  year =         "2004",
  ISBN =         "0-321-16077-0",
  ISBN-13 =      "978-0-321-16077-5",
  LCCN =         "T385 .C4515 2003",
  bibdate =      "Wed Mar 15 08:57:56 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Computer graphics; User interfaces (Computer
                 systems)",
}

@Book{Dumbill:2004:MDN,
  author =       "Edd Dumbill and Niel M. Bornstein",
  title =        "{Mono}: a developer's notebook",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xxii + 278",
  year =         "2004",
  ISBN =         "0-596-00792-2",
  ISBN-13 =      "978-0-596-00792-8",
  LCCN =         "QA76.76.M52 D85 2004",
  bibdate =      "Thu Apr 21 09:28:19 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework; C\# [C-sharp] (computer
                 programming language); Open source software; Compilers
                 (Computer programs)",
}

@Book{Foxall:2004:STY,
  author =       "James D. Foxall",
  title =        "{Sams} teach yourself {Microsoft Visual C\# .NET 2003}
                 in 24 hours",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  edition =      "Second",
  pages =        "xxi + 571",
  year =         "2004",
  ISBN =         "0-672-32538-1, 0-7686-6064-5 (electronic book)",
  ISBN-13 =      "978-0-672-32538-0, 978-0-7686-6064-7 (electronic
                 book)",
  LCCN =         "QA76.73.C154 F694 2004eb",
  bibdate =      "Mon Jun 26 11:15:23 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 sirsi.library.utoronto.ca:2200/UNICORN",
  series =       "Sams teach yourself in 24 hours",
  URL =          "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources\_\_ID=367815&T=;
                 resource",
  acknowledgement = ack-nhfb,
  remark =       "Include DVD.",
  subject =      "Microsoft Visual C\# .NET; Visual programming
                 languages (Computer science); C\# [C-sharp] (computer
                 programming language)",
}

@Article{Hanson:2004:RCC,
  author =       "David R. Hanson and Todd A. Proebsting",
  title =        "A research {C\#} compiler",
  journal =      j-SPE,
  volume =       "34",
  number =       "13",
  pages =        "1211--1224",
  day =          "10",
  month =        nov,
  year =         "2004",
  CODEN =        "SPEXBL",
  DOI =          "https://doi.org/10.1002/spe.610",
  ISSN =         "0038-0644 (print), 1097-024X (electronic)",
  ISSN-L =       "0038-0644",
  bibdate =      "Sat Apr 16 07:26:34 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/0038-0644;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  URL =          "ftp://ftp.research.microsoft.com/pub/tr/tr-2003-32.pdf;
                 http://research.microsoft.com/research/pubs/view.aspx?msr_tr_id=MSR-TR-2003-32",
  acknowledgement = ack-nhfb,
  fjournal =     "Software---Practice and Experience",
  journal-URL =  "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
  onlinedate =   "12 Jul 2004",
}

@Book{Hejlsberg:2004:CPL,
  author =       "Anders Hejlsberg and Scott Wiltamuth and Peter Golde",
  title =        "The {C\#} programming language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xiv + 644",
  year =         "2004",
  ISBN =         "0-321-15491-6 (hardcover)",
  ISBN-13 =      "978-0-321-15491-0 (hardcover)",
  LCCN =         "QA76.76.C154 H45 2004",
  bibdate =      "Wed Mar 8 10:50:27 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/master.bib;
                 melvyl.cdlib.org:210/CDL90",
  abstract =     "C\# is a simple, modern, object-oriented, and
                 type-safe programming language that combines the high
                 productivity of rapid application development languages
                 with the raw power of C and C++. Written by the
                 language's architect and design team members, The C\#
                 Programming Language is the definitive technical
                 reference for C\#. Moving beyond the online
                 documentation, the book provides the complete
                 specification of the language along with descriptions,
                 reference materials, and code samples from the C\#
                 design team. The first part of the book opens with an
                 introduction to the language to bring readers quickly
                 up to speed on the concepts of C\#. Next follows a
                 detailed and complete technical specification of the
                 C\# 1.0 language, as delivered in Visual Studio .NET
                 2002 and 2003. Topics covered include Lexical
                 Structure, Types, Variables, Conversions, Expressions,
                 Statements, Namespaces, Exceptions, Attributes, and
                 Unsafe Code. The second part of the book provides an
                 introduction to and technical specification of the four
                 major new features of C\# 2.0: Generics, Anonymous
                 Methods, Iterators, and Partial Types. Reference tabs
                 and an exhaustive print index allow readers to easily
                 navigate the text and quickly find the topics that
                 interest them most. An enhanced online index allows
                 readers to quickly and easily search the entire text
                 for specific topics. With the recent acceptance of C\#
                 as a standard by both the International Organization
                 for Standardization (ISO) and ECMA, understanding the
                 C\# specification has become critical. The C\#
                 Programming Language is the definitive reference for
                 programmers who want to acquire an in-depth knowledge
                 of C\#.",
  acknowledgement = ack-nhfb,
  subject =      "C# (Computer program language)",
  tableofcontents = "Part I: C\# 1.0 \\
                 1: Introduction \\
                 2: Lexical Structure \\
                 3: Basic Concepts \\
                 4: Types \\
                 5: Variables \\
                 6: Conversions \\
                 7: Expressions \\
                 8: Statements \\
                 9: Namespaces \\
                 10: Classes \\
                 11: Structs \\
                 12: Arrays",
}

@Book{Holzner:2004:MVC,
  author =       "Steven Holzner",
  title =        "{Microsoft Visual C\# .NET 2003} kick start",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xiii + 604",
  year =         "2004",
  ISBN =         "0-672-32547-0",
  ISBN-13 =      "978-0-672-32547-2",
  LCCN =         "QA76.73.C154 H65 2003",
  bibdate =      "Sun Apr 9 14:47:30 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual C\# .NET; C\# (Computer program
                 language)",
}

@Book{Homer:2004:FLA,
  author =       "Alex Homer and David Sussman and Rob Howard",
  title =        "A first look at {ASP.NET v. 2.0}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxviii + 498",
  year =         "2004",
  ISBN =         "0-321-22896-0 (paperback)",
  ISBN-13 =      "978-0-321-22896-3 (paperback)",
  LCCN =         "TK5105.8885.A26 H6598 2004",
  bibdate =      "Wed Mar 15 08:58:34 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Microsoft .NET; Web sites;
                 Design; Web site development",
}

@Book{Jones:2004:STY,
  author =       "Bradley Jones",
  title =        "Sams teach yourself the {C\#} language in 21 days",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  edition =      "Third",
  pages =        "xxi + 779",
  year =         "2004",
  ISBN =         "0-672-32546-2 (paper), 0-7686-6058-0 (electronic)",
  ISBN-13 =      "978-0-672-32546-5 (paper), 978-0-7686-6058-6
                 (electronic)",
  LCCN =         "QA76.73.C154 J67 2004eb",
  bibdate =      "Tue Mar 14 09:59:09 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 sirsi.library.utoronto.ca:2200/UNICORN",
  series =       "Sams teach yourself in 21 days",
  URL =          "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources\_\_ID=367816
                 and T=; resource",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
  tableofcontents = "Getting started with C\#\\
                 Understanding C\# programs\\
                 Manipulating values in your programs \\
                 Controlling your program's flow\\
                 The core of C\# programming: classes\\
                 Packaging functionality: class methods and member
                 functions\\
                 Storing more complex stuff: structures, enumerators,
                 and arrays\\
                 Advanced method access\\
                 Handling problems in your programs: exceptions and
                 errors\\
                 Reusing existing code with inheritance\\
                 Formatting and retrieving information\\
                 Tapping into OOP: interfaces\\
                 Making your programs react with delegates, events, and
                 indexers\\
                 Making operators do your bidding: overloading\\
                 Using existing routines from the .NET base classes\\
                 Creating Windows forms\\
                 Creating Windows applications\\
                 Working with data and databases\\
                 Creating remote procedures: Web services \\
                 Creating Web applications\\
                 A day for reflection and attributes",
}

@Article{Kiczales:2004:CLG,
  author =       "G. Kiczales",
  title =        "Crosscut: A Little Goes a Long Way: Attributes in
                 {C\#} and annotations in {Java} provide a hook for
                 principled macros and metaprogramming in the {C}
                 family. {Lisp} has had this technology for years,
                 offering many lessons",
  journal =      "Software Development",
  volume =       "12",
  number =       "5",
  pages =        "52--53",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1070-8588",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Lee:2004:JBN,
  author =       "Y. Lee and S. Na",
  title =        "{Java} Bytecode-to-{.NET} {MSIL} Translator for
                 Construction of Platform Independent Information
                 Systems",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "3215",
  pages =        "826--832",
  year =         "2004",
  CODEN =        "LNCSD9",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Thu Nov 11 05:40:33 MST 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Lecture Notes in Computer Science",
}

@Book{Liberty:2004:PNW,
  author =       "Jesse Liberty and Dan Hurwitz",
  title =        "Programming {.NET Windows} applications",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 1228",
  year =         "2004",
  ISBN =         "0-596-00321-8",
  ISBN-13 =      "978-0-596-00321-0",
  LCCN =         "QA76.76.A65 L52 2004",
  bibdate =      "Mon Apr 18 15:05:07 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Originally published 2003. Covers .NET 1.1 and Visual
                 studio .NET 2003. Rich client applications with C\# or
                 FB.NET.",
  subject =      "Application software; Development; User interfaces
                 (Computer systems); Microsoft .NET Framework; Microsoft
                 Windows (Computer file); C\# [C-sharp] (computer
                 programming language); Microsoft Visual studio",
}

@Book{MacBeth:2004:CPH,
  author =       "Gregory S. MacBeth",
  title =        "{C\#} programmer's handbook",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xix + 561",
  year =         "2004",
  ISBN =         "1-59059-270-0",
  ISBN-13 =      "978-1-59059-270-0",
  LCCN =         "QA76.73.C154 M3344 2004b",
  bibdate =      "Tue Mar 14 08:52:53 MST 2006",
  bibsource =    "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
}

@Article{McCluskey:2004:COO,
  author =       "Glen McCluskey",
  title =        "{C\#} Overloaded Operators",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "3",
  pages =        "??--??",
  month =        jun,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:40 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2004-06/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-06/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2004:MUC,
  author =       "Glen McCluskey",
  title =        "Making Use of {C\#} Collections",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "5",
  pages =        "??--??",
  month =        oct,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:44 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2004-10/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-10/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2004:UCA,
  author =       "Glen McCluskey",
  title =        "Using {C\#} Abstract Classes",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "2",
  pages =        "??--??",
  month =        apr,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:38 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2004-04/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-04/pdfs/McCluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2004:UCR,
  author =       "Glen McCluskey",
  title =        "Using {C\#} Reflection",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "4",
  pages =        "??--??",
  month =        aug,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:42 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2004-08/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-08/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Article{McCluskey:2004:WCI,
  author =       "Glen McCluskey",
  title =        "Working with {C\#} Interfaces",
  journal =      j-LOGIN,
  volume =       "29",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2004",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:36 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2004-02/index.html",
  URL =          "http://www.usenix.org/publications/login/2004-02/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Book{Metsker:2004:DPC,
  author =       "Steven John Metsker",
  title =        "Design patterns in {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xvii + 456",
  year =         "2004",
  ISBN =         "0-321-12697-1",
  ISBN-13 =      "978-0-321-12697-9",
  LCCN =         "QA76.73.C154 M48 2004",
  bibdate =      "Sun Apr 9 14:32:43 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "The software patterns series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); UML (Computer
                 science); Microsoft .NET; Software patterns;
                 Object-oriented programming (Computer science)",
}

@Book{Miller:2004:CLI,
  author =       "James S. Miller and Susann Ragsdale",
  title =        "The {Common Language Infrastructure} Annotated
                 Standard",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxxii + 891",
  year =         "2004",
  ISBN =         "0-321-15493-2",
  ISBN-13 =      "978-0-321-15493-4",
  LCCN =         "QA76.7 .M52 2003",
  bibdate =      "Wed Mar 15 08:58:53 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Programming languages (Electronic computers);
                 Microsoft .NET Framework",
}

@Book{Mossenbock:2004:CP,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "{C\#} to the point",
  publisher =    "Pearson Education",
  address =      "Harlow, UK",
  pages =        "xiii + 246",
  year =         "2004",
  ISBN =         "0-321-25290-X (paperback)",
  ISBN-13 =      "978-0-321-25290-6 (paperback)",
  LCCN =         "QA76.73.C154 M6713 2005",
  bibdate =      "Sat Apr 8 08:12:58 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  note =         "Translated from the German original, {\em
                 Softwareentwicklung mit C\#}, by Bedford Translation
                 Ltd with assistance from David Lightfoot (Oxford
                 Brookes University).",
  price =        "UK\pounds 29.99",
  acknowledgement = ack-nhfb,
  remark =       "The companion CD of this book contains the .NET
                 Framework SDK with the common language run-time, the
                 .NET base class library, the C\# compiler, various
                 tools, as well as the complete documentation of C\# and
                 .NET. It also contains a variety of other C\#
                 development tools such as SharpDevelop, ASP.NET, Web
                 Matrix, Webservice Studio and Coco/R.",
  subject =      "C\# (Computer program language); Microsoft .NET",
}

@Book{Murach:2004:MC,
  author =       "Joel Murach and Doug Lowe",
  title =        "{Murach}'s {C\#}",
  publisher =    "Mike Murach and Associates",
  address =      "Fresno, CA, USA",
  pages =        "xvi + 750",
  year =         "2004",
  ISBN =         "1-890774-22-7",
  ISBN-13 =      "978-1-890774-22-6",
  LCCN =         "QA76.73.C154 M86 2004",
  bibdate =      "Sun Apr 9 14:47:50 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       ".Net developer's guide",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Programming languages
                 (Electronic computers); Microsoft Visual studio;
                 Microsoft .NET Framework",
}

@Article{Nodelman:2004:OCC,
  author =       "Vladimir Nodelman",
  title =        "{OOP} via {C++}, {C\#}, \ldots{}?",
  journal =      j-SIGCSE,
  volume =       "36",
  number =       "3",
  pages =        "255--255",
  month =        sep,
  year =         "2004",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1026487.1008087",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:09 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This presentation describes our experience in
                 transition from C++ to C\# while teaching
                 object-oriented programming.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Robinson:2004:PCS,
  editor =       "Simon Robinson and Christian Nagel and Jay Glynn and
                 Morgan Skinner and Karli Watson and Bill Evjen",
  title =        "Professional {C\#}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Third",
  pages =        "xxxvii + 1356",
  year =         "2004",
  ISBN =         "0-7645-5759-9",
  ISBN-13 =      "978-0-7645-5759-0",
  LCCN =         "QA76.73.C154P76 2004",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Programmer to programmer",
  acknowledgement = ack-nhfb,
  remark =       "Pages 1137--1306 are found only on the Internet
                 (www.wrox.com).",
  subject =      "C\#; C-Sharp",
  tableofcontents = "Introduction. \\
                 Part I: The C\# Language. \\
                 Chapter 1: .NET Architecture. \\
                 Chapter 2: C\# Basics. \\
                 Chapter 3: Objects and Types. \\
                 Chapter 4: Inheritance. \\
                 Chapter 5: Operators and Casts. \\
                 Chapter 6: Delegates and Events. \\
                 Chapter 7: Memory Management and Pointers. \\
                 Chapter 8: Strings and Regular Expressions. \\
                 Chapter 9: Collections. \\
                 Chapter 10: Reflection. \\
                 Chapter 11: Errors and Exceptions. \\
                 Part II: The .NET Environment. \\
                 Chapter 12: Visual Studio .NET. \\
                 Chapter 13: Assemblies \\
                 Chapter 14: .NET Security. \\
                 Chapter 15: Threading. \\
                 Chapter 16: Distributed Applications with .NET
                 Remoting. \\
                 Chapter 17: Localization. \\
                 Chapter 18: Deployment. \\
                 Part III: Windows Forms. \\
                 Chapter 19: Windows Forms. \\
                 Chapter 20: Graphics with GDI+. \\
                 Part IV: Data. \\
                 Chapter 21: Data Access with .NET. \\
                 Chapter 22: Viewing .NET Data. \\
                 Chapter 23: Manipulating XML. \\
                 Chapter 24: Working with Active Directory. \\
                 Part V: Web Programming. \\
                 Chapter 25: ASP.NET Pages. \\
                 Chapter 26: Web Services. \\
                 Chapter 27: User Controls and Custom Controls. \\
                 Part VI: Interop. \\
                 Chapter 28: COM Interoperability. \\
                 Chapter 29: Enterprise Services. \\
                 Part VII: Windows Base Services. \\
                 Chapter 30: File and Registry Operations. \\
                 Chapter 31: Accessing the Internet. \\
                 Chapter 32: Windows Services. \\
                 At www.wrox.com. \\
                 Appendix A: Principles of Object-Oriented Programming.
                 \\
                 Appendix B: C\# for Visual Basic 6 Developers. \\
                 Appendix C: C\# for Java Developers. \\
                 Appendix D: C\# for C++ Developers. \\
                 Index.",
  xxnote =       "Check author list and order??",
}

@Book{Ruvalcaba:2004:BYO,
  author =       "Zak Ruvalcaba",
  title =        "Build your own {ASP.NET Website} using {C\#} and
                 {VB.NET}",
  publisher =    "SitePoint Pty. Ltd.",
  address =      "Collingwood, Victoria, Australia",
  pages =        "xviii + 746",
  year =         "2004",
  ISBN =         "0-9579218-6-1",
  ISBN-13 =      "978-0-9579218-6-3",
  LCCN =         "TK5105.8885.A26 R89 2004b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5459110",
  acknowledgement = ack-nhfb,
  subject =      "Web sites; Design; Active Server Pages (ASP); C\#
                 [C-sharp] (Computer programming language); Microsoft
                 .NET; Web servers; Computer programs",
}

@Book{Sells:2004:WFPa,
  author =       "Chris Sells",
  title =        "{Windows} forms programming in {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xliii + 681",
  year =         "2004",
  ISBN =         "0-321-11620-8",
  ISBN-13 =      "978-0-321-11620-8",
  LCCN =         "QA76.76.M52 S45 2004",
  bibdate =      "Wed Mar 15 08:59:31 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework; Computer software;
                 Development; C\# [C-sharp] (Computer program
                 language)",
}

@Book{Sells:2004:WFPb,
  author =       "Chris Sells and Justin Gehtland",
  title =        "{Windows} forms programming in {Visual Basic .NET}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xlvi + 680",
  year =         "2004",
  ISBN =         "0-321-12519-3",
  ISBN-13 =      "978-0-321-12519-4",
  LCCN =         "QA76.76.M52 S46 2003",
  bibdate =      "Wed Mar 15 08:59:50 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework; Computer software;
                 Development; Microsoft Visual BASIC",
}

@Book{Sestoft:2004:CP,
  author =       "Peter Sestoft and Henrik I. Hansen",
  title =        "{C\#} precisely",
  publisher =    pub-MIT,
  address =      pub-MIT:adr,
  pages =        "viii + 204",
  year =         "2004",
  ISBN =         "0-262-69317-8 (paperback)",
  ISBN-13 =      "978-0-262-69317-2 (paperback)",
  LCCN =         "QA76.73.C154.S47 2004; QA76.73.C154.S47",
  bibdate =      "Mon Mar 20 17:05:32 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
  tableofcontents = "1. Compiling, loading and executing C\# programs\\
                 2. Names and reserved names\\
                 3. C\# naming conventions\\
                 4. Comments and program layout\\
                 5. Data and types\\
                 6. Variables, parameters, fields, and scope\\
                 7. Strings\\
                 8. String builders\\
                 9. Arrays \\
                 10. Classes\\
                 11. The machine model : stack, heap, and garbage
                 collection\\
                 12. Expressions\\
                 13. Statements\\
                 14. Struct types\\
                 15. Interfaces\\
                 16. Enum types \\
                 17. Delegate types\\
                 18. Nullable types over value type (C\# 2.0)\\
                 19. Exceptions\\
                 20. Threads, concurrent execution, and
                 synchronization\\
                 21. Mathematical functions\\
                 22. Input and output\\
                 23. Generic types and methods (C\# 2.0)\\
                 24. Generic collections : lists and dictionaries (C\#
                 2.0)\\
                 25. Namespaces\\
                 26. Partial type declarations (C\# 2.0)\\
                 27. Assertions and the Debug.Assert method\\
                 28. Attributes\\
                 29. Main differences between C\# and Java\\
                 30. References",
}

@Book{Teilhet:2004:CC,
  author =       "Stephen Teilhet and Jay Hilyard",
  title =        "{C\#} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxii + 831",
  year =         "2004",
  ISBN =         "0-596-00339-0",
  ISBN-13 =      "978-0-596-00339-5",
  LCCN =         "QA76.73.C154 T43 2004",
  bibdate =      "Mon Apr 18 15:05:19 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "The definitive collection of solutions and examples.",
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Ullman:2004:BAN,
  editor =       "Chris Ullman and John Kauffman and Chris Hart and Dave
                 Sussman and Dan Maharry",
  title =        "Beginning {ASP.NET} 1.1 with {Visual C\# .NET} 2003",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2004",
  ISBN =         "0-7645-5708-4",
  ISBN-13 =      "978-0-7645-5708-8",
  LCCN =         "TK5105.8885.A26 B452 2004b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio4905523",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Web sites; Design; Web
                 servers; Computer programs; Microsoft Visual C\# .NET",
  tableofcontents = "Introduction. \\
                 Chapter 1: Getting Started with ASP.NET. \\
                 Chapter 2: Anatomy of an ASP.NET Page. \\
                 Chapter 3: Server Controls and Variables. \\
                 Chapter 4: Control Structures and Procedural
                 Programming. \\
                 Chapter 5: Functions. \\
                 Chapter 6: Event-Driven Programming and Postback. \\
                 Chapter 7: Objects. \\
                 Chapter 8: Reading from Databases. \\
                 Chapter 9: Advanced Data Handling. \\
                 Chapter 10: ASP.NET Server Controls. \\
                 Chapter 11: Users and Applications. \\
                 Chapter 12: Reusable Code for ASP.NET. \\
                 Chapter 13: .NET Assemblies and Custom Controls. \\
                 Chapter 14: Debugging and Error Handling. \\
                 Chapter 15: Configuration and Optimization. \\
                 Chapter 16: Web Services. \\
                 Chapter 17: ASP.NET Security. \\
                 Appendix A: Exercise Solutions. \\
                 Appendix B: Web Matrix Quick Start. \\
                 Appendix C: The Wrox United Database. \\
                 Appendix D: Web Application Development Using Visual
                 Studio .NET. \\
                 Appendix E: Installing and Configuring IIS. \\
                 Index.",
  xxnote =       "Check author list and order??",
}

@Book{Vick:2004:VBN,
  author =       "Paul Vick",
  title =        "The {Visual Basic .NET} programming language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xxiv + 407",
  year =         "2004",
  ISBN =         "0-321-16951-4",
  ISBN-13 =      "978-0-321-16951-8",
  LCCN =         "QA76.73.B3 V484 2004",
  bibdate =      "Wed Mar 15 09:00:09 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual Basic for Windows; BASIC (Computer
                 program language); Microsoft .NET",
}

@Article{Winkler:2004:CCJ,
  author =       "J. F. H. Winkler",
  title =        "{C\#}: a Competitor of {Java}?",
  journal =      "It",
  volume =       "46",
  number =       "2",
  pages =        "85--93",
  year =         "2004",
  CODEN =        "????",
  ISSN =         "1611-2776",
  bibdate =      "Mon May 17 14:50:36 MDT 2004",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Book{Worner:2004:ACF,
  author =       "Martin Worner",
  title =        "Applied {C\#} in financial markets",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 119",
  year =         "2004",
  ISBN =         "0-470-87061-3",
  ISBN-13 =      "978-0-470-87061-7",
  LCCN =         "QA76.73.C15 W67 2004",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$45.00",
  series =       "Wiley finance series",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Financial institutions; Computer programs",
}

@Book{Yao:2004:NCF,
  author =       "Paul Yao and David Durant",
  title =        "{.NET} Compact Framework programming with {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xl + 1379",
  year =         "2004",
  ISBN =         "0-321-17403-8",
  ISBN-13 =      "978-0-321-17403-1",
  LCCN =         "QA76.73.C154 Y36 2004",
  bibdate =      "Mon Jun 26 10:50:41 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0414/2004002429.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Article{Anonymous:2005:COE,
  author =       "Anonymous",
  title =        "{C\#} offers an easy-to-use alternative to {Java}",
  journal =      "Computer Weekly",
  pages =        "30--30",
  day =          "18",
  month =        jan,
  year =         "2005",
  CODEN =        "????",
  ISSN =         "0010-4787",
  bibdate =      "Thu Mar 24 17:43:34 MST 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
}

@Article{Anonymous:2005:SAS,
  author =       "Anonymous",
  title =        "Security Audits for Source Code Fortify Source Code:
                 {Analysis Suite 3.0} brings deep, intelligent security
                 analysis to {C}, {C++}, {C\#}, {Java}, {JSP}, and {SQL}
                 program code",
  journal =      j-INFOWORLD,
  volume =       "27",
  number =       "3",
  pages =        "24--25",
  year =         "2005",
  CODEN =        "INWODU",
  ISSN =         "0199-6649",
  bibdate =      "Tue Apr 12 05:47:14 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "InfoWorld",
}

@Book{Balena:2005:PGB,
  author =       "Francesco Balena and Giuseppe Dimauro",
  title =        "Practical guidelines and best practices for {Microsoft
                 Visual Basic} and {Visual C\# developers}",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "xxxiv + 570",
  year =         "2005",
  ISBN =         "0-7356-2172-1",
  ISBN-13 =      "978-0-7356-2172-5",
  LCCN =         "QA76.73.B3 B344 2005",
  bibdate =      "Sat Apr 8 08:34:04 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual BASIC; BASIC (Computer program
                 language); C\# (Computer program language)",
}

@Article{Bishop:2005:EIJ,
  author =       "Judith Bishop and R. Nigel Horspool and Basil
                 Worrall",
  title =        "Experience in integrating {Java} with {C\#} and
                 {.NET}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "5--6",
  pages =        "663--680",
  month =        apr # "\slash " # may,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.858",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www3.interscience.wiley.com/journalfinder.html;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "22 Feb 2005",
}

@Article{Borger:2005:HLM,
  author =       "Egon B{\"o}rger and Nicu G. Fruja and Vincenzo Gervasi
                 and Robert F. St{\"a}rk",
  title =        "A high-level modular definition of the semantics of
                 {C\#}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "336",
  number =       "2--3",
  pages =        "235--284",
  day =          "26",
  month =        may,
  year =         "2005",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Thu Jul 7 14:28:18 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  URL =          "http://www.only4gurus.net/miscellaneous/cs03.pdf",
  abstract =     "We propose a structured mathematical definition of the
                 semantics of C\# programs to provide a
                 platform-independent interpreter view of the language
                 for the C\# programmer, which can also be used for a
                 precise analysis of the ECMA standard of the language
                 and as a reference model for teaching. The definition
                 takes care to reflect directly and faithfully---as much
                 as possible without becoming inconsistent or
                 incomplete---the descriptions in the C\# standard to
                 become comparable with the corresponding models for
                 Java in St{\"a}rk et al. (Java and Java Virtual
                 Machine---Definition, Verification, Validation,
                 Springer, Berlin, 2001) and to provide for implementors
                 the possibility to check their basic design decisions
                 against an accurate high-level model. The model sheds
                 light on some of the dark corners of C\# and on some
                 critical differences between the ECMA standard and the
                 implementations of the language.",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
  keywords =     "C-sharp (C\#)",
}

@Article{Bruckschlegel:2005:MCC,
  author =       "T. Bruckschlegel",
  title =        "Microbenchmarking {C++}, {C\#}, and {Java}",
  journal =      j-CCCUJ,
  volume =       "23",
  number =       "7",
  pages =        "14--21",
  year =         "2005",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  bibdate =      "Mon Jul 18 09:50:30 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 Ingenta database",
  acknowledgement = ack-nhfb,
  fjournal =     "C/C++ Users Journal",
}

@Book{Buono:2005:CGP,
  author =       "Salvatore A. Buono",
  title =        "{C\#} and game programming: a beginner's guide",
  publisher =    pub-A-K-PETERS,
  address =      pub-A-K-PETERS:adr,
  edition =      "Second",
  pages =        "xxiii + 505",
  year =         "2005",
  ISBN =         "1-56881-236-1 (paperback)",
  ISBN-13 =      "978-1-56881-236-6 (paperback)",
  LCCN =         "QA76.73.C154 B85 2005",
  bibdate =      "Thu May 3 10:55:48 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Computer games;
                 Programming",
}

@Book{Chegwidden:2005:SC,
  author =       "James Chegwidden and Tony Gaddis",
  title =        "Starting out with {C\#}",
  publisher =    "Scott/James Publishers",
  address =      "El Granada, CA, USA",
  pages =        "xvi + 790",
  year =         "2005",
  ISBN =         "1-57676-161-4",
  ISBN-13 =      "978-1-57676-161-8",
  LCCN =         "QA76.73.C154 C444 2005",
  bibdate =      "Tue Mar 14 08:33:37 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "ftp://ftp.aw.com/cseng/authors/chegwidden/ (
                 materials)",
  acknowledgement = ack-nhfb,
  remark =       "Accompanying CD-ROM: Student CD to accompany Starting
                 out with C\#, contains answer files, appendices, source
                 codes, etc.",
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Davis:2005:CD,
  author =       "Stephanie R. Davis",
  title =        "{C\# 2005} for dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  edition =      "Second",
  pages =        "????",
  year =         "2005",
  ISBN =         "0-7645-9704-3 (paperback)",
  ISBN-13 =      "978-0-7645-9704-6",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 11:43:16 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0628/2005927620-d.html",
  acknowledgement = ack-nhfb,
}

@Book{deChamplain:2005:CPG,
  author =       "Michel de Champlain and Brian G. Patrick",
  title =        "{C\#} 2.0: practical guide for programmers",
  publisher =    pub-ELSEVIER,
  address =      pub-ELSEVIER:adr,
  pages =        "xix + 251",
  year =         "2005",
  ISBN =         "0-12-167451-7",
  ISBN-13 =      "978-0-12-167451-9",
  LCCN =         "QA76.73.C154 C45 2005; 06.E01641",
  bibdate =      "Mon Jun 26 11:48:19 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.ox.ac.uk:210/ADVANCE;
                 z3950.bibsys.no:2100/BIBSYS;
                 z3950.loc.gov:7090/Voyager",
  series =       "Morgan Kaufmann practical guides series",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0621/2005002332-d.html;
                 http://www.loc.gov/catdir/toc/ecip057/2005002332.html",
  acknowledgement = ack-nhfb,
  remark =       "Practical guide for programmers.",
  subject =      "C\# (Computer program language)",
}

@Article{Draheim:2005:GPC,
  author =       "Dirk Draheim and Christof Lutteroth and Gerald Weber",
  title =        "Generative programming for {C\#}",
  journal =      j-SIGPLAN,
  volume =       "40",
  number =       "8",
  pages =        "29--33",
  month =        aug,
  year =         "2005",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 5 07:55:13 MDT 2005",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{ECMA-334-3,
  author =       "{ECMA}",
  title =        "{ECMA-334}: {C\#} Language Specification",
  publisher =    pub-ECMA,
  address =      pub-ECMA:adr,
  edition =      "Third",
  pages =        "xvii + 523",
  month =        jun,
  year =         "2005",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Sat May 14 22:54:18 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf;
                 http://www.ecma-international.org/publications/standards/Ecma-334.htm",
  acknowledgement = ack-nhfb,
  remark =       "Also ISO/IEC 23270.",
}

@Article{Fossum:2005:CFC,
  author =       "T. V. Fossum",
  title =        "Classes as first class objects in an
                 environment-passing interpreter",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "261--265",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067517",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We describe an expression-based programming language
                 that treats classes as first-class objects. We show an
                 implementation of this language using an
                 environment-passing interpreter accessible to students
                 in a programming language class. We also show how to
                 extend this language with properties (as in the C\#
                 programming language).",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Geller:2005:TME,
  author =       "Viktor Geller and Christelle Scharff",
  title =        "Traditional and more ``exotic'' {.NET} languages: {VB
                 .NET}, {J\#}, {C\#} and {SML .NET}",
  journal =      j-SIGCSE,
  volume =       "37",
  number =       "3",
  pages =        "406--406",
  month =        sep,
  year =         "2005",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1151954.1067610",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:19 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "We study the .NET platform, various .NET languages and
                 their interoperability (with an emphasis on C\# and SML
                 .NET), compare C\# and Java 1.5, and develop related
                 educational material to be used in a Programming
                 Paradigms course. Introducing .NET --- one platform
                 supporting different paradigms --- in such a course
                 seems to be a unique experience in Computer Science
                 Education. It may be a motivating factor for students
                 to learn new programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Gunnerson:2005:PIC,
  author =       "Eric Gunnerson and Nick Wienholt and Anders
                 Hejlsberg",
  title =        "A programmer's introduction to {C\#} 2.0",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Third",
  pages =        "xxxvii + 529",
  year =         "2005",
  ISBN =         "1-59059-501-7 (paperback)",
  ISBN-13 =      "978-1-59059-501-5 (paperback)",
  LCCN =         "QA76.73.C153 G86 2005",
  bibdate =      "Mon Jun 26 11:51:16 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01;
                 sirsi.library.utoronto.ca:2200/UNICORN;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources\_\_ID=362636&T=;
                 resource",
  acknowledgement = ack-nhfb,
  remark =       "Digitized and made available by: Books24x7.com.. Title
                 from title screen. 1st and 2nd eds. have title: A
                 programmer's introduction to C\#.",
  subject =      "C\# (Computer program language)",
  tableofcontents = "Ch. 1. Object-oriented basics \\
                 Ch. 2. The .NET runtime environment \\
                 Ch. 3. C\# quick start and C\# development \\
                 Ch. 4. Exception handling \\
                 Ch. 5. Classes 101 \\
                 Ch. 6. Base classes and inheritance \\
                 Ch. 7. Member accessibility and overloading \\
                 Ch. 8. Other class details \\
                 Ch. 9. Structs (value types) \\
                 Ch. 10. Interfaces \\
                 Ch. 11. Versioning and aliases \\
                 Ch. 12. Statements and flow of execution \\
                 Ch. 13. Variable scoping and definite assignment \\
                 Ch. 14. Operators and expressions \\
                 Ch. 15. Conversions \\
                 Ch. 16. Arrays \\
                 Ch. 17. Generics \\
                 Ch. 18. Strings \\
                 Ch. 19. Properties \\
                 Ch. 20. Indexers, enumerators, and iterators \\
                 Ch. 21. Enumerations \\
                 Ch. 22. Attributes \\
                 Ch. 23. Delegates and anonymous methods \\
                 Ch. 24. Events \\
                 Ch. 25. User-defined conversions \\
                 Ch. 26. Operator overloading \\
                 Ch. 27. Nullable types \\
                 Ch. 28. Other language details \\
                 Ch. 29. Making friends with the .NET framework \\
                 Ch. 30. System.array and the collection classes \\
                 Ch. 31. Threading and asynchronous operations \\
                 Ch. 32. Execution-time code generation \\
                 Ch. 33. Interop \\
                 Ch. 34. .NET framework overview \\
                 Ch. 35. Windows forms \\
                 Ch. 36. DiskDiff : more sophistication \\
                 Ch. 37. Practical DiskDiff \\
                 Ch. 38. Deeper into C\# \\
                 Ch. 39. Defensive programming \\
                 Ch. 40. Tips for real-world code \\
                 Ch. 41. The command-line compiler \\
                 Ch. 42. C\# compared to other languages \\
                 Ch. 43. C\# resources and the future",
}

@Book{Huddleston:2005:BCD,
  editor =       "James Huddleston and Ranga Raghuram and Scott Allen
                 and Syed Fahad Gilani and Jacob Hammer Pedersen and Jon
                 Reid",
  title =        "Beginning {C\#} databases: from novice to
                 professional",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiv + 622",
  year =         "2005",
  ISBN =         "1-59059-433-9",
  ISBN-13 =      "978-1-59059-433-9",
  LCCN =         "QA76.73.C154 B445 2005",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5291165",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Object-oriented programming (Computer science);
                 Database management; Microsoft .NET",
}

@Book{ISO:2005:IIIa,
  author =       "{International Organization for Standardization}",
  title =        "{ISO\slash IEC 23271:2003}: Information technology ---
                 Common Language Infrastructure",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "xi + 99 (Part. I), ix + 164 (Part. II), vi + 125
                 (Part. III), iii + 16 (Part. IV), iv + 79 (Part. V)",
  year =         "2005",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Mar 13 18:31:49 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "328 Sfr (print)",
  URL =          "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036769_ISO_IEC_23271_2003(E).zip;
                 http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36769",
  acknowledgement = ack-nhfb,
}

@Book{ISO:2005:IIIb,
  author =       "{International Organization for Standardization}",
  title =        "{ISO\slash IEC TR 23272}: Information technology ---
                 Common Language Infrastructure --- Profiles and
                 Libraries",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  pages =        "6",
  year =         "2005",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon Mar 13 18:31:49 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "328 Sfr (print)",
  URL =          "http://standards.iso.org/ittf/PubliclyAvailableStandards/c036770_ISO_IEC_TR_23272_2003(E).zip;
                 http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36770",
  acknowledgement = ack-nhfb,
}

@Book{Kent:2005:VCD,
  author =       "Jeff Kent",
  title =        "{Visual C\# 2005} Demystified: a Self-Teaching
                 Guide",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxii + 352",
  year =         "2005",
  ISBN =         "0-07-226170-6",
  ISBN-13 =      "978-0-07-226170-7",
  LCCN =         "????",
  bibdate =      "Sat Apr 8 08:42:41 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Book{Liberty:2005:PC,
  author =       "Jesse Liberty",
  title =        "Programming {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fourth",
  pages =        "xx + 644",
  year =         "2005",
  ISBN =         "0-596-00699-3",
  ISBN-13 =      "978-0-596-00699-0",
  LCCN =         "QA76.73.C154 L53 2005",
  bibdate =      "Thu Oct 6 07:22:55 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/( );
                 http://proquest.safaribooksonline.com/0596006993",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Computer programming",
  tableofcontents = "C\# and the .NET framework\\
                 Getting started: ``hello world''\\
                 C\# language fundamentals\\
                 Classes and objects\\
                 Inheritance and polymorphism \\
                 Operator overloading\\
                 Structs\\
                 Interfaces\\
                 Arrays, indexers, and collections\\
                 Strings and regular expressions\\
                 Handling exceptions\\
                 Delegates and events\\
                 Building Windows applications \\
                 Accessing data with ADO.NET\\
                 Programming ASP.NET applications and web services\\
                 Putting it all together\\
                 Assemblies and versioning\\
                 Attributes and reflection\\
                 Marshaling and remoting\\
                 Threads and synchronization\\
                 Streams\\
                 Programming .NET and COM\\
                 Appendix. C\# keywords.",
}

@Book{Liberty:2005:VCD,
  author =       "Jesse Liberty",
  title =        "{Visual C\# 2005}: a developer's notebook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xv + 221",
  year =         "2005",
  ISBN =         "0-596-00799-X (paperback)",
  ISBN-13 =      "978-0-596-00799-7 (paperback)",
  LCCN =         "QA76.73.C154 L435 2005",
  bibdate =      "Mon Jun 26 11:49:10 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01;
                 library.ox.ac.uk:210/ADVANCE;
                 melvyl.cdlib.org:210/CDL90;
                 z3950.bibsys.no:2100/BIBSYS;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://proquest.safaribooksonline.com/059600799X",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{MacDonald:2005:BAN,
  author =       "Matthew MacDonald",
  title =        "Beginning {ASP.NET 1.1} in {C\#}: from novice to
                 professional",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxii + 1017",
  year =         "2005",
  ISBN =         "1-59059-431-2",
  ISBN-13 =      "978-1-59059-431-5",
  LCCN =         "TK5105.8885.A26 M33 2005b",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5459160",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages (ASP); Microsoft .NET; C\#
                 [C-sharp] (Computer programming language); Web sites;
                 Design; Internet programming",
}

@Book{MacDonald:2005:PAN,
  editor =       "Matthew MacDonald",
  title =        "{Pro ASP.NET 1.1 in C\#}: from professional to
                 expert",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  year =         "2005",
  ISBN =         "1-59059-351-0",
  ISBN-13 =      "978-1-59059-351-6",
  LCCN =         "TK5105.8885.A26 P76 2005b; **See",
  bibdate =      "Sat Apr 8 08:36:54 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01",
  URL =          "http://library.books24x7.com/library.asp?B&isbn=1590593510",
  acknowledgement = ack-nhfb,
  subject =      "Active server pages; Microsoft .NET; C\# (Computer
                 program language); Web site development; Internet
                 programming",
  tableofcontents = "Ch. 1. Introducing ASP.NET \\
                 Ch. 2. Internet information services \\
                 Ch. 3. Visual Studio .NET \\
                 Ch. 4. The ASP.NET page \\
                 Ch. 5. ASP.NET controls \\
                 Ch. 6. ASP.NET applications \\
                 Ch. 7. State management \\
                 Ch. 8. ADO.NET fundamentals \\
                 Ch. 9. Disconnected data \\
                 Ch. 10. Data binding \\
                 Ch. 11. Advanced ADO.NET \\
                 Ch. 12. XML \\
                 Ch. 13. Files and streams \\
                 Ch. 14. The ASP.NET security infrastructure \\
                 Ch. 15. Forms authentication \\
                 Ch. 16. Windows authentication \\
                 Ch. 17. Authorization \\
                 Ch. 18. Advanced security \\
                 Ch. 19. User controls \\
                 Ch. 20. Custom server controls \\
                 Ch. 21. Design-time support \\
                 Ch. 22. JavaScript \\
                 Ch. 23. Dynamic graphics with GDI+ \\
                 Ch. 24. Creating Web services \\
                 Ch. 25. Web service standards and extensions \\
                 Ch. 26. Advanced Web services.",
  xxeditor =     "Matthew MacDonald and K. Scott Allen and Robert Lair
                 and others",
}

@Book{Marshall:2005:PMV,
  author =       "Donis Marshall",
  title =        "Programming {Microsoft Visual C\# 2005}: The
                 Language",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "????",
  year =         "2005",
  ISBN =         "0-7356-2181-0",
  ISBN-13 =      "978-0-7356-2181-7",
  LCCN =         "????",
  bibdate =      "Sat Apr 8 08:21:53 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Edited by Valerie Woolley.",
  xxtitle =      "Programming {Microsoft Visual C\# 2005} Core
                 Reference",
}

@Article{McCluskey:2005:WCS,
  author =       "Glen McCluskey",
  title =        "Working with {C\#} Serialization",
  journal =      j-LOGIN,
  volume =       "30",
  number =       "1",
  pages =        "??--??",
  month =        feb,
  year =         "2005",
  CODEN =        "LOGNEM",
  ISSN =         "1044-6397",
  bibdate =      "Tue Apr 11 10:52:48 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.usenix.org/publications/login/2005-02/index.html",
  URL =          "http://www.usenix.org/publications/login/2005-02/pdfs/mccluskey.pdf",
  acknowledgement = ack-nhfb,
  fjournal =     ";login: the USENIX Association newsletter",
}

@Book{Newman:2005:S,
  author =       "Chris Newman",
  title =        "{SQLite}",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xvi + 313",
  year =         "2005",
  ISBN =         "0-672-32685-X (paperback), 0-7686-6366-0 (e-book)",
  ISBN-13 =      "978-0-672-32685-1 (paperback), 978-0-7686-6366-2
                 (e-book)",
  LCCN =         "QA76.73.S67 N488 2005eb",
  bibdate =      "Fri Nov 29 07:00:01 MST 2013",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib",
  series =       "Developer's library",
  URL =          "http://proquest.safaribooksonline.com/067232685X;
                 http://proquestcombo.safaribooksonline.com/067232685X;
                 http://www.contentreserve.com/TitleInfo.asp?ID={5D380338-820F-4EC3-BAA3-668B6BF49170}\%26Format=50;
                 http://www.myilibrary.com?id=108361",
  acknowledgement = ack-nhfb,
  subject =      "SQL (Computer program language); PHP (Computer program
                 language); Relational databases; Database management;
                 COMPUTERS; Programming Languages; C#; Java; Pascal",
  tableofcontents = "I: General SQLite use \\
                 1: Getting started \\
                 2: Working with data \\
                 3: SQLite syntax and use \\
                 4: Query optimization \\
                 II: Using SQLite programming interfaces \\
                 5: PHP interface \\
                 6: C/C++ interface \\
                 7: Perl interface \\
                 8: Tcl interface \\
                 9: Python interface \\
                 III: SQLite administration \\
                 10: General database administration \\
                 IV: Appendixes \\
                 A: Downloading and installing SQLite \\
                 B: Command reference for the sqlite tool \\
                 C: SQL syntax reference \\
                 D: PHP interface reference \\
                 E: C interface reference \\
                 F: Perl interface reference \\
                 G: Tcl interface reference \\
                 H: Python interface reference \\
                 I: future of SQLite",
}

@Book{Pelland:2005:MVC,
  author =       "Patrice Pelland",
  title =        "{Microsoft Visual C\# 2005} Express Edition: build a
                 program now!",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "????",
  year =         "2005",
  ISBN =         "0-7356-2229-9",
  ISBN-13 =      "978-0-7356-2229-6",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 11:42:38 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  xxeditor =     "Sandra Haynes",
}

@Book{Penton:2005:BCG,
  author =       "Ron Penton",
  title =        "Beginning {C\#} game programming",
  publisher =    "Course Technology PTR",
  address =      "Boston, MA, USA",
  pages =        "xix + 318",
  year =         "2005",
  ISBN =         "1-59200-517-9",
  ISBN-13 =      "978-1-59200-517-8",
  LCCN =         "QA76.73.C15 P46 2005eb",
  bibdate =      "Tue Mar 14 09:39:49 MST 2006",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.columbia.edu/cgi-bin/cul/resolve?clio5389454",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] (computer programming language);
                 Programming languages (Electronic computers)",
}

@MastersThesis{Shu:2005:FCD,
  author =       "Ge Shu",
  title =        "{F\#} and {C\#} on the {.NET} platform",
  school =       "Department of Computer Science, University of Wales",
  address =      "Swansea, UK",
  year =         "2005",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  subject =      "{C\#} (computer program language); F\# (computer
                 program language); Microsoft .NET Framework",
}

@Article{Stark:2005:FSV,
  author =       "Robert F. St{\"a}rk",
  title =        "Formal specification and verification of the {C\#}
                 thread model",
  journal =      j-THEOR-COMP-SCI,
  volume =       "343",
  number =       "3",
  pages =        "482--508",
  day =          "17",
  month =        oct,
  year =         "2005",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Tue Mar 29 06:48:50 MDT 2011",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  abstract =     "We present a high-level Abstract State Machine (ASM)
                 model of C\# threads and the .NET memory model. We
                 focus on purely managed, fully portable threading
                 features of C\#. The sequential model interleaves the
                 computation steps of the currently running threads and
                 is suitable for uniprocessors. The parallel model
                 addresses problems of true concurrency on
                 multi-processor systems. The models provide a sound
                 basis for the development of multi-threaded
                 applications in C\#. The thread and memory models
                 complete the abstract operational semantics of C\# in
                 [B{\"o}rger et al. Theoret. Comput. Sci., to appear].
                 The main invariants of the thread model concerning
                 locks, monitors and mutual exclusion are formally
                 verified in the AsmTP system, an interactive proof
                 assistant based on ASM logic.",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Book{Subramaniam:2005:NGW,
  author =       "Venkat Subramaniam",
  title =        "{.NET} gotchas: 75 ways to improve your {C\#} and
                 {VB.NET} programs",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xviii + 372",
  year =         "2005",
  ISBN =         "0-596-00909-7",
  ISBN-13 =      "978-0-596-00909-0",
  LCCN =         "QA76.625 .S93 2005",
  bibdate =      "Thu Oct 6 07:24:00 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual BASIC; Microsoft .NET Framework; C\#
                 [C-sharp] (computer programming language)",
}

@Book{Troelsen:2005:PCN,
  author =       "Andrew W. Troelsen",
  title =        "Pro {C\# 2005} and the {.NET 2.0} platform",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Third",
  pages =        "xlv + 982",
  year =         "2005",
  ISBN =         "1-59059-419-3",
  ISBN-13 =      "978-1-59059-419-3",
  LCCN =         "QA76.73.C153 T764 2005",
  bibdate =      "Sat Apr 8 09:29:16 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Previous ed. has title: C\# and the .NET platform.",
  subject =      "C\# (Computer program language); Microsoft .NET;
                 Internet programming",
  tableofcontents = "* Introduction to the .NET platform \\
                 * Common Language Runtime (CLR) \\
                 * The Common Type Specification (CTS) \\
                 * The Common Language Specifications (CLS) \\
                 * Assemblies \\
                 * Basics of C\# classes \\
                 * Constructors \\
                 * Flow control and iteration \\
                 * Arrays and strings \\
                 * Boxing and unboxing \\
                 * Object-oriented programming in C\# (encapsulation,
                 inheritance, and polymorphism explained) \\
                 * Exception handling \\
                 * Garbage collection \\
                 * Implementing the ICloneable and IComparable
                 interfaces \\
                 * Introduction to .NET collections (including custom
                 collections) \\
                 * Custom indexers, delegates, and events explained \\
                 * XML-based documentation \\
                 * In-depth guide to .NET assemblies (including shared
                 assemblies) \\
                 * Versioning techniques for side-by-side deployment \\
                 * Multithreading and synchronization \\
                 * Type reflection and attributes \\
                 * Windows Forms tutorial (design options, survey of
                 components, menus and other UI widgets) \\
                 * Programming the Windows registry \\
                 * GDI+ graphics tutorial (including fonts, brushes,
                 images, and using .NET resources) \\
                 * Input and output (directories, files, and streams)
                 \\
                 * COM, COM+, and .NET interoperability \\
                 * Tutorial to ADO.NET for database programming
                 (including DataSets and XML basics) \\
                 * Introduction to ASP and ASP.NET programming for Web
                 development \\
                 * Web services basics (including SOAP, WSDL, and the
                 Discovery Service Protocol, DISCO)",
}

@Book{Wagner:2005:ECS,
  author =       "Bill Wagner",
  title =        "Effective {C\#}: 50 specific ways to improve your
                 {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xviii + 307",
  year =         "2005",
  ISBN =         "0-321-24566-0",
  ISBN-13 =      "978-0-321-24566-3",
  LCCN =         "QA76.73.C154 W343 2005",
  bibdate =      "Sun Apr 9 14:33:03 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Effective software development series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Database management;
                 Microsoft .NET",
}

@Book{Watson:2005:BVC,
  editor =       "Karli Watson and others",
  title =        "Beginning {Visual C\# 2005}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2005",
  ISBN =         "(paper/website), 0-7645-7847-2 (paper/website)",
  ISBN-13 =      "978-0-7645-7847-2",
  LCCN =         "QA76.73.C154 B483 2005",
  bibdate =      "Mon Jun 26 11:41:58 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0622/2005010692-d.html;
                 http://www.loc.gov/catdir/toc/ecip0511/2005010692.html",
  acknowledgement = ack-nhfb,
  remark =       "Updated ed. of: Beginning Visual C\#. 2003",
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Article{Willcock:2005:UMC,
  author =       "Jeremiah Willcock and Andrew Lumsdaine and Arch
                 Robison",
  title =        "Using {MPI} with {C\#} and the {Common Language
                 Infrastructure}",
  journal =      j-CCPE,
  volume =       "17",
  number =       "7--8",
  pages =        "895--917",
  month =        jun # "\slash " # jul,
  year =         "2005",
  CODEN =        "CCPEBO",
  DOI =          "https://doi.org/10.1002/cpe.861",
  ISSN =         "1532-0626 (print), 1532-0634 (electronic)",
  ISSN-L =       "1532-0626",
  bibdate =      "Sat May 14 11:30:57 MDT 2005",
  bibsource =    "http://www.interscience.wiley.com/jpages/1532-0626;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www3.interscience.wiley.com/journalfinder.html",
  acknowledgement = ack-nhfb,
  fjournal =     "Concurrency and Computation: Prac\-tice and
                 Experience",
  journal-URL =  "http://www.interscience.wiley.com/jpages/1532-0626",
  onlinedate =   "23 Feb 2005",
}

@Book{Bakharia:2006:MVC,
  author =       "Aneesha Bakharia",
  title =        "{Microsoft Visual C\# 2005} Express Edition:
                 programming for the absolute beginner",
  publisher =    "Thomson Course Technology PTR",
  address =      "Boston, MA, USA",
  pages =        "xix + 259",
  year =         "2006",
  ISBN =         "1-59200-818-6 (paperback)",
  ISBN-13 =      "978-1-59200-818-6 (paperback)",
  LCCN =         "QA76.73.C154 B35 2006",
  bibdate =      "Mon Jun 26 11:51:44 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01;
                 library.ox.ac.uk:210/ADVANCE;
                 sirsi.library.utoronto.ca:2200/UNICORN",
  series =       "For the absolute beginner",
  URL =          "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources\_\_ID=370659&T=;
                 resource",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft Visual C\# .NET; C\# (Computer program
                 language); Visual programming languages (Computer
                 science)",
  tableofcontents = "Ch. 1. Getting started with Visual C\# Express \\
                 Ch. 2. C\# basics \\
                 Ch. 3. Controlling code flow \\
                 Ch. 4. Designing a user interface \\
                 Ch. 5. Strings, random numbers, and arrays \\
                 Ch. 6. Drawing graphics and building games \\
                 Ch. 7. Designing advanced Windows forms and
                 applications \\
                 Ch. 8. Object-oriented programming for the absolute
                 beginner \\
                 Ch. 9. Working with databases \\
                 Ch. 10. Error handling and debugging \\
                 Ch. 11. Reading and writing files",
}

@Book{Baldwin:2006:ECS,
  author =       "Kenneth Baldwin and Andrew Gray and Trevor Misfeldt",
  title =        "The elements of {C\#} style",
  publisher =    pub-CAMBRIDGE,
  address =      pub-CAMBRIDGE:adr,
  pages =        "x + 146",
  year =         "2006",
  ISBN =         "0-521-67159-0 (paperback)",
  ISBN-13 =      "978-0-521-67159-0 (paperback)",
  LCCN =         "QA76.73.C154 B36 2006",
  bibdate =      "Mon Oct 6 18:00:17 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0633/2006008307-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0642/2006008307-t.html;
                 http://www.loc.gov/catdir/enhancements/fy0732/2006008307-b.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Balena:2006:PMV,
  author =       "Francesco Balena",
  title =        "Programming {Microsoft Visual C\# 2005}: The Base
                 Class Library",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  pages =        "????",
  year =         "2006",
  ISBN =         "0-7356-2308-2",
  ISBN-13 =      "978-0-7356-2308-8",
  LCCN =         "????",
  bibdate =      "Sat Apr 8 08:24:01 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Edited by Kathleen Atkins.",
}

@Book{Balzert:2006:CEP,
  author =       "Helmut Balzert and Michael Ricken and Thomas Erler",
  title =        "{CSharp 2 --- der Einstieg in die Programmierung:
                 strukturiert und prozedural programmieren}. ({German}).
                 [{CSharp 2} --- the entrance into programming:
                 structured and procedural programming",
  publisher =    "W3L-Verlag",
  address =      "Herdecke, Germany",
  year =         "2006",
  ISBN =         "3-937137-18-1",
  ISBN-13 =      "978-3-937137-18-6",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Book{Balzert:2006:COP,
  author =       "Helmut Balzert and Michael Ricken and Thomas Erler",
  title =        "{CSharp 2 --- objektorientiert programmieren: vom
                 objektorientierten Analysemodell bis zum
                 objektorientierten Programm}. ({German}) [{CSharp 2} --
                 object-oriented programming: from object-oriented
                 analysis models to object-oriented programs",
  publisher =    "W3L-Verlag",
  address =      "Herdecke, Germany",
  year =         "2006",
  ISBN =         "3-937137-19-X",
  ISBN-13 =      "978-3-937137-19-3",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Book{Barker:2006:VCE,
  author =       "F. Scott Barker",
  title =        "{Visual C\#} 2005 Express Edition Starter Kit",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "336 (est.)",
  year =         "2006",
  ISBN =         "0-7645-8955-5",
  ISBN-13 =      "978-0-7645-8955-3",
  LCCN =         "????",
  bibdate =      "Sun Apr 09 15:24:45 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
}

@TechReport{Beebe:2006:BPAa,
  author =       "Nelson H. F. Beebe",
  title =        "A Bibliography of Publications about the {C\#}
                 Programming Language",
  institution =  inst-UTAH-MATH,
  address =      inst-UTAH-MATH:adr,
  pages =        "19",
  day =          "15",
  month =        mar,
  year =         "2006",
  bibdate =      "Wed Mar 15 15:09:41 2006",
  bibsource =    "ftp://ftp.math.utah.edu/pub/bibnet/authors/b/beebe-nelson-h-f.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "https://www.math.utah.edu/pub/tex/bib/index-table-c.html#csharp",
  acknowledgement = ack-nhfb,
}

@Book{Braden:2006:UMC,
  author =       "Richard P. Braden",
  title =        "Unlocking {Microsoft C\# v2.0} programming secrets",
  publisher =    pub-WORDWARE,
  address =      pub-WORDWARE:adr,
  pages =        "xx + 375",
  year =         "2006",
  ISBN =         "1-55622-097-9 (paperback)",
  ISBN-13 =      "978-1-55622-097-5 (paperback)",
  LCCN =         "QA76.65 B73 2006",
  bibdate =      "Mon Jun 26 11:45:30 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip055/2004030069.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Compilers (Computer
                 programs)",
}

@Article{Chilimbi:2006:CCC,
  author =       "Trishul M. Chilimbi and Ran Shaham",
  title =        "Cache-conscious coallocation of hot data streams",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "6",
  pages =        "252--262",
  month =        jun,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1133255.1134011",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:42:48 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "The memory system performance of many programs can be
                 improved by coallocating contemporaneously accessed
                 heap objects in the same cache block. We present a
                 novel profile-based analysis for producing such a
                 layout. The analysis achieves cache-conscious
                 coallocation of a hot data stream H (i.e., a regular
                 data access pattern that frequently repeats) by
                 isolating and combining allocation sites of object
                 instances that appear in H such that intervening
                 allocations coming from other sites are separated. The
                 coallocation solution produced by the analysis is
                 enforced by an automatic tool, cminstr, that redirects
                 a program's heap allocations to a run-time coallocation
                 library comalloc. We also extend the analysis to
                 coallocation at object field granularity. The resulting
                 field coallocation solution generalizes common data
                 restructuring techniques, such as field reordering,
                 object splitting, and object merging, and allows their
                 combination. Furthermore, it provides insight into
                 object restructuring by breaking down the coallocation
                 benefit on a per-technique basis, which provides the
                 opportunity to pick the 'sweet spot' for each program.
                 Experimental results using a set of
                 memory-performance-limited benchmarks, including a few
                 SPECInt2000 programs, and Microsoft VisualFoxPro,
                 indicate that programs possess significant coallocation
                 opportunities. Automatic object coallocation improves
                 execution time by 13\% on average in the presence of
                 hardware prefetching. Hand-implemented field
                 coallocation solutions for two of the benchmarks
                 produced additional improvements (12\% and 22\%) but
                 the effort involved suggests implementing an automated
                 version for type-safe languages, such as Java and
                 C\#.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "cache optimization; data locality; data profiling;
                 dynamic allocation; hot data streams; memory layout",
}

@Article{Clifton:2006:MDR,
  author =       "Curtis Clifton and Todd Millstein and Gary T. Leavens
                 and Craig Chambers",
  title =        "{MultiJava}: {Design} rationale, compiler
                 implementation, and applications",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "3",
  pages =        "517--575",
  month =        may,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1133651.1133655",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue May 30 16:33:23 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "MultiJava is a conservative extension of the Java
                 programming language that adds symmetric multiple
                 dispatch and open classes. Among other benefits,
                 multiple dispatch provides a solution to the binary
                 method problem. Open classes provide a solution to the
                 extensibility problem of object-oriented programming
                 languages, allowing the modular addition of both new
                 types and new operations to an existing type hierarchy.
                 This article illustrates and motivates the design of
                 MultiJava and describes its modular static typechecking
                 and modular compilation strategies. Although MultiJava
                 extends Java, the key ideas of the language design are
                 applicable to other object-oriented languages, such as
                 C\# and C++, and even, with some modifications, to
                 functional languages such as ML. This article also
                 discusses the variety of application domains in which
                 MultiJava has been successfully used by others,
                 including pervasive computing, graphical user
                 interfaces, and compilers. MultiJava allows users to
                 express desired programming idioms in a way that is
                 declarative and supports static typechecking, in
                 contrast to the tedious and type-unsafe workarounds
                 required in Java. MultiJava also provides opportunities
                 for new kinds of extensibility that are not easily
                 available in Java.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Davis:2006:CD,
  author =       "Stephen R. Davis and Chuck Sphar",
  title =        "{C\# 2005} for dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xviii + 406",
  year =         "2006",
  ISBN =         "0-7645-9704-3 (paperback)",
  ISBN-13 =      "978-0-7645-9704-6 (paperback)",
  LCCN =         "06.E03130; QA76.73.C154 DAV; QA76.73.C154 D34 2006;
                 CD06.S00117",
  bibdate =      "Mon Jun 26 11:47:13 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.ox.ac.uk:210/ADVANCE",
  note =         "Includes CD-ROM.",
  series =       "For dummies",
  acknowledgement = ack-nhfb,
  remark =       "System requirements for accompanying CD-ROM: PC with
                 600MHz Pentium or faster processor (1 GHz recommended);
                 Microsoft Windows XP, Service Pack 2 (Home or
                 Professional); Windows 2000, Service Pack 4, or Windows
                 2003 Server; at least 128 MB of total RAM installed
                 (for best performance, at least 256 MB recommended); at
                 least 1 MB of hard drive space without installing MSDN
                 documentation to hard drive, about 2 MB of hard drive
                 space if documentation is installed, plus about 2 MB if
                 book's example programs are installed; CD-ROM drive;
                 monitor capable of displaying at least 256 colors at
                 800 x 600 screen resolution or better.",
  subject =      "C\# (Computer program language)",
}

@Book{Deitel:2006:CP,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "{C\#} for programmers",
  publisher =    pub-PEARSON-PH,
  address =      pub-PEARSON-PH:adr,
  edition =      "Second",
  pages =        "xxxvii + 1317",
  year =         "2006",
  ISBN =         "0-13-134591-5",
  ISBN-13 =      "978-0-13-134591-1",
  LCCN =         "QA76.73.C154 D455 2006",
  bibdate =      "Sat Apr 8 08:29:53 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "Deitel developer series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Deitel:2006:VCH,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "{Visual C\#}: how to program",
  publisher =    pub-PEARSON-PH,
  address =      pub-PEARSON-PH:adr,
  edition =      "Second",
  pages =        "xxxviii + 1591",
  year =         "2006",
  ISBN =         "0-13-152523-9",
  ISBN-13 =      "978-0-13-152523-8",
  LCCN =         "QA76.73.C154 D46 2006",
  bibdate =      "Sat Apr 8 08:32:41 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Drossopoulou:2006:FMD,
  author =       "Sophia Drossopoulou and Giovanni Lagorio and Susan
                 Eisenbach",
  title =        "A flexible model for dynamic linking in {Java} and
                 {C\#}",
  journal =      j-THEOR-COMP-SCI,
  volume =       "368",
  number =       "1--2",
  pages =        "1--29",
  day =          "5",
  month =        dec,
  year =         "2006",
  CODEN =        "TCSCDI",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Tue Mar 29 08:55:29 MDT 2011",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.sciencedirect.com/science/journal/03043975",
  abstract =     "Dynamic linking supports flexible code deployment,
                 allowing partially linked code to link further code on
                 the fly, as needed. Thus, end-users enjoy the advantage
                 of automatically receiving any updates, without any
                 need for any explicit actions on their side, such as
                 re-compilation, or re-linking. On the down side, two
                 executions of a program may link in different versions
                 of code, which in some cases causes subtle errors, and
                 may mystify end-users.\par

                 Dynamic linking in Java and C\# are similar: the same
                 linking phases are involved, soundness is based on
                 similar ideas, and executions which do not throw
                 linking errors give the same result. They are, however,
                 not identical: the linking phases are combined
                 differently, and take place in different order.
                 Consequently, linking errors may be detected at
                 different times by Java and C\# runtime systems.\par

                 We develop a non-deterministic model, which describes
                 the behaviour of both Java and C\# program executions.
                 The non-determinism allows us to describe the design
                 space, to distill the similarities between the two
                 languages, and to use one proof of soundness for both.
                 We also prove that all execution strategies are
                 equivalent with respect to terminating executions that
                 do not throw link errors: they give the same results.",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@Book{ECMA-334-4,
  author =       "{ECMA}",
  title =        "{ECMA-334}: {C\#} Language Specification",
  publisher =    pub-ECMA,
  address =      pub-ECMA:adr,
  edition =      "Fourth",
  pages =        "xix + 531",
  month =        jun,
  year =         "2006",
  bibdate =      "Sat May 14 22:54:18 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.ecma-international.org/publications/files/ecma-st/ECMA-334.pdf;
                 http://www.ecma-international.org/publications/standards/Ecma-334.htm",
  acknowledgement = ack-nhfb,
  remark =       "Also ISO/IEC 23270.",
  xxISBN =       "????",
  xxLCCN =       "????",
}

@Book{Fahnenstich:2006:REP,
  author =       "Klaus Fahnenstich and Rainer G.. Haselier",
  title =        "{Richtig einsteigen: programmieren lernen mit Visual
                 C\# 2005}",
  publisher =    "Microsoft Press",
  address =      "Unterschleicheim, Germany",
  pages =        "384",
  year =         "2006",
  ISBN =         "3-86645-201-2",
  ISBN-13 =      "978-3-86645-201-5",
  LCCN =         "????",
  bibdate =      "Mon Oct 6 18:11:46 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 24.90",
  series =       "Richtig einsteigen \ldots{}",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "Visual C sharp 2005 Express Edition",
}

@Book{Foxall:2006:STY,
  author =       "James Foxall",
  title =        "{Sams} teach yourself {Visual C\# 2005} in 24 hours:
                 complete starter kit",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "????",
  year =         "2006",
  ISBN =         "0-672-32740-6",
  ISBN-13 =      "978-0-672-32740-7",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 10:58:00 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  xxeditor =     "Neil Rowe and Mark Renfrow and Andy Beaster",
}

@Book{Hejlsberg:2006:CPL,
  author =       "Anders Hejlsberg and Scott Wiltamuth and Peter Golde",
  title =        "The {C\#} programming language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xiv + 704",
  year =         "2006",
  ISBN =         "0-321-33443-4 (hardback)",
  ISBN-13 =      "978-0-321-33443-5 (hardback)",
  LCCN =         "QA76.73.C154 H45 2006",
  bibdate =      "Mon Jun 26 10:49:42 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0613/2006015047.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
  tableofcontents = "Preface \\
                 C\#1.0 \\
                 Introduction \\
                 Lexical structure \\
                 Basic concepts \\
                 Types \\
                 Variables \\
                 Conversions \\
                 Expressions \\
                 Statements \\
                 Namespaces \\
                 Classes \\
                 Structs \\
                 Arrays \\
                 Interfaces \\
                 Enums \\
                 Delegates \\
                 Exceptions \\
                 Attributes \\
                 Unsafe code \\
                 C\# 2.0 \\
                 Introduction to C\# 2.0 \\
                 Generics \\
                 Anonymous methods \\
                 Iterators \\
                 Partial types \\
                 Nullable types \\
                 Other features \\
                 Appendixes \\
                 Appendix A: documentation comments \\
                 Appendix B: grammar \\
                 Index",
}

@Article{Hertz:2006:GOL,
  author =       "Matthew Hertz and Stephen M. Blackburn and J. Eliot B.
                 Moss and Kathryn S. McKinley and Darko Stefanovi{\'c}",
  title =        "Generating object lifetime traces with {Merlin}",
  journal =      j-TOPLAS,
  volume =       "28",
  number =       "3",
  pages =        "476--516",
  month =        may,
  year =         "2006",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1133651.1133654",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue May 30 16:33:23 MDT 2006",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Programmers are writing a rapidly growing number of
                 programs in object-oriented languages, such as Java and
                 C\#, that require garbage collection. Garbage
                 collection traces and simulation speed up research by
                 enabling deeper understandings of object lifetime
                 behavior and quick exploration and design of new
                 garbage collection algorithms. When generating perfect
                 traces, the brute-force method of computing object
                 lifetimes requires a whole-heap garbage collection at
                 every potential collection point in the program.
                 Because this process is prohibitively expensive,
                 researchers often use granulated traces by collecting
                 only periodically, for example, every 32 KB of
                 allocation. We extend the state of the art for
                 simulating garbage collection algorithms in two ways.
                 First, we develop a systematic methodology for
                 simulation studies of copying garbage collection and
                 present results showing the effects of trace
                 granularity on these simulations. We show that trace
                 granularity often distorts simulated garbage collection
                 results compared with perfect traces. Second, we
                 present and measure the performance of a new algorithm
                 called Merlin for computing object lifetimes. Merlin
                 timestamps objects and later uses the timestamps of
                 dead objects to reconstruct when they died. The Merlin
                 algorithm piggybacks on garbage collections performed
                 by the base system. Experimental results show that
                 Merlin can generate traces over two orders of magnitude
                 faster than the brute-force method which collects after
                 every object allocation. We also use Merlin to produce
                 visualizations of heap behavior that expose new object
                 lifetime behaviors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Book{Hilyard:2006:CC,
  author =       "Jay Hilyard and Stephen Teilhet",
  title =        "{C\#} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xxviii + 1154",
  year =         "2006",
  ISBN =         "0-596-10063-9",
  ISBN-13 =      "978-0-596-00339-5",
  LCCN =         "QA76.73.C154 T43 2004",
  bibdate =      "Mon Apr 18 15:05:19 MDT 2005",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "The definitive collection of solutions and examples.",
  subject =      "C\# [C-sharp] (computer programming language)",
}

@Book{Hoffman:2006:MVC,
  author =       "Kevin Hoffman",
  title =        "{Microsoft Visual C\# 2005} unleashed",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xix + 692",
  year =         "2006",
  ISBN =         "0-672-32776-7 (paperback)",
  ISBN-13 =      "978-0-672-32776-6 (paperback)",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 11:47:29 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.ox.ac.uk:210/ADVANCE",
  acknowledgement = ack-nhfb,
  remark =       ". Includes code for 45-day access to online edition.",
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Book{Hummel:2006:LFD,
  author =       "Joe Hummel",
  title =        "{LINQ}, the future of data access in {C\# 3.0}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "64",
  year =         "2006",
  ISBN =         "0-596-52841-8",
  ISBN-13 =      "978-0-596-52841-6",
  LCCN =         "QA76.73.C154; QA76.73.C154 H86 2006eb",
  bibdate =      "Tue Aug 5 18:10:11 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596528416",
  acknowledgement = ack-nhfb,
  subject =      "C{\"A} (Computer program language); Query languages
                 (Computer science)",
}

@Book{ISO:2006:IIIb,
  author =       "{International Organization for Standardization}",
  key =          "C\#",
  title =        "{ISO\slash IEC 23270:2006}: Information technology ---
                 Programming languages --- {C\#}",
  publisher =    pub-ISO,
  address =      pub-ISO:adr,
  year =         "2006",
  bibdate =      "Thu Nov 25 08:48:27 2010",
  bibsource =    "http://www.iso.org/iso/search.htm;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  series =       "Technical report",
  URL =          "http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=42926",
  acknowledgement = ack-nhfb,
  subject =      "programming languages (electronic computers)",
  xxauthor =     "{ISO}",
  xxLCCN =       "????",
}

@Book{Jones:2006:VCR,
  author =       "Allen Jones and Matthew MacDonald",
  title =        "{Visual C\# 2005} Recipes: a Problem-Solution
                 Approach",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxi + 565",
  year =         "2006",
  ISBN =         "1-59059-589-0",
  ISBN-13 =      "978-1-59059-589-3",
  LCCN =         "????",
  bibdate =      "Sun Apr 09 15:09:45 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
}

@Article{Kaiser:2006:CJC,
  author =       "Claude Kaiser and Jean-Fran{\c{c}}ois Pradat-Peyre and
                 Sami {\'E}vangelista and Pierre Rousseau",
  title =        "Comparing {Java}, {C\#} and {Ada} monitors queuing
                 policies: a case study and its {Ada} refinement",
  journal =      j-SIGADA-LETTERS,
  volume =       "26",
  number =       "2",
  pages =        "23--37",
  month =        aug,
  year =         "2006",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1165678.1165681",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Tue Jun 17 09:16:14 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Learning concurrency paradigms is necessary but it is
                 not sufficient since the choice of run-time semantics
                 may introduce subtle programming errors. It is the aim
                 of this paper to exemplify the importance of process
                 queuing and awaking policies resulting from possible
                 choices of the monitor concept implementation.The first
                 part of the paper compares the behaviour of concurrent
                 processes sharing a unique waiting queue for condition
                 synchronization when implemented in Java or in Ada. A
                 particular solution of the dining philosophers paradigm
                 will be used to show how the difference in the monitor
                 semantics may lead or not to deadlock. This comparison
                 provides insight for deriving a correct Java
                 implementation. The second part of the paper shows how
                 the implementation can be refined when using Ada entry
                 families and requeue with requeue once restriction. The
                 result is elegant, safe and fair, and deterministic.
                 This paper ends with quantitative comparisons of
                 concurrency complexity and of concurrency
                 effectiveness.We conclude that Java and C\#
                 multithreading need defensive concurrent programming
                 while Ada allows more latitude for developing correct
                 concurrent programs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAda Ada Letters",
}

@Book{Lewis:2006:CSS,
  author =       "John Lewis",
  title =        "{C\#} software solutions: foundations of program
                 design",
  publisher =    "Pearson/Addison-Wesley",
  address =      "Boston, MA, USA",
  pages =        "xxi + 712",
  year =         "2006",
  ISBN =         "0-321-26716-8, 0-321-41720-8 (International ed.)",
  ISBN-13 =      "978-0-321-26716-0, 978-0-321-41720-6 (International
                 ed.)",
  LCCN =         "QA76.73.C154 L38 2006",
  bibdate =      "Mon Jun 26 11:47:17 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.ox.ac.uk:210/ADVANCE;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip064/2005035820.html",
  acknowledgement = ack-nhfb,
  remark =       "One computer disc inside back cover",
  subject =      "C\# (Computer program language); Computer software;
                 Development",
}

@Book{Lhotka:2006:ECB,
  author =       "Rockford Lhotka",
  title =        "{Expert C\# 2005} Business Objects",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Second",
  pages =        "696 (est.)",
  year =         "2006",
  ISBN =         "1-59059-632-3",
  ISBN-13 =      "978-1-59059-632-6",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 11:33:48 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$59.99",
  URL =          "http://www.apress.com/book/bookDisplay.html?bID=10091",
  acknowledgement = ack-nhfb,
}

@Book{Liberty:2006:LC,
  author =       "Jesse Liberty and Brian MacDonald",
  title =        "Learning {C\#} 2005: Get Started with {C\#} 2005 and
                 {.NET} Programming",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "544 (est.)",
  year =         "2006",
  ISBN =         "1-59059-589-0, 0-596-10209-7",
  ISBN-13 =      "978-1-59059-589-3, 978-0-596-10209-8",
  LCCN =         "????",
  bibdate =      "Sun Apr 09 15:13:29 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
}

@Article{Liu:2006:II,
  author =       "Jed Liu and Aaron Kimball and Andrew C. Myers",
  title =        "Interruptible iterators",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "283--294",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111063",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This paper introduces interruptible iterators, a
                 language feature that makes expressive iteration
                 abstractions much easier to implement. Iteration
                 abstractions are valuable for software design, as shown
                 by their frequent use in well-designed data structure
                 libraries such as the Java Collections Framework. While
                 Java iterators support iteration abstraction well from
                 the standpoint of client code, they are awkward to
                 implement correctly and efficiently, especially if the
                 iterator needs to support imperative update of the
                 underlying collection, such as removing the current
                 element. Some languages, such as CLU and C\# 2.0,
                 support iteration through a limited coroutine
                 mechanism, but these mechanisms do not support
                 imperative updates. Interruptible iterators are more
                 powerful coroutines in which the loop body is able to
                 interrupt the iterator with requests to perform
                 updates. Interrupts are similar to exceptions, but
                 propagate differently and have resumption semantics.
                 Interruptible iterators have been implemented as part
                 of the JMatch programming language, an extended version
                 of Java. A JMatch reimplementation of the Java
                 Collections Framework shows that implementations can be
                 made substantially shorter and simpler; performance
                 results show that this language mechanism can also be
                 implemented efficiently.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "coroutine; exception; Java; JMatch; logic
                 programming",
}

@Book{Matthew:2006:PNW,
  author =       "Matthew MacDonald",
  title =        "{Pro.NET 2.0 Windows} forms and custom controls in
                 {C\#}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxxix + 1037",
  year =         "2006",
  ISBN =         "1-59059-439-8",
  ISBN-13 =      "978-1-59059-439-1",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 17:26:53 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 zeus.statsbiblioteket.dk:210/Horizon",
  acknowledgement = ack-nhfb,
}

@Article{Menon:2006:VSP,
  author =       "Vijay S. Menon and Neal Glew and Brian R. Murphy and
                 Andrew McCreight and Tatiana Shpeisman and Ali-Reza
                 Adl-Tabatabai and Leaf Petersen",
  title =        "A verifiable {SSA} program representation for
                 aggressive compiler optimization",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "397--408",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111072",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "We present a verifiable low-level program
                 representation to embed, propagate, and preserve safety
                 information in high performance compilers for safe
                 languages such as Java and C\#. Our representation
                 precisely encodes safety information via static
                 single-assignment (SSA) [11, 3] proof variables that
                 are first-class constructs in the program. We argue
                 that our representation allows a compiler to both (1)
                 express aggressively optimized machine-independent code
                 and (2) leverage existing compiler infrastructure to
                 preserve safety information during optimization. We
                 demonstrate that this approach supports standard
                 compiler optimizations, requires minimal changes to the
                 implementation of those optimizations, and does not
                 artificially impede those optimizations to preserve
                 safety. We also describe a simple type system that
                 formalizes type safety in an SSA-style control-flow
                 graph program representation. Through the types of
                 proof variables, our system enables compositional
                 verification of memory safety in optimized code.
                 Finally, we discuss experiences integrating this
                 representation into the machine-independent global
                 optimizer of STARJIT, a high-performance just-in-time
                 compiler that performs aggressive control-flow,
                 data-flow, and algebraic optimizations and is
                 competitive with top production systems.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "check elimination; intermediate representations; proof
                 variables; safety dependences; SSA formalization; type
                 systems; typeability preservation; typed intermediate
                 languages",
}

@Book{Mossenbock:2006:SCK,
  author =       "Hanspeter M{\"o}ssenb{\"o}ck",
  title =        "{Softwareentwicklung mit C\# 2.0: ein kompakter
                 Lehrgang}",
  publisher =    pub-DPUNKT-VERLAG,
  address =      pub-DPUNKT-VERLAG:adr,
  edition =      "Second",
  pages =        "xiii + 272",
  year =         "2006",
  ISBN =         "3-89864-406-5",
  ISBN-13 =      "978-3-89864-406-8",
  LCCN =         "????",
  bibdate =      "Mon Oct 6 18:11:34 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 29.00",
  series =       "dpunkt.lehrbuch",
  URL =          "http://deposit.ddb.de/cgi-bin/dokserv?id=2791467&prov=M&dok_var=1&dok_ext=htm;
                 http://www.gbv.de/dms/ilmenau/toc/508849624moess.PDF",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "C sharp 2.0",
}

@Book{Murach:2006:MC,
  author =       "Joel Murach",
  title =        "{Murach}'s {C\# 2005}",
  publisher =    "Mike Murach and Associates",
  address =      "Fresno, CA, USA",
  pages =        "812 (est.)",
  year =         "2006",
  ISBN =         "1-890774-37-5",
  ISBN-13 =      "978-1-890774-37-0",
  LCCN =         "????",
  bibdate =      "Mon Jun 26 17:51:31 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$52.50",
  URL =          "http://www.murach.com/books/csh5/index.htm",
  acknowledgement = ack-nhfb,
}

@Book{Nagel:2006:PC,
  editor =       "Christian Nagel and Bill Evjen and Jay Glynn and Karli
                 Watson and Morgan Skinner and Allen Jones",
  title =        "Professional {C\#} 2005",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xlvi + 1540",
  year =         "2006",
  ISBN =         "0-7645-7534-1",
  ISBN-13 =      "978-0-7645-7534-1",
  LCCN =         "QA76.73.C154 P82 2005",
  bibdate =      "Tue Mar 14 08:32:38 MST 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  URL =          "http://www.wiley.com/WileyCDA/WileyTitle/productCd-0764575341.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# [C-sharp] computer programs",
}

@Book{Nilsson:2006:ADD,
  author =       "Jimmy Nilsson",
  title =        "Applying domain-driven design and patterns with
                 examples in {C\#} and {.NET}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "????",
  year =         "2006",
  ISBN =         "0-321-26820-2",
  ISBN-13 =      "978-0-321-26820-4",
  LCCN =         "QA76.76.D47 N645 2006",
  bibdate =      "Mon Jun 26 11:41:39 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip068/2006004371.html",
  acknowledgement = ack-nhfb,
  subject =      "Computer software; Development; C\# (Computer program
                 language); Microsoft .NET",
}

@Book{Pelland:2006:MVC,
  author =       "Patrice Pelland",
  title =        "{Microsoft Visual C\# 2005}: express edition",
  publisher =    "Academic Service",
  address =      "Den Haag, The Netherlands",
  pages =        "xiii + 178",
  year =         "2006",
  ISBN =         "90-395-2439-4",
  ISBN-13 =      "978-90-395-2439-8",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "Dutch",
}

@Book{Pelland:2006:PJM,
  author =       "Patrice Pelland",
  title =        "{Programmieren Sie jetzt! --- Microsoft Visual {C\#}
                 2005 Express Edition}",
  publisher =    "Microsoft Press",
  address =      "Unterschleicheim, Germany",
  pages =        "xi + 211",
  year =         "2006",
  ISBN =         "3-86063-569-7",
  ISBN-13 =      "978-3-86063-569-8",
  LCCN =         "????",
  bibdate =      "Mon Oct 6 18:11:23 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 19.90 (DE)",
  series =       "Programmieren Sie jetzt!",
  URL =          "http://deposit.ddb.de/cgi-bin/dokserv?id=2669514&prov=M&dok_var=1&dok_ext=htm",
  acknowledgement = ack-nhfb,
  language =     "German",
  remark =       "CD-ROM-Beil. u.d.T.: Microsoft Visual C\# 2005 Express
                 Edition.",
  subject =      "Visual C sharp 2005 Express Edition",
}

@Book{Perry:2006:CCN,
  author =       "Stephen C. Perry",
  title =        "Core {C\#} and {.NET}",
  publisher =    pub-PHPTR,
  address =      pub-PHPTR:adr,
  pages =        "xxx + 972",
  year =         "2006",
  ISBN =         "0-13-147227-5",
  ISBN-13 =      "978-0-13-147227-3",
  LCCN =         "QA76.73.C153 P468 2005",
  bibdate =      "Sun Apr 9 15:05:55 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0516/2005021301.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft .NET",
}

@Book{Richter:2006:CCS,
  author =       "Jeffrey Richter",
  title =        "{CLR} via {C\#}",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  edition =      "Second",
  pages =        "xxviii + 693",
  year =         "2006",
  ISBN =         "0-7356-2163-2",
  ISBN-13 =      "978-0-7356-2163-3",
  LCCN =         "????",
  bibdate =      "Sun Apr 9 14:41:10 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  note =         "Edited by Devon Musgrave",
  acknowledgement = ack-nhfb,
}

@Book{Schildt:2006:CCR,
  author =       "Herbert Schildt",
  title =        "{C\# 2.0}: the complete reference",
  publisher =    pub-OSBORNE-MCGRAW-HILL,
  address =      pub-OSBORNE-MCGRAW-HILL:adr,
  edition =      "Second",
  pages =        "xxi + 890",
  year =         "2006",
  ISBN =         "0-07-226209-5 (paperback), 0-07-148373-X
                 (electronic)",
  ISBN-13 =      "978-0-07-226209-4 (paperback), 978-0-07-148373-5
                 (electronic)",
  LCCN =         "QA76.73.C154 S35 2006",
  bibdate =      "Sat Apr 8 08:03:35 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Schumann:2006:VCK,
  author =       "Hans-Georg Schumann",
  title =        "{Visual C\# 2005 f{\"u}r Kids}",
  publisher =    "bhv",
  address =      "Heidelberg, Germany",
  pages =        "361",
  year =         "2006",
  ISBN =         "3-8266-8626-8",
  ISBN-13 =      "978-3-8266-8626-9",
  LCCN =         "????",
  bibdate =      "Mon Oct 6 18:11:58 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 24.95",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Book{Sharp:2006:MVCa,
  author =       "John Sharp",
  title =        "{Microsoft Visual C\# 2005} step by step",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  edition =      "2005",
  pages =        "xxvii + 555",
  year =         "2006",
  ISBN =         "0-7356-2129-2 (paperback)",
  ISBN-13 =      "978-0-7356-2129-9 (paperback)",
  LCCN =         "QA76.73.C154 S53 2006",
  bibdate =      "Mon Jun 26 11:48:41 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90;
                 z3950.bibsys.no:2100/BIBSYS;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Accompanying CD-ROM contains practice files.",
  subject =      "C\# (Computer program language)",
}

@Book{Sharp:2006:MVCb,
  author =       "John Sharp",
  title =        "{Microsoft Visual C\# 2005}: {\'e}tape par {\'e}tape.
                 ({French}) [{Microsoft Visual C\# 2005}: Step by
                 step]",
  publisher =    "Microsoft Press",
  address =      "Les Ulis, France",
  pages =        "x + 522",
  year =         "2006",
  ISBN =         "2-10-049606-9",
  ISBN-13 =      "978-2-10-049606-8",
  LCCN =         "????",
  bibdate =      "Sat Apr 08 08:07:18 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  note =         "Translated by Chantal Kolb, Doroth{\'e}e Sittler, and
                 Christine Eberhardt.",
  acknowledgement = ack-nhfb,
  language =     "French",
}

@Article{Sweeney:2006:NMP,
  author =       "Tim Sweeney",
  title =        "The next mainstream programming language: a game
                 developer's perspective",
  journal =      j-SIGPLAN,
  volume =       "41",
  number =       "1",
  pages =        "269--269",
  month =        jan,
  year =         "2006",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1111037.1111061",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:39:41 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Game developers have long been early adopters of new
                 technologies. This is so because we are largely
                 unburdened by legacy code: With each new hardware
                 generation, we are free to rethink our software
                 assumptions and develop new products using new tools
                 and even new programming languages. As a result, games
                 are fertile ground for applying academic advances in
                 these areas. And never has our industry been in need of
                 such advances as it is now! The scale and scope of game
                 development has increased more than ten-fold over the
                 past ten years, yet the underlying limitations of the
                 mainstream C/C++/Java/C\# language family remain
                 largely unaddressed. The talk begins with a high-level
                 presentation of the game developer's world: the kinds
                 of algorithms we employ on modern CPUs and GPUs, the
                 difficulties of componentization and concurrency, and
                 the challenges of writing very complex software with
                 real-time performance requirements. The talk then
                 outlines the ways that future programming languages
                 could help us write better code, providing examples
                 derived from experience writing games and software
                 frameworks that support games. The major areas covered
                 are abstraction facilities -- how we can use them to
                 develop more extensible frameworks and components;
                 practical opportunities for employing stronger typing
                 to reduce run-time failures; and the need for pervasive
                 concurrency support, both implicit and explicit, to
                 effectively exploit the several forms of parallelism
                 present in games and graphics.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Book{Telles:2006:VCB,
  author =       "Matthew Telles",
  title =        "{Visual C\#} 2005 Black Book",
  publisher =    pub-PAGINA,
  address =      pub-PAGINA:adr,
  pages =        "680",
  year =         "2006",
  ISBN =         "1-933097-16-7",
  ISBN-13 =      "978-1-933097-16-9",
  LCCN =         "????",
  bibdate =      "Sun Jun 18 01:56:36 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.libris.kb.se:210/libr",
  acknowledgement = ack-nhfb,
}

@Book{Watson:2006:BCD,
  author =       "Karli Watson",
  title =        "Beginning {C\# 2005} Databases",
  publisher =    "Wiley/Wrox",
  address =      "Indianapolis, IN, USA",
  pages =        "xxiii + 501",
  year =         "2006",
  ISBN =         "0-470-04406-3 (paperback)",
  ISBN-13 =      "978-0-470-04406-3 (paperback)",
  LCCN =         "QA76.73.C154 W39 2006",
  bibdate =      "Mon Oct 6 18:02:04 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Wrox beginning guides",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0741/2006025170-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0741/2006025170-d.html;
                 http://www.loc.gov/catdir/toc/ecip0618/2006025170.html",
  acknowledgement = ack-nhfb,
  remark =       ". ``Programmer to programmer''--Cover.",
  subject =      "C\# (Computer program language); Databases",
}

@Book{Watson:2006:BVC,
  editor =       "Karli Watson and others",
  title =        "Beginning {Visual C\# 2005}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xxxix + 1062",
  year =         "2006",
  ISBN =         "0-7645-7847-2 (paper/website)",
  ISBN-13 =      "978-0-7645-7847-2 (paper/website)",
  LCCN =         "QA76.73.C154 B483 2006eb; **See",
  bibdate =      "Mon Jun 26 11:51:34 MDT 2006",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 library.mit.edu:9909/mit01; melvyl.cdlib.org:210/CDL90;
                 sirsi.library.utoronto.ca:2200/UNICORN",
  series =       "Wrox beginning guides",
  URL =          "http://link.library.utoronto.ca/eir/EIRdetail.cfm?Resources\_\_ID=369413&T=;
                 http://www.loc.gov/catdir/toc/ecip0511/2005010692.html;
                 resource",
  acknowledgement = ack-nhfb,
  remark =       "Updated editor of Beginning Visual C\#. 2003",
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework; Internet programming; Web site development;
                 Computer programs",
  tableofcontents = "Part 1. The C\# language \\
                 Chapter 1. Introducing C\# \\
                 Chapter 2. Writing a C\# program \\
                 Chapter 3. Variables and expressions \\
                 Chapter 4. Flow control \\
                 Chapter 5. More about variables \\
                 Chapter 6. Functions \\
                 Chapter 7. Debugging and error handling \\
                 Chapter 8. Introduction to object-oriented programming
                 \\
                 Chapter 9. Defining classes \\
                 Chapter 10. Defining class members \\
                 Chapter 11. Collections, comparisons, and conversions
                 \\
                 Chapter 12. Generics \\
                 Chapter 13. Additional OOP techniques \\
                 Part 2. Windows programming \\
                 Chapter 14. Basic windows programming \\
                 Chapter 15. Advanced windows forms features \\
                 Chapter 16. Using common dialogs \\
                 Chapter 17. Deploying windows applications \\
                 Part 3. Web programming \\
                 Chapter 18. Basic Web programming \\
                 Chapter 19. Advanced Web programming \\
                 Chapter 20. Web services \\
                 Chapter 21. Deploying Web applications \\
                 Part 4. Data access \\
                 Chapter 22. File system data \\
                 Chapter 23. XML \\
                 Chapter 24. Databases and ADO.NET \\
                 Chapter 25. Data binding \\
                 Part 5. Additional techniques \\
                 Chapter 26. .NET assemblies \\
                 Chapter 27. Attributes \\
                 Chapter 28. XML documentation \\
                 Chapter 29. Networking \\
                 Chapter 30. Introduction to GDI+\ldots{}",
}

@Book{Albahari:2007:CN,
  author =       "Joseph Albahari and Ben Albahari and Peter Drayton",
  title =        "{C\# 3.0} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xviii + 838",
  year =         "2007",
  ISBN =         "0-596-52757-8 (paperback)",
  ISBN-13 =      "978-0-596-52757-0 (paperback)",
  LCCN =         "QA76.73.C154 D73 2007; QA76.73.C154; QA76.73.C154 D73
                 2007eb",
  bibdate =      "Tue Aug 5 18:07:22 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "In a nutshell",
  URL =          "http://www.oreilly.com/catalog/9780596527570",
  abstract =     "Offers a reference to key C\# programming concepts
                 covering language elements, syntax, datatypes, and
                 tasks.",
  acknowledgement = ack-nhfb,
  remark =       "Covers LINQ and .NET 3.5 CLR and Core classes.
                 Previous edition C\# 3.0 in a nutshell / Peter Drayton,
                 Ben Albahari, and Ted Neward.",
  subject =      "C{\"A} (Computer program language)",
  tableofcontents = "Introducing C\# and the .NET framework \\
                 C\# language basics \\
                 Creating types in C\# \\
                 Advanced C\# \\
                 Framework overview \\
                 Framework fundamentals \\
                 Collections \\
                 LINQ queries \\
                 LINQ operators \\
                 LINQ to XML \\
                 Other XML technologies \\
                 Disposal and garbage collection \\
                 Streams and I/O \\
                 Networking \\
                 Serialization \\
                 Assemblies \\
                 Reflection and metadata \\
                 Security \\
                 Threading \\
                 Asynchronous methods \\
                 Application domains \\
                 Integrating with native DLLs \\
                 Diagnostics \\
                 Regular expressions",
}

@Book{Bayer:2007:CCH,
  editor =       "J{\"u}rgen Bayer",
  title =        "{Das C\#-2005-Codebook}. ({German}) [The {C\#}
                 Codebook]",
  publisher =    "Addison-Wesley",
  address =      "M{\"u}nchen, Germany",
  pages =        "????",
  year =         "2007",
  ISBN =         "3-8273-6118-4",
  ISBN-13 =      "978-3-8273-6118-9",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  series =       "eBook",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "C sharp",
}

@Article{Bierman:2007:LTF,
  author =       "Gavin M. Bierman and Erik Meijer and Mads Torgersen",
  title =        "Lost in translation: formalizing proposed extensions
                 to {C\#}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "479--498",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297105.1297063",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Current real-world software applications typically
                 involve heavy use of relational and XML data and their
                 query languages. Unfortunately object-oriented
                 languages and database query languages are based on
                 different semantic foundations and optimization
                 strategies. The resulting ''ROX (Relations, Objects,
                 XML) impedance mismatch'' makes life very difficult for
                 developers.\par

                 Microsoft Corporation is developing extensions to the
                 .NET framework to facilitate easier processing of
                 non-object-oriented data models. Part of this project
                 (known as 'LINQ') includes various extensions to the
                 .NET languages to leverage this support.\par

                 In this paper we consider proposals for C$^\# $ 3.0,
                 the next version of the C$^\# $ programming language.
                 We give both an informal introduction to the new
                 language features, and a precise formal account by
                 defining a translation from C$^\# $ 3.0 to C$^\# $ 2.0.
                 This translation also demonstrates how these language
                 extensions do not require any changes to the underlying
                 CLR.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "C\#; LINQ",
}

@Book{Bishop:2007:CDP,
  author =       "J. M. (Judith Mary) Bishop",
  title =        "{C\#} design patterns",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxi + 290",
  year =         "2007",
  ISBN =         "0-596-52773-X (paperback)",
  ISBN-13 =      "978-0-596-52773-0 (paperback)",
  LCCN =         "Internet",
  bibdate =      "Tue Aug 5 18:07:57 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596527730",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Software patterns",
}

@Article{Bond:2007:TBA,
  author =       "Michael D. Bond and Nicholas Nethercote and Stephen W.
                 Kent and Samuel Z. Guyer and Kathryn S. McKinley",
  title =        "Tracking bad apples: reporting the origin of null and
                 undefined value errors",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "405--422",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297057",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Programs sometimes crash due to unusable values, for
                 example, when Java and C\# programs dereference null
                 pointers and when C and C++ programs use undefined
                 values to affect program behavior. A stack trace
                 produced on such a crash identifies the effect of the
                 unusable value, not its cause, and is often not much
                 help to the programmer.\par

                 This paper presents efficient origin tracking of
                 unusable values; it shows how to record where these
                 values come into existence, correctly propagate them,
                 and report them if they cause an error. The key idea is
                 value piggybacking: when the original program stores an
                 unusable value, value piggybacking instead stores
                 origin information in the spare bits of the unusable
                 value. Modest compiler support alters the program to
                 propagate these modified values through operations such
                 as assignments and comparisons. We evaluate two
                 implementations: the first tracks null pointer origins
                 in a JVM, and the second tracks undefined value origins
                 in a memory-checking tool built with Valgrind. These
                 implementations show that origin tracking via value
                 piggybacking is fast and often useful, and in the Java
                 case, has low enough overhead for use in a production
                 environment.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "debugging; Java; low-overhead run-time support;
                 managed languages; null pointer exceptions; undefined
                 values; valgrind",
}

@Article{Fahndrich:2007:EOI,
  author =       "Manuel Fahndrich and Songtao Xia",
  title =        "Establishing object invariants with delayed types",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "10",
  pages =        "337--350",
  month =        oct,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1297027.1297052",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:00:28 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Mainstream object-oriented languages such as C\# and
                 Java provide an initialization model for objects that
                 does not guarantee programmer controlled initialization
                 of fields. Instead, all fields are initialized to
                 default values (0 for scalars and null for non-scalars)
                 on allocation. This is in stark contrast to functional
                 languages, where all parts of an allocation are
                 initialized to programmer-provided values. These
                 choices have a direct impact on two main issues: 1) the
                 prevalence of null in object oriented languages (and
                 its general absence in functional languages), and 2)
                 the ability to initialize circular data structures.
                 This paper explores connections between these differing
                 approaches and proposes a fresh look at initialization.
                 Delayed types are introduced to express and formalize
                 prevalent initialization patterns in object-oriented
                 languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "initialization; non-null types; object invariants",
}

@Article{Goulding:2007:CGD,
  author =       "Tom Goulding and Rita DiTrolio",
  title =        "Complex game development by freshman computer science
                 majors",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "4",
  pages =        "92--99",
  month =        dec,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1345375.1345423",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:39 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#GouldingD07;
                 http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "This case study reveals Daniel Webster College's
                 experience of increasing enrollments dramatically and
                 igniting student enthusiasm for the computer sciences
                 by combining complex game development with innovative
                 classroom management techniques and non traditional
                 student assessments. In this paper we discuss the
                 classroom methods which favor independent study,
                 cooperative learning and teamwork over lectures and
                 individual achievement. This provides the basis for
                 freshmen computer science majors to experience the
                 pressures and motivations found in the game development
                 industry. Those pressures include mandatory independent
                 study, massive knowledge assimilation, rapid product
                 development and tight schedules developing complex
                 gaming systems. Thus, the cachet of complex game
                 development in C\# .NET is exploited, but at the same
                 time the development of core programming skills remains
                 the target goal.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Hilyard:2007:CC,
  author =       "Jay Hilyard and Stephen Teilhet",
  title =        "{C\# 3.0} cookbook",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "xxvi + 857",
  year =         "2007",
  ISBN =         "0-596-51610-X (paperback)",
  ISBN-13 =      "978-0-596-51610-9 (paperback)",
  LCCN =         "QA76.73.C154; QA76.73.C154eb",
  bibdate =      "Tue Aug 5 18:00:16 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596516109",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Book{Jagger:2007:ACS,
  author =       "Jon Jagger and Nigel Perry and Peter Sestoft",
  title =        "Annotated {C\#} standard",
  publisher =    pub-MORGAN-KAUFMANN,
  address =      pub-MORGAN-KAUFMANN:adr,
  pages =        "xxiii + 825",
  year =         "2007",
  ISBN =         "0-12-372511-9",
  ISBN-13 =      "978-0-12-372511-0",
  LCCN =         "QA76.73.C154 J35 2007",
  bibdate =      "Sat Sep 8 16:31:37 MDT 2007",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Jimeno:2007:CYO,
  author =       "Roberto Jimeno and M. S. Jorge and L. Ortega-Arjona",
  title =        "Curb your objects!: an orthodox form for {C\#}
                 classes",
  journal =      j-SIGCSE,
  volume =       "39",
  number =       "2",
  pages =        "138--141",
  month =        jun,
  year =         "2007",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1272848.1272897",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 16:57:35 MST 2012",
  bibsource =    "DBLP;
                 http://dblp.uni-trier.de/db/journals/sigcse/sigcse39.html#JimenoJO07;
                 http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  URL =          "ftp://ftp.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/2007.bib",
  abstract =     "The Orthodox Form for C\# Classes (OFC\#C) is an idiom
                 proposed for the C\# programming language that intends
                 to provide its classes with a basic structure that
                 assures a predictable behavior for creation, copy, and
                 destruction of instances. When classes in C\# are
                 written it is desirable to build them in such a way
                 that their instances produce objects which behave in
                 predictable ways. Programmers tend to make mistakes
                 when their objects behave at run time in the same way
                 the they expect them to behave at write/compile time.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{McCreight:2007:GFC,
  author =       "Andrew McCreight and Zhong Shao and Chunxiao Lin and
                 Long Li",
  title =        "A general framework for certifying garbage collectors
                 and their mutators",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "468--479",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1273442.1250788",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Garbage-collected languages such as Java and C\# are
                 becoming more and more widely used in both high-end
                 software and real-time embedded applications. The
                 correctness of the GC implementation is essential to
                 the reliability and security of a large portion of the
                 world's mission-critical software. Unfortunately,
                 garbage collectors--especially incremental and
                 concurrent ones--are extremely hard to implement
                 correctly. In this paper, we present a new uniform
                 approach to verifying the safety of both a mutator and
                 its garbage collector in Hoare-style logic. We define a
                 formal garbage collector interface general enough to
                 reason about a variety of algorithms while allowing the
                 mutator to ignore implementation-specific details of
                 the collector. Our approach supports collectors that
                 require read and write barriers. We have used our
                 approach to mechanically verify assembly
                 implementations of mark-sweep, copying and incremental
                 copying GCs in Coq, as well as sample mutator programs
                 that can be linked with any of the GCs to produce a
                 fully-verified garbage-collected program. Our work
                 provides a foundation for reasoning about complex
                 mutator-collector interaction and makes an important
                 advance toward building fully certified
                 production-quality GCs.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "abstract data type; assembly code verification;
                 garbage collection; proof-carrying code; separation
                 logic",
}

@Book{Michaelis:2007:EC,
  author =       "Mark Michaelis",
  title =        "Essential {C\# 2.0}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xli + 720",
  year =         "2007",
  ISBN =         "0-321-15077-5 (paperback)",
  ISBN-13 =      "978-0-321-15077-6",
  LCCN =         "QA76.73.C154 M523 2007",
  bibdate =      "Thu Mar 9 08:29:39 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  URL =          "http://www.loc.gov/catdir/toc/ecip0611/2006009699.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Shankar:2007:DAI,
  author =       "Ajeet Shankar and Rastislav Bod{\'\i}k",
  title =        "{DITTO}: automatic incrementalization of data
                 structure invariant checks (in {Java)}",
  journal =      j-SIGPLAN,
  volume =       "42",
  number =       "6",
  pages =        "310--319",
  month =        jun,
  year =         "2007",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1250734.1250770",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 10:55:30 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "We present DITTO, an automatic incrementalizer for
                 dynamic, side-effect-free data structure invariant
                 checks. Incrementalization speeds up the execution of a
                 check by reusing its previous executions, checking the
                 invariant anew only the changed parts of the data
                 structure. DITTO exploits properties specific to the
                 domain of invariant checks to automate and simplify the
                 process without restricting what mutations the program
                 can perform. Our incrementalizer works for modern
                 imperative languages such as Java and C\#. It can
                 incrementalize,for example, verification of red-black
                 tree properties and the consistency of the hash code in
                 a hash table bucket. Our source-to-source
                 implementation for Java is automatic, portable, and
                 efficient. DITTO provides speedups on data structures
                 with as few as 100 elements; on larger data structures,
                 its speedups are characteristic of non-automatic
                 incrementalizers: roughly 5-fold at 5,000 elements,and
                 growing linearly with data structure size.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "automatic; data structure invariants; dynamic
                 optimization; incrementalization; optimistic
                 memoization; program analysis",
}

@Book{Albahari:2008:CPR,
  author =       "Joseph Albahari and Ben Albahari",
  title =        "{C\# 3.0} pocket reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "xi + 230",
  year =         "2008",
  ISBN =         "0-596-51922-2 (paperback)",
  ISBN-13 =      "978-0-596-51922-3 (paperback)",
  LCCN =         "QA76.73.C154 A4185 2008",
  bibdate =      "Mon Oct 12 10:11:15 MDT 2009",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  abstract =     "Offers a reference to key C\# programming concepts,
                 covering language elements, syntax, datatypes, and
                 tasks.",
  acknowledgement = ack-nhfb,
  subject =      "C\# (computer program language)",
}

@Book{Albahari:2008:LPR,
  author =       "Joseph Albahari and Ben Albahari",
  title =        "{LINQ} pocket reference",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "ix + 161",
  year =         "2008",
  ISBN =         "0-596-51924-9 (paperback)",
  ISBN-13 =      "978-0-596-51924-7 (paperback)",
  LCCN =         "QA76.73.L228 A43 2008",
  bibdate =      "Mon Oct 12 10:09:56 MDT 2009",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/fy0805/2008299898.html",
  acknowledgement = ack-nhfb,
  remark =       "LINQPad enabled.",
  subject =      "Microsoft LINQ; C\# (computer program language);
                 Microsoft .NET Framework; query languages (computer
                 science)",
}

@Book{Bayer:2008:CCH,
  author =       "J{\"u}rgen Bayer",
  title =        "{Das {C\#} 2008 Codebook}. ({German}) [The {C\#}
                 Codebook]",
  publisher =    "Addison Wesley",
  address =      "M{\"u}nchen, Germany",
  pages =        "????",
  year =         "2008",
  ISBN =         "????",
  ISBN-13 =      "????",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
}

@Article{Chen:2008:TPC,
  author =       "Juan Chen and Chris Hawblitzel and Frances Perry and
                 Mike Emmi and Jeremy Condit and Derrick Coetzee and
                 Polyvios Pratikaki",
  title =        "Type-preserving compilation for large-scale optimizing
                 object-oriented compilers",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "183--192",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375604",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Type-preserving compilers translate well-typed source
                 code, such as Java or C\#, into verifiable target code,
                 such as typed assembly language or proof-carrying code.
                 This paper presents the implementation of
                 type-preserving compilation in a complex, large-scale
                 optimizing compiler. Compared to prior work, this
                 implementation supports extensive optimizations, and it
                 verifies a large portion of the interface between the
                 compiler and the runtime system. This paper
                 demonstrates the practicality of type-preserving
                 compilation in complex optimizing compilers: the
                 generated typed assembly language is only 2.3\% slower
                 than the base compiler's generated untyped assembly
                 language, and the type-preserving compiler is 82.8\%
                 slower than the base compiler.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "object-oriented compilers; type-preserving
                 compilation",
}

@Book{Doyle:2008:CPP,
  author =       "Barbara Doyle",
  title =        "{C\#} programming: from problem analysis to program
                 design",
  publisher =    "Course Technology",
  address =      "Boston, MA, USA",
  edition =      "Second",
  pages =        "xxxi + 1000",
  year =         "2008",
  ISBN =         "1-4239-0146-0 (paperback)",
  ISBN-13 =      "978-1-4239-0146-4 (paperback)",
  LCCN =         "QA76.73.C154 D58 2008",
  bibdate =      "Mon Jul 5 08:25:55 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  remark =       "Previous edition published as Microsoft Visual C\#
                 .NET programming. 2004.",
  subject =      "C\# (Computer program language); Internet programming;
                 Object-oriented programming (Computer science)",
}

@Article{Faxen:2008:WWS,
  author =       "Karl-Filip Fax{\'e}n",
  title =        "{Wool} --- a work stealing library",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "36",
  number =       "5",
  pages =        "93--100",
  month =        dec,
  year =         "2008",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/1556444.1556457",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Fri Jun 26 11:50:56 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This paper presents some preliminary results on a
                 small light weight user level task management library
                 called Wool. The Wool task scheduler is based on work
                 stealing. The objective of the library is to provide a
                 reasonably convenient programming interface (in
                 particular by not forcing the programmer to write in
                 continuation passing style) in ordinary C while still
                 having a very low task creation overhead. Several task
                 scheduling systems based on work stealing exists, but
                 they are typically either programming languages like
                 Cilk-5 or based on C++ like the Intel TBB or C\# as in
                 the Microsoft TPL. Our main conclusions are that such a
                 direct style interface is indeed possible and yields
                 performance that is comparable to that of the Intel
                 TBB.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Fekete:2008:TSD,
  author =       "Alan D. Fekete",
  title =        "Teaching students to develop thread-safe {Java}
                 classes",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "3",
  pages =        "119--123",
  month =        sep,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1597849.1384304",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:14 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '08.",
  abstract =     "Concurrent programming was once the preserve of
                 experts writing systems internals; but recently the
                 growing importance of application servers, and the
                 excellent support in Java and C\# for thread handling,
                 has brought threads and locking as topics that every
                 software developer might experience, and therefore
                 every computer science graduate ought to know. In this
                 paper we report on several years of experience teaching
                 this material in the early years of the curriculum. We
                 focus on one aspect of multi-threaded code, namely how
                 to write sensible thread-safe classes. We identify the
                 learning outcomes we aim to deliver, and we discuss the
                 main pedagogic difficulties students find. We present
                 some examples that can help students avoid common
                 erroneous views.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Ferrara:2008:SUC,
  author =       "Pietro Ferrara and Francesco Logozzo and Manuel
                 Fahndrich",
  title =        "Safer unsafe code for {.NET}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "329--346",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449955.1449791",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "The .NET intermediate language (MSIL) allows
                 expressing both statically verifiable memory and type
                 safe code (typically called managed), as well as unsafe
                 code using direct pointer manipulations. Unsafe code
                 can be expressed in C\# by marking regions of code as
                 {\em unsafe}. Writing unsafe code can be useful where
                 the rules of managed code are too strict. The obvious
                 drawback of unsafe code is that it opens the door to
                 programming errors typical of C and C++, namely memory
                 access errors such as buffer overruns. Worse, a single
                 piece of unsafe code may corrupt memory and destabilize
                 the entire runtime or allow attackers to compromise the
                 security of the platform.\par

                 We present a new static analysis based on abstract
                 interpretation to check memory safety for unsafe code
                 in the .NET framework. The core of the analysis is a
                 new numerical abstract domain, Strp, which is used to
                 efficiently compute memory invariants. Strp is combined
                 with lightweight abstract domains to raise the
                 precision, yet achieving scalability.\par

                 We implemented this analysis in Clousot, a generic
                 static analyzer for .NET. In combination with contracts
                 expressed in FoxTrot, an MSIL based annotation language
                 for .NET, our analysis provides {\em static\/} safety
                 guarantees on memory accesses in unsafe code. We tested
                 it on all the assemblies of the .NET framework. We
                 compare our results with those obtained using existing
                 domains, showing how they are either too imprecise
                 ({\em e.g.}, Intervals or Octagons) or too expensive
                 (Polyhedra) to be used in practice.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     ".NET; abstract domains; abstract interpretation;
                 bounds checking; design by contract; pointer indexing;
                 static analysis",
}

@Book{Foxall:2008:STY,
  author =       "James D. Foxall",
  title =        "{Sams} teach yourself {Visual C\# 2008} in 24 hours:
                 complete starter kit",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xi + 512",
  year =         "2008",
  ISBN =         "0-672-32990-5",
  ISBN-13 =      "978-0-672-32990-6",
  LCCN =         "QA76.73.C154 F68 2008",
  bibdate =      "Mon Jul 5 08:26:03 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0819/2008022406.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft Visual
                 C\#",
}

@Article{Goulding:2008:CGD,
  author =       "Tom Goulding",
  title =        "Complex game development throughout the college
                 curriculum",
  journal =      j-SIGCSE,
  volume =       "40",
  number =       "4",
  pages =        "68--71",
  month =        dec,
  year =         "2008",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1473195.1473223",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:17 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  abstract =     "This case study discusses the incorporation of game
                 development throughout the Daniel Webster College
                 computer science curriculum. During the freshman year
                 all computer science majors develop complex games in
                 C\#.net while participating in an instructional game
                 motif method we call the GM method. This freshman
                 educational method combines agile software engineering
                 techniques with an inquiry based, neo-Socratic
                 classroom. The GM method provides freshmen with the
                 core skills necessary to develop complex games
                 throughout their college career. This freshman program
                 of study is followed by more traditional project
                 courses which begin with an encryption system project
                 in the sophomore year. XNA 2-D and XNA 3-D game
                 development soon follow and a C++ game engine
                 development capstone project is undertaken in the
                 senior year.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Book{Hejlsberg:2008:CPL,
  editor =       "Anders Hejlsberg and Mads Togersen and Scott Wiltamuth
                 and Peter Golde",
  title =        "The {C\#} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "xviii + 754",
  year =         "2008",
  ISBN =         "0-321-56299-2",
  ISBN-13 =      "978-0-321-56299-9",
  LCCN =         "QA76.73.C154 H45 2008",
  bibdate =      "Mon Oct 6 17:37:12 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Huang:2008:ESS,
  author =       "Shan Shan Huang and Yannis Smaragdakis",
  title =        "Expressive and safe static reflection with {MorphJ}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "79--89",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1375581.1375592",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Recently, language extensions have been proposed for
                 Java and C\# to support pattern-based reflective
                 declaration. These extensions introduce a disciplined
                 form of meta-programming and aspect-oriented
                 programming to mainstream languages: They allow members
                 of a class (i.e., fields and methods) to be declared by
                 statically iterating over and pattern-matching on
                 members of other classes. Such techniques, however,
                 have been unable to safely express simple, but common,
                 idioms such as declaring getter and setter methods for
                 fields.\par

                 In this paper, we present a mechanism that addresses
                 the lack of expressiveness in past work without
                 sacrificing safety. Our technique is based on the idea
                 of nested patterns that elaborate the outer-most
                 pattern with blocking or enabling conditions. We
                 implemented this mechanism in a language, MorphJ. We
                 demonstrate the expressiveness of MorphJ with
                 real-world applications. In particular, the MorphJ
                 reimplementation of DSTM2, a software transactional
                 memory library, reduces 1,107 lines of Java reflection
                 and bytecode engineering library calls to just 374
                 lines of MorphJ code. At the same time, the MorphJ
                 solution is both high level and safer, as MorphJ can
                 separately type check generic classes and catch errors
                 early. We present and formalize the MorphJ type system,
                 and offer a type-checking algorithm.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "aspect-oriented programming; class morphing; language
                 extensions; meta-programming; object-oriented
                 programming; structural abstraction",
}

@Article{Jacobs:2008:PMC,
  author =       "Bart Jacobs and Frank Piessens and Jan Smans and K.
                 Rustan M. Leino and Wolfram Schulte",
  title =        "A programming model for concurrent object-oriented
                 programs",
  journal =      j-TOPLAS,
  volume =       "31",
  number =       "1",
  pages =        "1:1--1:48",
  month =        dec,
  year =         "2008",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/1452044.1452045",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Tue Dec 23 11:52:52 MST 2008",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2000.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib",
  abstract =     "Reasoning about multithreaded object-oriented programs
                 is difficult, due to the nonlocal nature of object
                 aliasing and data races. We propose a programming
                 regime (or {\em programming model\/}) that rules out
                 data races, and enables local reasoning in the presence
                 of object aliasing and concurrency. Our programming
                 model builds on the multithreading and synchronization
                 primitives as they are present in current mainstream
                 programming languages. Java or C\# programs developed
                 according to our model can be annotated by means of
                 stylized comments to make the use of the model
                 explicit. We show that such annotated programs can be
                 formally verified to comply with the programming model.
                 If the annotated program verifies, the underlying Java
                 or C\# program is guaranteed to be free from data
                 races, and it is sound to reason locally about program
                 behavior. Verification is modular: a program is valid
                 if all methods are valid, and validity of a method does
                 not depend on program elements that are not visible to
                 the method. We have implemented a verifier for programs
                 developed according to our model in a custom build of
                 the Spec\# programming system, and we have validated
                 our approach on a case study.",
  acknowledgement = ack-nhfb,
  articleno =    "1",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
  keywords =     "Aliasing; data races; local reasoning; modular
                 reasoning; ownership; verification condition
                 generation",
}

@Book{Liberty:2008:LC,
  author =       "Jesse Liberty and Brian MacDonald",
  title =        "Learning {C\#}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "704 (est.)",
  year =         "2008",
  ISBN =         "0-596-15501-8",
  ISBN-13 =      "978-0-596-15501-8",
  LCCN =         "QA76.73.C153 L53 2008",
  bibdate =      "Sat Nov 13 10:17:50 MST 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 prodorbis.library.yale.edu:7090/voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Internet programming;
                 Microsoft .NET Framework; Object-oriented methods
                 (Computer science)",
}

@Book{Liberty:2008:PC,
  author =       "Jesse Liberty and Donald Xie",
  title =        "Programming {C\# 3.0}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fifth",
  pages =        "xviii + 587",
  year =         "2008",
  ISBN =         "0-596-52743-8",
  ISBN-13 =      "978-0-596-52743-3",
  LCCN =         "QA76.73.C154",
  bibdate =      "Tue Aug 5 18:06:53 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  URL =          "http://www.oreilly.com/catalog/9780596527433",
  acknowledgement = ack-nhfb,
  remark =       "Covers Visual Studio 2008, LINQ, .NET 3.5, and more.",
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Book{MacDonald:2008:PWC,
  author =       "Matthew MacDonald",
  title =        "{Pro WPF} in {C\# 2008}: {Windows Presentation
                 Foundation} with {.NET 3.5}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Second",
  pages =        "xxix + 1040",
  year =         "2008",
  ISBN =         "1-59059-955-1",
  ISBN-13 =      "978-1-59059-955-6",
  LCCN =         "????",
  bibdate =      "Sat Oct 25 15:37:24 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Book{Mayo:2008:CNF,
  author =       "Joseph Mayo",
  title =        "{C\# 3.0}: with the {.NET Framework 3.5} unleashed",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  edition =      "Second",
  pages =        "xxiv + 1022",
  year =         "2008",
  ISBN =         "0-672-32981-6",
  ISBN-13 =      "978-0-672-32981-4",
  LCCN =         "QA76.73.C154 M38 2008",
  bibdate =      "Thu May 3 10:52:57 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  URL =          "http://www.loc.gov/catdir/toc/ecip0820/2008026117.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Article{Moors:2008:GHK,
  author =       "Adriaan Moors and Frank Piessens and Martin Odersky",
  title =        "Generics of a higher kind",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "423--438",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449798",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "With Java 5 and C\# 2.0, first-order parametric
                 polymorphism was introduced in mainstream
                 object-oriented programming languages under the name of
                 generics. Although the first-order variant of generics
                 is very useful, it also imposes some restrictions: it
                 is possible to abstract over a type, but the resulting
                 type constructor cannot be abstracted over. This can
                 lead to code duplication. We removed this restriction
                 in Scala, by allowing type constructors as type
                 parameters and abstract type members. This paper
                 presents the design and implementation of the resulting
                 type constructor polymorphism. Furthermore, we study
                 how this feature interacts with existing
                 object-oriented constructs, and show how it makes the
                 language more expressive.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "higher-kinded types; higher-order genericity; Scala;
                 type constructor polymorphism",
}

@Article{Naugler:2008:RPL,
  author =       "David Naugler",
  title =        "Review of {{\em Pro LINQ Object Relational Mapping in
                 C\# 2008} by Vijay Mehta, Apress, 2008, \$49.99, ISBN:
                 978-1-59059-965-5}",
  journal =      j-QUEUE,
  volume =       "6",
  number =       "7",
  pages =        "41--41",
  month =        nov # "/" # dec,
  year =         "2008",
  CODEN =        "AQCUAE",
  DOI =          "https://doi.org/10.1145/1483101.1483112",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Fri Jan 9 12:44:34 MST 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Naugler:2008:RPW,
  author =       "David Naugler",
  title =        "Review of {{\em Pro WPF in C\# 2008: Windows
                 Presentation Foundation with .NET 3.5}, (2nd ed.),'
                 Apress, 2008, \$54.99, ISBN 1-59059-955-1}",
  journal =      j-QUEUE,
  volume =       "6",
  number =       "5",
  pages =        "59--59",
  month =        sep,
  year =         "2008",
  CODEN =        "AQCUAE",
  ISSN =         "1542-7730 (print), 1542-7749 (electronic)",
  ISSN-L =       "1542-7730",
  bibdate =      "Sat Oct 25 15:26:21 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM Queue: Tomorrow's Computing Today",
}

@Article{Pizlo:2008:SCR,
  author =       "Filip Pizlo and Erez Petrank and Bjarne Steensgaard",
  title =        "A study of concurrent real-time garbage collectors",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "6",
  pages =        "33--44",
  month =        jun,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1379022.1375587",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Jun 18 11:04:53 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Concurrent garbage collection is highly attractive for
                 real-time systems, because offloading the collection
                 effort from the executing threads allows faster
                 response, allowing for extremely short deadlines at the
                 microseconds level. Concurrent collectors also offer
                 much better scalability over incremental collectors.
                 The main problem with concurrent real-time collectors
                 is their complexity. The first concurrent real-time
                 garbage collector that can support fine
                 synchronization, STOPLESS, has recently been presented
                 by Pizlo et al. In this paper, we propose two
                 additional (and different) algorithms for concurrent
                 real-time garbage collection: CLOVER and CHICKEN. Both
                 collectors obtain reduced complexity over the first
                 collector STOPLESS, but need to trade a benefit for it.
                 We study the algorithmic strengths and weaknesses of
                 CLOVER and CHICKEN and compare them to STOPLESS.
                 Finally, we have implemented all three collectors on
                 the Bartok compiler and runtime for C\# and we present
                 measurements to compare their efficiency and
                 responsiveness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "concurrent garbage collection; garbage collection;
                 lock-free computation; memory management; real-time",
}

@Article{Russo:2008:JPV,
  author =       "Claudio V. Russo",
  title =        "Join patterns for {Visual Basic}",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "10",
  pages =        "53--72",
  month =        sep,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1449764.1449770",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 22 09:57:37 MDT 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "We describe an extension of Visual Basic 9.0 with
                 asynchronous concurrency constructs --- join patterns
                 --- based on the join calculus. Our design of
                 Concurrent Basic (CB) builds on earlier work on
                 Polyphonic C\# and Comega. Since that work, the need
                 for language-integrated concurrency has only grown,
                 both due to the arrival of commodity, multi-core
                 hardware, and the trend for Rich Internet Applications
                 that rely on asynchronous client-server communication
                 to hide latency. Unlike its predecessors, CB adopts an
                 event-like syntax that should be familiar to existing
                 VB programmers. Coupled with Generics, CB allows one to
                 declare re-usable concurrency abstractions that were
                 clumsy to express previously. CB removes its ancestors'
                 inconvenient inheritance restriction, while providing
                 new extensibility points useful in practical
                 applications that must co-exist with or want to exploit
                 alternative threading models available on the platform.
                 CB is implemented as an extension of the production VB
                 9.0 compiler.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "asynchronous message passing; join patterns; visual
                 basic",
}

@Book{Sauer:2008:VCH,
  editor =       "Florian Sauer and Joachim Karl",
  title =        "Visual {C\#} 2008",
  publisher =    "Addison-Wesley",
  address =      "M{\"u}nchen, Germany",
  pages =        "????",
  year =         "2008",
  ISBN =         "3-8273-6114-1",
  ISBN-13 =      "978-3-8273-6114-1",
  LCCN =         "????",
  bibdate =      "Mon May 17 09:06:55 MDT 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  language =     "German",
  subject =      "Visual C sharp 2008",
}

@Article{Sestoft:2008:PLC,
  author =       "Peter Sestoft",
  title =        "Programming language concepts for software
                 developers",
  journal =      j-SIGPLAN,
  volume =       "43",
  number =       "11",
  pages =        "119--123",
  month =        nov,
  year =         "2008",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1480828.1480854",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Dec 31 12:36:25 MST 2008",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This note describes and motivates our current plans
                 for an undergraduate course on programming language
                 concepts for software development students. We describe
                 the competences we expect students to acquire as well
                 as the topics covered by the course. We plan to use C\#
                 and Scheme as instruction languages, and will study the
                 implementation of Java and C\# with their underlying
                 platforms, the Java Virtual Machine and .NET Common
                 Language Runtime. We emphasize implementation exercises
                 and experiments. This comes at the expense of classical
                 compiler course subjects such as register allocation
                 and optimization of imperative loop-intensive code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "programming languages curriculum",
}

@Book{Sphar:2008:CD,
  author =       "Chuck Sphar and Stephen R. Davis",
  title =        "{C\# 2008} for dummies",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "xx + 434",
  year =         "2008",
  ISBN =         "0-470-19109-0 (paperback)",
  ISBN-13 =      "978-0-470-19109-5 (paperback)",
  LCCN =         "QA76.73.C154 S68 2008",
  bibdate =      "Thu May 3 09:28:23 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "For dummies",
  URL =          "http://www.loc.gov/catdir/enhancements/fy0808/2008920770-b.html;
                 http://www.loc.gov/catdir/enhancements/fy0808/2008920770-d.html;
                 http://www.loc.gov/catdir/enhancements/fy0810/2008920770-t.html",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Stellman:2008:HFC,
  author =       "Andrew Stellman and Jennifer Greene",
  title =        "Head first {C\#}",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xl + 738",
  year =         "2008",
  ISBN =         "0-596-51482-4 (paperback)",
  ISBN-13 =      "978-0-596-51482-2 (paperback)",
  LCCN =         "QA76.73.C154; QA76.73.C154eb",
  bibdate =      "Tue Aug 5 17:58:27 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  series =       "O'Reilly's Head first series",
  URL =          "http://www.oreilly.com/catalog/9780596514822",
  acknowledgement = ack-nhfb,
  remark =       "A learner's guide to real-world programming with C\#
                 and .NET. Covers C\# 3.0 and Visual Studio 2008.",
  subject =      "Microsoft Visual C\# .NET; C\# (Computer program
                 language)",
}

@Book{Stubblebine:2008:RAK,
  author =       "Toni Stubblebine and Peter Klicman and Lars Schulten",
  title =        "{Regul{\"a}re Ausdr{\"u}cke --- kurz and gut [f{\"u}r
                 Perl, Ruby, PHP, C\#, Python, Java and .NET]}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "131",
  year =         "2008",
  ISBN =         "3-89721-535-7",
  ISBN-13 =      "978-3-89721-535-1",
  LCCN =         "????",
  bibdate =      "Thu Jul 15 18:31:10 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "EUR 9.90",
  series =       "O'Reillys Taschenbibliothek",
  acknowledgement = ack-nhfb,
}

@Article{Abadi:2009:TMS,
  author =       "Mart{\'\i}n Abadi and Tim Harris and Mojtaba Mehrara",
  title =        "Transactional memory with strong atomicity using
                 off-the-shelf memory protection hardware",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "4",
  pages =        "185--196",
  month =        apr,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1504176.1504203",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:49 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This paper introduces a new way to provide strong
                 atomicity in an implementation of transactional memory.
                 Strong atomicity lets us offer clear semantics to
                 programs, even if they access the same locations inside
                 and outside transactions. It also avoids differences
                 between hardware-implemented transactions and
                 software-implemented ones. Our approach is to use
                 off-the-shelf page-level memory protection hardware to
                 detect conflicts between normal memory accesses and
                 transactional ones. This page-level mechanism ensures
                 correctness but gives poor performance because of the
                 costs of manipulating memory protection settings and
                 receiving notifications of access violations. However,
                 in practice, we show how a combination of careful
                 object placement and dynamic code update allows us to
                 eliminate almost all of the protection changes.
                 Existing implementations of strong atomicity in
                 software rely on detecting conflicts by conservatively
                 treating some non-transactional accesses as short
                 transactions. In contrast, our page-level mechanism
                 lets us be less conservative about how
                 non-transactional accesses are treated; we avoid
                 changes to non-transactional code until a possible
                 conflict is detected dynamically, and we can respond to
                 phase changes where a given instruction sometimes
                 generates conflicts and sometimes does not. We evaluate
                 our implementation with C\# versions of many of the
                 STAMP benchmarks, and show how it performs within 25\%
                 of an implementation with weak atomicity on all the
                 benchmarks we have studied. It avoids pathological
                 cases in which other implementations of strong
                 atomicity perform poorly.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "memory protection; STM; strong atomicity;
                 transactional memory",
}

@Article{Axelsen:2009:GPT,
  author =       "Eyvind W. Axelsen and Stein Krogdahl",
  title =        "{Groovy} package templates: supporting reuse and
                 runtime adaption of class hierarchies",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "12",
  pages =        "15--26",
  month =        dec,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640134.1640139",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Aug 31 22:04:07 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "We show how package templates, a modularization
                 mechanism originally developed for statically typed
                 languages like Java and C\#, can be applied to and
                 implemented in a dynamic language like Groovy, by using
                 the language's capabilities for meta-programming. We
                 then consider a set of examples and discuss dynamic PT
                 from the viewpoints of code modularization and reuse,
                 and dynamic adaption of classes at runtime.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "dynamic languages; modularization; OOP; templates",
}

@Article{Brosgol:2009:ICL,
  author =       "Ben Brosgol",
  title =        "An introduction to the {C\#} language and {.NET}
                 infrastructure",
  journal =      j-SIGADA-LETTERS,
  volume =       "29",
  number =       "3",
  pages =        "3--4",
  month =        dec,
  year =         "2009",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/1647420.1647423",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Mon Jun 21 14:04:37 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Prerequisites: Familiarity with Object Oriented
                 Programming principles in a language such as Ada, Java,
                 or C++. No previous experience with C\# or .NET is
                 assumed. This tutorial will describe the main elements
                 of the C\# programming language and the Common Language
                 Infrastructure (whose implementation by Microsoft is
                 knows as .NET). It will focus on C\#'s more novel
                 language features, using examples and comparisons with
                 other languages (in particular, Ada and Java) to
                 describe the semantics. Specific C\# language topics to
                 be covered include the compilation model, namespaces,
                 types, generics, exception handling, and threading.
                 Common Language Infrastructure / .NET topics include
                 summaries of the Base Class Library, Common
                 Intermediate Language, Common Language System, Common
                 Type System and Virtual Execution System. In short,
                 this tutorial may be considered as the presenter's
                 response to the following question: 'C\# is sometimes
                 described as Microsoft's answer to Java. Is this an
                 accurate assessment, and in any event how do C\# and
                 .NET relate to Ada?'",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAda Ada Letters",
  keywords =     "Ada; infrastructure; interfacing; languages;
                 object-oriented; programming; real-time; software;
                 systems",
}

@Book{Deitel:2009:CP,
  author =       "Harvey M. Deitel and Paul J. Deitel",
  title =        "{C\# 2008} for programmers",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Third",
  pages =        "xlii + 1251",
  year =         "2009",
  ISBN =         "0-13-714415-6",
  ISBN-13 =      "978-0-13-714415-0",
  LCCN =         "QA76.73.C154 D455 2009",
  bibdate =      "Thu May 3 10:51:06 MDT 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Deitel developer series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Farrell-Vinay:2009:BRM,
  author =       "Peter Farrell-Vinay",
  title =        "Book review: {{\booktitle{Model-based software testing
                 and analysis in C\#}} by Jonathan Jacky, Margus Veanes,
                 Colin Campbell, and Wolfram Schulte, and published by
                 CUP, 2008, (paperback) ISB-10: 0-521-68761-6, 349
                 pp.}",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "5",
  pages =        "60--60",
  month =        sep,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1598732.1598746",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:47 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Hawblitzel:2009:AVP,
  author =       "Chris Hawblitzel and Erez Petrank",
  title =        "Automated verification of practical garbage
                 collectors",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "441--453",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1594834.1480935",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Garbage collectors are notoriously hard to verify, due
                 to their low-level interaction with the underlying
                 system and the general difficulty in reasoning about
                 reachability in graphs. Several papers have presented
                 verified collectors, but either the proofs were
                 hand-written or the collectors were too simplistic to
                 use on practical applications. In this work, we present
                 two mechanically verified garbage collectors, both
                 practical enough to use for real-world C\# benchmarks.
                 The collectors and their associated allocators consist
                 of x86 assembly language instructions and macro
                 instructions, annotated with preconditions,
                 postconditions, invariants, and assertions. We used the
                 Boogie verification generator and the Z3 automated
                 theorem prover to verify this assembly language code
                 mechanically. We provide measurements comparing the
                 performance of the verified collector with that of the
                 standard Bartok collectors on off-the-shelf C\#
                 benchmarks, demonstrating their competitiveness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "garbage collection; verification",
}

@Article{Kliot:2009:LFC,
  author =       "Gabriel Kliot and Erez Petrank and Bjarne
                 Steensgaard",
  title =        "A lock-free, concurrent, and incremental stack
                 scanning mechanism for garbage collectors",
  journal =      j-OPER-SYS-REV,
  volume =       "43",
  number =       "3",
  pages =        "3--13",
  month =        jul,
  year =         "2009",
  CODEN =        "OSRED8",
  DOI =          "https://doi.org/10.1145/1618525.1618527",
  ISSN =         "0163-5980",
  ISSN-L =       "0163-5980",
  bibdate =      "Tue Sep 22 12:51:49 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Two major efficiency parameters for garbage collectors
                 are the throughput overheads and the pause times that
                 they introduce. Highly responsive systems need to use
                 collectors with as short as possible pause times. Pause
                 times have decreased significantly over the years,
                 especially through the use of concurrent garbage
                 collectors. For modern concurrent collectors, the
                 longest pause is typically created by the need to
                 atomically scan the runtime stack. All practical
                 concurrent collectors that we are aware of must obtain
                 a snapshot of the pointers on each thread's runtime
                 stack, in order to reclaim objects correctly. To
                 further reduce the duration of the collector pauses,
                 incremental stack scans were proposed. However,
                 previous such methods employ locks to stop the mutator
                 from accessing a stack frame while it is being scanned.
                 Thus, these methods introduce potentially long and
                 unpredictable pauses for a mutator thread. In this work
                 we propose the first concurrent, incremental, and
                 lock-free stack scanning mechanism for garbage
                 collectors, that allows high responsiveness and support
                 for programs that employ fine-grain synchronization to
                 avoid locks. Our solution can be employed by all
                 concurrent collectors that we are aware of, it is
                 lock-free, it imposes a negligible overhead on the
                 program execution, and it supports intra-stack
                 references as found in languages like C\#.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGOPS Operating Systems Review",
  keywords =     "incremental and concurrent garbage collection;
                 lock-free data structures; stack scanning",
}

@Book{Michaelis:2009:ECN,
  author =       "Mark Michaelis",
  title =        "Essential {C\# 3.0}: for {.NET Framework 3.5}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xlv + 826",
  year =         "2009",
  ISBN =         "0-321-53392-5 (paperback)",
  ISBN-13 =      "978-0-321-53392-0 (paperback)",
  LCCN =         "QA76.73.C154 M5235 2009",
  bibdate =      "Mon Oct 6 17:37:34 MDT 2008",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "Microsoft .NET development series",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Article{Miura:2009:AGI,
  author =       "Motoki Miura and Taro Sugihara and Susumu Kunifuji",
  title =        "{Anchor Garden}: an interactive workbench for basic
                 data concept learning in object oriented programming
                 languages",
  journal =      j-SIGCSE,
  volume =       "41",
  number =       "3",
  pages =        "141--145",
  month =        sep,
  year =         "2009",
  CODEN =        "SIGSD3",
  DOI =          "https://doi.org/10.1145/1595496.1562925",
  ISSN =         "0097-8418 (print), 2331-3927 (electronic)",
  ISSN-L =       "0097-8418",
  bibdate =      "Sat Nov 17 15:44:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
  note =         "Proceedings of ITiCSE '09.",
  abstract =     "We propose Anchor Garden (AG), an interactive
                 workbench software for learning fundamentals of data
                 structures with the concepts of type, variable, object,
                 and their relations in a strongly typed object-oriented
                 programming language (OOPL) such as Java or C\#.
                 Learners can approach the basic data-handling concepts
                 of OOPLs by direct manipulation of graphical models in
                 AG. In addition, the learner can correlate his/her
                 manipulation and notation of source code because AG
                 automatically generates appropriate source-code
                 corresponding to this manipulation. Experimental
                 results showed a tendency of a learning effect with AG
                 and high correlations between concept understanding and
                 programming ability. Thus, AG has the potential to
                 enhance the programming ability of novice
                 programmers.",
  acknowledgement = ack-nhfb,
  fjournal =     "SIGCSE Bulletin (ACM Special Interest Group on
                 Computer Science Education)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J688",
}

@Article{Saxena:2009:PEO,
  author =       "Vipin Saxena and Deepak Arora",
  title =        "Performance evaluation for object oriented software
                 systems",
  journal =      j-SIGSOFT,
  volume =       "34",
  number =       "2",
  pages =        "1--5",
  month =        mar,
  year =         "2009",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/1507195.1507213",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:15:42 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigsoft2000.bib",
  abstract =     "Distributed computing has become an integral part of
                 large and complex computation used in large
                 organizations. It not only hides the complexities of
                 processing from its user but it also delivers
                 high-level security, reliability and availability. In
                 this regard, software and hardware competence must be
                 considered as a performance parameter for any
                 distributed computer system. For maximum throughput,
                 the software running on any hardware architecture
                 should be capable enough to utilize the available
                 resources at its highest efficiency. The main objective
                 of this paper is to measure the performance of
                 processors for different object-oriented software
                 system frameworks. The authors have chosen two types of
                 object oriented software system frameworks: C\#, based
                 on Microsoft {.NET} Framework and Visual C++, based on
                 Microsoft Foundation Classes. For processing needs, two
                 processors: Pentium D and Core 2 Duo are considered,
                 each having multiple execution cores in it. Before
                 evaluating the performance of these processors, a UML
                 model is presented for the process execution in a
                 distributed computing scenario. Along with UML class
                 and sequence diagram, a comparative study between
                 performances of aforesaid software system is also
                 reported.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Shacham:2009:CAS,
  author =       "Ohad Shacham and Martin Vechev and Eran Yahav",
  title =        "{Chameleon}: adaptive selection of collections",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "6",
  pages =        "408--418",
  month =        jun,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1542476.1542522",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Jun 16 14:41:16 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Languages such as Java and C\#, as well as scripting
                 languages like Python, and Ruby, make extensive use of
                 Collection classes. A collection implementation
                 represents a fixed choice in the dimensions of
                 operation time, space utilization, and synchronization.
                 Using the collection in a manner not consistent with
                 this fixed choice can cause significant performance
                 degradation. In this paper, we present CHAMELEON, a
                 low-overhead automatic tool that assists the programmer
                 in choosing the appropriate collection implementation
                 for her application. During program execution,
                 CHAMELEON computes elaborate trace and heap-based
                 metrics on collection behavior. These metrics are
                 consumed on-the-fly by a rules engine which outputs a
                 list of suggested collection adaptation strategies. The
                 tool can apply these corrective strategies
                 automatically or present them to the programmer. We
                 have implemented CHAMELEON on top of a IBM's J9
                 production JVM, and evaluated it over a small set of
                 benchmarks. We show that for some applications, using
                 CHAMELEON leads to a significant improvement of the
                 memory footprint of the application.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "bloat; collections; Java; semantic profiler",
}

@Article{Tsafrir:2009:MDW,
  author =       "Dan Tsafrir and Robert W. Wisniewski and David F.
                 Bacon and Bjarne Stroustrup",
  title =        "Minimizing dependencies within generic classes for
                 faster and smaller programs",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "10",
  pages =        "425--444",
  month =        oct,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1640089.1640121",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jun 21 18:01:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Generic classes can be used to improve performance by
                 allowing compile-time polymorphism. But the
                 applicability of compile-time polymorphism is narrower
                 than that of runtime polymorphism, and it might bloat
                 the object code. We advocate a programming principle
                 whereby a generic class should be implemented in a way
                 that minimizes the dependencies between its members
                 (nested types, methods) and its generic type
                 parameters. Conforming to this principle (1) reduces
                 the bloat and (2) gives rise to a previously
                 unconceived manner of using the language that expands
                 the applicability of compile-time polymorphism to a
                 wider range of problems. Our contribution is thus a
                 programming technique that generates faster and smaller
                 programs. We apply our ideas to GCC's STL containers
                 and iterators, and we demonstrate notable speedups and
                 reduction in object code size (real application runs
                 1.2x to 2.1x faster and STL code is 1x to 25x smaller).
                 We conclude that standard generic APIs (like STL)
                 should be amended to reflect the proposed principle in
                 the interest of efficiency and compactness. Such
                 modifications will not break old code, simply increase
                 flexibility. Our findings apply to languages like C++,
                 C\#, and D, which realize generic programming through
                 multiple instantiations.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "generalized hoisting; generics; scary assignments and
                 initializations; templates",
}

@Article{Xu:2009:SCC,
  author =       "Dana N. Xu and Simon Peyton Jones and Koen Claessen",
  title =        "Static contract checking for {Haskell}",
  journal =      j-SIGPLAN,
  volume =       "44",
  number =       "1",
  pages =        "41--52",
  month =        jan,
  year =         "2009",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1594834.1480889",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 9 08:40:38 MDT 2009",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Program errors are hard to detect and are costly both
                 to programmers who spend significant efforts in
                 debugging, and for systems that are guarded by runtime
                 checks. Static verification techniques have been
                 applied to imperative and object-oriented languages,
                 like Java and C\#, but few have been applied to a
                 higher-order lazy functional language, like Haskell. In
                 this paper, we describe a sound and automatic static
                 verification framework for Haskell, that is based on
                 contracts and symbolic execution. Our approach is
                 modular and gives precise blame assignments at
                 compile-time in the presence of higher-order functions
                 and laziness.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "contract satisfaction; static contract checking",
}

@Book{Albahari:2010:CN,
  author =       "Joseph Albahari and Ben Albahari",
  title =        "{C\# 4.0} in a nutshell",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Fourth",
  pages =        "xviii + 1025",
  year =         "2010",
  ISBN =         "0-596-80095-9",
  ISBN-13 =      "978-0-596-80095-6",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:35:06 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Book{Albahari:2010:CPR,
  author =       "Joseph Albahari and Ben Albahari",
  title =        "{C\# 4.0} pocket reference",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "????",
  year =         "2010",
  ISBN =         "1-4493-9401-9 (paperback)",
  ISBN-13 =      "978-1-4493-9401-1 (paperback)",
  LCCN =         "????",
  bibdate =      "Wed Nov 24 19:13:26 MST 2010",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Doyle:2010:CPP,
  author =       "Barbara Doyle",
  title =        "{C\#} Programming: From Problem Analysis to Program
                 Design",
  publisher =    "Course Technology",
  address =      "Boston, MA, USA",
  edition =      "Third",
  pages =        "832 (est.)",
  year =         "2010",
  ISBN =         "0-538-45302-8",
  ISBN-13 =      "978-0-538-45302-8",
  LCCN =         "????",
  bibdate =      "Mon Jul 05 08:17:48 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$129.95",
  acknowledgement = ack-nhfb,
}

@Book{Evjen:2010:PAN,
  author =       "Bill Evjen and Devin Rader and Scott Hanselman",
  title =        "Professional {ASP.NET 4} in {C\#} and {VB}",
  publisher =    pub-WROX,
  address =      pub-WROX:adr,
  pages =        "lviii + 1477",
  year =         "2010",
  ISBN =         "0-470-50220-7",
  ISBN-13 =      "978-0-470-50220-4",
  LCCN =         "TK5105.8885.A26 E96 2010",
  bibdate =      "Mon Jul 5 08:40:20 MDT 2010",
  bibsource =    "aubrey.tamu.edu:7090/voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "Active Server Pages; C\# (computer program language);
                 Microsoft Visual BASIC; Web sites; design; Web site
                 development; Microsoft .NET",
}

@Article{Fruja:2010:TPT,
  author =       "Nicu G. Fruja",
  title =        "Towards proving type safety of {C\#}",
  journal =      j-COMP-LANGS-SYS-STRUCT,
  volume =       "36",
  number =       "1",
  pages =        "60--95",
  month =        apr,
  year =         "2010",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1016/j.cl.2009.03.001",
  ISSN =         "1477-8424 (print), 1873-6866 (electronic)",
  ISSN-L =       "1477-8424",
  bibdate =      "Thu Mar 8 08:39:20 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/complngs.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 http://www.sciencedirect.com/science/journal/14778424",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1477842409000128",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Languages, Systems \& Structures",
  journal-URL =  "http://www.sciencedirect.com/science/journal/14778424",
}

@Book{Griffiths:2010:PC,
  author =       "Ian Griffiths and Matthew Adams and Jesse Liberty",
  title =        "Programming {C\# 4.0}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Sixth",
  pages =        "xxi + 830",
  year =         "2010",
  ISBN =         "0-596-15983-8",
  ISBN-13 =      "978-0-596-15983-2",
  LCCN =         "????",
  bibdate =      "Wed Nov 24 18:55:22 MST 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Article{Grossu:2010:CCC,
  author =       "I. V. Grossu and C. Besliu and Al. Jipa and C. C.
                 Bordeianu and D. Felea and E. Stan and T. Esanu",
  title =        "{Code C\#} for chaos analysis of relativistic
                 many-body systems",
  journal =      j-COMP-PHYS-COMM,
  volume =       "181",
  number =       "8",
  pages =        "1464--1470",
  month =        aug,
  year =         "2010",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2010.04.015",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Sat Feb 11 09:54:30 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465510001384",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Book{Jones:2010:VCR,
  editor =       "Allen Jones and Adam Freeman",
  title =        "{Visual C\# 2010} recipes: a problem-solution
                 approach",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  pages =        "xxiii + 987",
  year =         "2010",
  ISBN =         "1-4302-2525-4",
  ISBN-13 =      "978-1-4302-2525-6",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:29:07 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Book{Lerman:2010:PEF,
  author =       "Julia Lerman",
  title =        "Programming {Entity Framework}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "????",
  year =         "2010",
  ISBN =         "0-596-80727-9, 0-596-80726-0",
  ISBN-13 =      "978-0-596-80727-6, 978-0-596-80726-9",
  LCCN =         "????",
  bibdate =      "Wed Nov 24 18:56:01 MST 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft .NET Framework; Querying (Computer
                 science)",
}

@Book{Lowy:2010:PWS,
  author =       "Juval L{\"o}wy",
  title =        "Programming {WCF} services",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Third",
  pages =        "????",
  year =         "2010",
  ISBN =         "1-4493-8247-9, 0-596-80548-9",
  ISBN-13 =      "978-1-4493-8247-6, 978-0-596-80548-7",
  LCCN =         "????",
  bibdate =      "Wed Nov 24 18:56:09 MST 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "Web servers; Computer programs",
}

@Book{MacDonald:2010:WC,
  author =       "Matthew MacDonald",
  title =        "{WPF} in {C\# 2010}",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Third",
  year =         "2010",
  ISBN =         "1-4302-7205-8 (paperback)",
  ISBN-13 =      "978-1-4302-7205-2 (paperback)",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 13:11:04 MDT 2010",
  bibsource =    "clio-db.cc.columbia.edu:7090/Voyager;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$54.99",
  acknowledgement = ack-nhfb,
}

@Book{Magennis:2010:LOU,
  author =       "Troy Magennis",
  title =        "{LINQ} to objects using {C\# 4.0}: using and extending
                 {LINQ} to objects and {Parallel LINQ} ({PLINQ})",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 312",
  year =         "2010",
  ISBN =         "0-321-63720-8, 0-321-63700-3",
  ISBN-13 =      "978-0-321-63720-8, 978-0-321-63700-0",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:39:52 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "The Addison-Wesley Microsoft technology series",
  acknowledgement = ack-nhfb,
  subject =      "Microsoft LINQ; Microsoft .NET Framework; C{\#}
                 (Computer program language); Query languages (Computer
                 science)",
}

@Article{McSherry:2010:PIQ,
  author =       "Frank McSherry",
  title =        "Privacy integrated queries: an extensible platform for
                 privacy-preserving data analysis",
  journal =      j-CACM,
  volume =       "53",
  number =       "9",
  pages =        "89--97",
  month =        sep,
  year =         "2010",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1810891.1810916",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Thu Aug 26 16:49:59 MDT 2010",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Privacy Integrated Queries (PINQ) is an extensible
                 data analysis platform designed to provide
                 unconditional privacy guarantees for the records of the
                 underlying data sets. PINQ provides analysts with
                 access to records through an SQL-like declarative
                 language (LINQ) amidst otherwise arbitrary C\# code. At
                 the same time, the design of PINQ's analysis language
                 and its careful implementation provide formal
                 guarantees of {\em differential privacy\/} for any and
                 all uses of the platform. PINQ's guarantees require no
                 trust placed in the expertise or diligence of the
                 analysts, broadening the scope for design and
                 deployment of privacy-preserving data analyses,
                 especially by privacy nonexperts.",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Book{Michaelis:2010:ECH,
  author =       "Mark Michaelis",
  title =        "Essential {C\# 4.0}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Third",
  pages =        "li + 930",
  year =         "2010",
  ISBN =         "0-321-69563-1, 0-321-69469-4",
  ISBN-13 =      "978-0-321-69563-5, 978-0-321-69469-0",
  LCCN =         "QA76.73.C154 M5237 2010",
  bibdate =      "Mon Jul 5 08:40:10 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Book{Nagel:2010:PCN,
  editor =       "Christian Nagel and Bill Evjen and Jay Glynn and Karli
                 Watson and Morgan Skinner",
  title =        "Professional {C\# 4} and {.NET 4}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "lix + 1474",
  year =         "2010",
  ISBN =         "0-470-50225-8",
  ISBN-13 =      "978-0-470-50225-9",
  LCCN =         "QA76.73.C154",
  bibdate =      "Mon Jul 5 08:40:28 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Wrox programmer to programmer",
  acknowledgement = ack-nhfb,
}

@Article{Pizlo:2010:SFT,
  author =       "Filip Pizlo and Lukasz Ziarek and Petr Maj and Antony
                 L. Hosking and Ethan Blanton and Jan Vitek",
  title =        "{SCHISM}: fragmentation-tolerant real-time garbage
                 collection",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "6",
  pages =        "146--159",
  month =        jun,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1806596.1806615",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 8 17:53:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Managed languages such as Java and C\# are being
                 considered for use in hard real-time systems. A hurdle
                 to their widespread adoption is the lack of garbage
                 collection algorithms that offer predictable
                 space-and-time performance in the face of
                 fragmentation. We introduce SCHISM/CMR, a new
                 concurrent and real-time garbage collector that is
                 fragmentation tolerant and guarantees time-and-space
                 worst-case bounds while providing good throughput.
                 SCHISM/CMR combines mark-region collection of
                 fragmented objects and arrays (arraylets) with separate
                 replication-copying collection of immutable arraylet
                 spines, so as to cope with external fragmentation when
                 running in small heaps. We present an implementation of
                 SCHISM/CMR in the Fiji VM, a high-performance Java
                 virtual machine for mission-critical systems, along
                 with a thorough experimental evaluation on a wide
                 variety of architectures, including server-class and
                 embedded systems. The results show that SCHISM/CMR
                 tolerates fragmentation better than previous schemes,
                 with a much more acceptable throughput penalty.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "fragmentation; mark-region; mark-sweep; real-time;
                 replication-copying",
}

@Article{Prabhu:2010:SPS,
  author =       "Prakash Prabhu and Ganesan Ramalingam and Kapil
                 Vaswani",
  title =        "Safe programmable speculative parallelism",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "6",
  pages =        "50--61",
  month =        jun,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1806596.1806603",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 8 17:53:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Execution order constraints imposed by dependences can
                 serialize computation, preventing parallelization of
                 code and algorithms. Speculating on the value(s)
                 carried by dependences is one way to break such
                 critical dependences. Value speculation has been used
                 effectively at a low level, by compilers and hardware.
                 In this paper, we focus on the use of speculation {\em
                 by programmers\/} as an algorithmic paradigm to
                 parallelize seemingly sequential code.\par

                 We propose two new language constructs, {\em
                 speculative composition\/} and {\em speculative
                 iteration}. These constructs enable programmers to
                 declaratively express speculative parallelism in
                 programs: to indicate when and how to speculate,
                 increasing the parallelism in the program, without
                 concerning themselves with mundane implementation
                 details.\par

                 We present a core language with speculation constructs
                 and mutable state and present a formal operational
                 semantics for the language. We use the semantics to
                 define the notion of a correct speculative execution as
                 one that is equivalent to a non-speculative execution.
                 In general, speculation requires a runtime mechanism to
                 undo the effects of speculative computation in the case
                 of mis predictions. We describe a set of conditions
                 under which such rollback can be avoided. We present a
                 static analysis that checks if a given program
                 satisfies these conditions. This allows us to implement
                 speculation efficiently, without the overhead required
                 for rollbacks.\par

                 We have implemented the speculation constructs as a C\#
                 library, along with the static checker for safety. We
                 present an empirical evaluation of the efficacy of this
                 approach to parallelization.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "purity; rollback freedom; safety; speculative
                 parallelism; value speculation",
}

@Article{Rajan:2010:GPM,
  author =       "Kaushik Rajan and Sriram Rajamani and Shashank
                 Yaduvanshi",
  title =        "{GUESSTIMATE}: a programming model for collaborative
                 distributed systems",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "6",
  pages =        "210--220",
  month =        jun,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1809028.1806621",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 8 17:53:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "We present a new programming model GUESSTIMATE for
                 developing collaborative distributed systems. The model
                 allows atomic, isolated operations that transform a
                 system from consistent state to consistent state, and
                 provides a shared transactional store for a collection
                 of such operations executed by various machines in a
                 distributed system. In addition to 'committed state'
                 which is identical in all machines in the distributed
                 system, GUESSTIMATE allows each machine to have a
                 replicated local copy of the state (called
                 'guesstimated state') so that operations on shared
                 state can be executed locally without any blocking,
                 while also guaranteeing that eventually all machines
                 agree on the sequences of operations executed. Thus,
                 each operation is executed multiple times, once at the
                 time of issue when it updates the guesstimated state of
                 the issuing machine, once when the operation is
                 committed (atomically) to the committed state of all
                 machines, and several times in between as the
                 guesstimated state converges toward the committed
                 state. While we expect the results of these executions
                 of the operation to be identical most of the time in
                 the class of applications we study, it is possible for
                 an operation to succeed the first time when it is
                 executed on the guesstimated state, and fail when it is
                 committed. GUESSTIMATE provides facilities that allow
                 the programmer to deal with this potential discrepancy.
                 This paper presents our programming model, its
                 operational semantics, its realization as an API in
                 C\#, and our experience building collaborative
                 distributed applications with this model.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "collaborative applications; concurrency; distributed
                 systems; language extensions",
}

@Book{Richter:2010:CCH,
  author =       "Jeffrey Richter",
  title =        "{CLR} via {C\#}",
  publisher =    pub-MICROSOFT,
  address =      pub-MICROSOFT:adr,
  edition =      "Third",
  pages =        "xviii + 873",
  year =         "2010",
  ISBN =         "0-7356-4046-7, 0-7356-2704-5",
  ISBN-13 =      "978-0-7356-4046-7, 978-0-7356-2704-8",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:40:55 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
  remark =       "Full coverage of multicore programming.",
  subject =      "Microsoft .NET Framework; C\# (computer program
                 language); compiling (electronic computers); Common
                 Language Runtime (computer science)",
}

@Book{Schildt:2010:CCR,
  author =       "Herbert Schildt",
  title =        "{C\# 4.0}: the complete reference",
  publisher =    pub-MCGRAW-HILL,
  address =      pub-MCGRAW-HILL:adr,
  pages =        "xxv + 949",
  year =         "2010",
  ISBN =         "0-07-174116-X (paperback)",
  ISBN-13 =      "978-0-07-174116-3 (paperback)",
  LCCN =         "QA76.73.C154",
  bibdate =      "Mon Jul 5 09:17:10 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "US\$34.99",
  acknowledgement = ack-nhfb,
  remark =       "Covers the entie {C\#} language; details new 4.0
                 features, such as the Task Parallel library, {PLINQ},
                 the dynamic type, and more; hundreds of easy to follow
                 examples.",
  subject =      "C\# (Computer program language)",
}

@Book{Skeet:2010:CD,
  author =       "Jon Skeet",
  title =        "{C\#} in Depth",
  publisher =    pub-MANNING,
  address =      pub-MANNING:adr,
  pages =        "xxx + 554",
  year =         "2010",
  ISBN =         "1-935182-47-1",
  ISBN-13 =      "978-1-935182-47-4",
  LCCN =         "QA76.73.C154 S58 2011",
  bibdate =      "Mon Jul 05 12:28:57 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  price =        "US\$49.99",
  acknowledgement = ack-nhfb,
}

@Article{Spring:2010:RAI,
  author =       "Jesper Honig Spring and Filip Pizlo and Jean Privat
                 and Rachid Guerraoui and Jan Vitek",
  title =        "{Reflexes}: {Abstractions} for integrating highly
                 responsive tasks into {Java} applications",
  journal =      j-TECS,
  volume =       "10",
  number =       "1",
  pages =        "4:1--4:??",
  month =        aug,
  year =         "2010",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/1814539.1814543",
  ISSN =         "1539-9087",
  ISSN-L =       "1539-9087",
  bibdate =      "Mon Aug 30 15:29:45 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Achieving submillisecond response times in a managed
                 language environment such as Java or C\# requires
                 overcoming significant challenges. In this article, we
                 propose Reflexes, a programming model and runtime
                 system infrastructure that lets developers seamlessly
                 mix highly responsive tasks and timing-oblivious Java
                 applications. Thus enabling gradual addition of
                 real-time features, to a non-real-time application
                 without having to resort to recoding the real-time
                 parts in a different language such as C or Ada.
                 Experiments with the Reflex prototype implementation
                 show that it is possible to run a real-time task with a
                 period of 45$ \mu $ s with an accuracy of 99.996\%
                 (only 0.001\% worse than the corresponding C
                 implementation) in the presence of garbage collection
                 and heavy load ordinary Java threads.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J840",
  keywords =     "Java virtual machine; memory management; Real-time
                 systems",
}

@Book{Stellman:2010:HFC,
  author =       "Andrew Stellman and Jennifer Greene",
  title =        "Head first {C\#}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  edition =      "Second",
  pages =        "????",
  year =         "2010",
  ISBN =         "1-4493-8034-4 (paperback)",
  ISBN-13 =      "978-1-4493-8034-2 (paperback)",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 11:51:25 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.gbv.de:20011/gvk",
  price =        "US\$35.50",
  acknowledgement = ack-nhfb,
}

@Article{Tate:2010:IOO,
  author =       "Ross Tate and Juan Chen and Chris Hawblitzel",
  title =        "Inferable object-oriented typed assembly language",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "6",
  pages =        "424--435",
  month =        jun,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1806596.1806644",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 8 17:53:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "A certifying compiler preserves type information
                 through compilation to assembly language programs,
                 producing typed assembly language (TAL) programs that
                 can be verified for safety independently so that the
                 compiler does not need to be trusted. There are two
                 challenges for adopting certifying compilation in
                 practice. First, requiring every compiler
                 transformation and optimization to preserve types is a
                 large burden on compilers, especially when adopting
                 certifying compilation into existing optimizing
                 non-certifying compilers. Second, type annotations
                 significantly increase the size of assembly language
                 programs.\par

                 This paper proposes an alternative to traditional
                 certifying compilers. It presents iTalX, the first
                 inferable TAL type system that supports existential
                 types, arrays, interfaces, and stacks. We have proved
                 our inference algorithm is complete, meaning if an
                 assembly language program is typeable with iTalX then
                 our algorithm will infer an iTalX typing for that
                 program. Furthermore, our algorithm is guaranteed to
                 terminate even if the assembly language program is
                 untypeable. We demonstrate that it is practical to
                 infer such an expressive TAL by showing a prototype
                 implementation of type inference for code compiled by
                 Bartok, an optimizing C\# compiler. Our prototype
                 implementation infers complete type annotations for
                 98\% of functions in a suite of realistic C\#
                 benchmarks. The type-inference time is about 8\% of the
                 compilation time. We needed to change only 2.5\% of the
                 compiler code, mostly adding new code for defining
                 types and for writing types to object files. Most
                 transformations are untouched. Type-annotation size is
                 only 17\% of the size of pure code and data, reducing
                 type annotations in our previous certifying compiler
                 [4] by 60\%. The compiler needs to preserve only
                 essential type information such as method signatures,
                 object-layout information, and types for static data
                 and external labels. Even non-certifying compilers have
                 most of this information available.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "certifying compiler; existential quantification;
                 object-oriented compiler; type inference; typed
                 assembly language (tal)",
}

@Book{Troelsen:2010:PCN,
  author =       "Andrew Troelsen",
  title =        "{Pro C\# 2010} and the {.Net 4.0} platform",
  publisher =    pub-APRESS,
  address =      pub-APRESS:adr,
  edition =      "Fifth",
  pages =        "xxxviii + 1712",
  year =         "2010",
  DOI =          "https://doi.org/10.1007/978-1-4302-2550-8",
  ISBN =         "1-4302-2550-5, 1-4302-2549-1",
  ISBN-13 =      "978-1-4302-2550-8, 978-1-4302-2549-2",
  LCCN =         "QA76.73.C154 T764 2010",
  bibdate =      "Wed Nov 24 18:53:46 MST 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 melvyl.cdlib.org:210/CDL90",
  acknowledgement = ack-nhfb,
  remark =       "Exploring the .NET universe using curly brackets.",
  subject =      "C\# (Computer program language); Microsoft .NET
                 Framework",
}

@Book{Wagner:2010:ECH,
  author =       "Bill Wagner",
  title =        "Effective {C\#}: 50 specific ways to improve your
                 {C\#}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Second",
  pages =        "xviii + 328",
  year =         "2010",
  ISBN =         "0-321-65914-7, 0-321-65870-1",
  ISBN-13 =      "978-0-321-65914-9, 978-0-321-65870-8",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:40:02 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  series =       "Effective software development series",
  acknowledgement = ack-nhfb,
  subject =      "Database management; Microsoft .NET Framework; C\#
                 (Computer program language)",
}

@Book{Watson:2010:BMV,
  author =       "Karli Jane Watson",
  title =        "Beginning {Microsoft Visual C\# 2010}",
  publisher =    pub-WILEY,
  address =      pub-WILEY:adr,
  pages =        "????",
  year =         "2010",
  ISBN =         "0-470-50226-6 (paperback)",
  ISBN-13 =      "978-0-470-50226-6 (paperback)",
  LCCN =         "????",
  bibdate =      "Mon Jul 5 08:24:57 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
}

@Book{Watson:2010:CH,
  author =       "Ben Watson",
  title =        "{C\# 4.0} how-to: Real Solutions for {C\# 4.0}
                 programs",
  publisher =    pub-SAMS,
  address =      pub-SAMS:adr,
  pages =        "xiii + 653",
  year =         "2010",
  ISBN =         "0-672-33063-6 (paperback)",
  ISBN-13 =      "978-0-672-33063-6 (paperback)",
  LCCN =         "QA76.73.C154 W38 2010",
  bibdate =      "Mon Jul 5 08:25:41 MDT 2010",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 z3950.loc.gov:7090/Voyager",
  acknowledgement = ack-nhfb,
  subject =      "C\# (Computer program language)",
}

@Article{Wehr:2010:JBP,
  author =       "Stefan Wehr and Peter Thiemann",
  title =        "{JavaGI} in the battlefield: practical experience with
                 generalized interfaces",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "2",
  pages =        "65--74",
  month =        feb,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1621607.1621619",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Aug 31 22:37:56 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Generalized interfaces are an extension of the
                 interface concept found in object-oriented languages
                 such as Java or C\#. The extension is inspired by
                 Haskell's type classes. It supports retroactive and
                 type-conditional interface implementations, binary
                 methods, symmetric multimethods, interfaces over
                 families of types, and static interface
                 methods.\par

                 This article reports practical experience with
                 generalized interfaces as implemented in the JavaGI
                 language. Several real-world case studies demonstrate
                 how generalized interfaces provide solutions to
                 extension and integration problems with components in
                 binary form, how they make certain design patterns
                 redundant, and how they eliminate various run-time
                 errors. In each case study, the use of JavaGI results
                 in elegant and highly readable code.\par

                 Furthermore, the article discusses the implementation
                 of a compiler and a run-time system for JavaGI.
                 Benchmarks show that our implementation offers
                 acceptable performance.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "case studies; external methods; JavaGI; multimethods;
                 retroactive interface implementation",
}

@Article{Yang:2010:SLI,
  author =       "Jean Yang and Chris Hawblitzel",
  title =        "Safe to the last instruction: automated verification
                 of a type-safe operating system",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "6",
  pages =        "99--110",
  month =        jun,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1809028.1806610",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Fri Oct 8 17:53:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "Typed assembly language (TAL) and Hoare logic can
                 verify the absence of many kinds of errors in low-level
                 code. We use TAL and Hoare logic to achieve highly
                 automated, static verification of the safety of a new
                 operating system called Verve. Our techniques and tools
                 mechanically verify the safety of every assembly
                 language instruction in the operating system, run-time
                 system, drivers, and applications (in fact, every part
                 of the system software except the boot loader). Verve
                 consists of a 'Nucleus' that provides primitive access
                 to hardware and memory, a kernel that builds services
                 on top of the Nucleus, and applications that run on top
                 of the kernel. The Nucleus, written in verified
                 assembly language, implements allocation, garbage
                 collection, multiple stacks, interrupt handling, and
                 device access. The kernel, written in C\# and compiled
                 to TAL, builds higher-level services, such as
                 preemptive threads, on top of the Nucleus. A TAL
                 checker verifies the safety of the kernel and
                 applications. A Hoare-style verifier with an automated
                 theorem prover verifies both the safety and correctness
                 of the Nucleus. Verve is, to the best of our knowledge,
                 the first operating system mechanically verified to
                 guarantee both type and memory safety. More generally,
                 Verve's approach demonstrates a practical way to mix
                 high-level typed code with low-level untyped code in a
                 verifiably safe manner.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "operating system; run-time system; type safety;
                 verification",
}

@Article{Zyulkyarov:2010:DPU,
  author =       "Ferad Zyulkyarov and Tim Harris and Osman S. Unsal and
                 Adr{\'\i}an Cristal and Mateo Valero",
  title =        "Debugging programs that use atomic blocks and
                 transactional memory",
  journal =      j-SIGPLAN,
  volume =       "45",
  number =       "5",
  pages =        "57--66",
  month =        may,
  year =         "2010",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/1837853.1693463",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Aug 31 22:39:18 MDT 2010",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "With the emergence of research prototypes, programming
                 using atomic blocks and transactional memory (TM) is
                 becoming more attractive. This paper describes our
                 experience building and using a debugger for programs
                 written with these abstractions. We introduce three
                 approaches: ({\em i\/}) debugging at the level of
                 atomic blocks, where the programmer is shielded from
                 implementation details (such as exactly what kind of TM
                 is used, or indeed whether lock inference is used
                 instead), ({\em ii\/}) debugging at the level of
                 transactions, where conflict rates, read sets, write
                 sets, and other TM internals are visible, and ({\em
                 iii\/}) debug-time transactions, which let the
                 programmer manipulate synchronization from within the
                 debugger - e.g., enlarging the scope of an atomic block
                 to try to identify a bug.\par

                 In this paper we explain the rationale behind the new
                 debugging approaches that we propose. We describe the
                 design and implementation of an extension to the WinDbg
                 debugger, enabling support for C\# programs using
                 atomic blocks and TM. We also demonstrate the design of
                 a 'conflict point discovery' technique for identifying
                 program statements that introduce contention between
                 transactions. We illustrate how these techniques can be
                 used by optimizing a C\# version of the Genome
                 application from STAMP TM benchmark suite.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  keywords =     "debugging; transactional memory",
}

@Article{Barnett:2011:SVS,
  author =       "Mike Barnett and Manuel F{\"a}hndrich and K. Rustan M.
                 Leino and Peter M{\"u}ller and Wolfram Schulte and
                 Herman Venter",
  title =        "Specification and verification: the {Spec\#}
                 experience",
  journal =      j-CACM,
  volume =       "54",
  number =       "6",
  pages =        "81--91",
  month =        jun,
  year =         "2011",
  CODEN =        "CACMA2",
  DOI =          "https://doi.org/10.1145/1953122.1953145",
  ISSN =         "0001-0782 (print), 1557-7317 (electronic)",
  ISSN-L =       "0001-0782",
  bibdate =      "Wed Jun 1 18:12:20 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/cacm/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Communications of the ACM",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J79",
}

@Book{Deitel:2011:VCH,
  author =       "Paul J. Deitel and Harvey M. Deitel",
  title =        "{Visual C\# 2010}: how to program",
  publisher =    "Pearson Prentice Hall",
  address =      "Upper Saddle River, NJ, USA",
  edition =      "Fourth",
  pages =        "xxx + 959",
  year =         "2011",
  ISBN =         "0-13-215142-1 (paperback)",
  ISBN-13 =      "978-0-13-215142-9 (paperback)",
  LCCN =         "QA76.73.C154 D46 2011",
  bibdate =      "Tue May 12 16:19:49 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/unicode.bib;
                 z3950.loc.gov:7090/Voyager",
  series =       "How to program",
  acknowledgement = ack-nhfb,
  remark =       "Revised edition of: \booktitle{Visual C\# 2008} / P.J.
                 Deitel, H.M. Deitel. 2009.",
  subject =      "C\# (Computer program language)",
  tableofcontents = "Introduction to computers, the internet and Visual
                 C\# \\
                 Dive into Visual C\# 2010 express \\
                 Introduction to C\# applications \\
                 Introduction to classes, objects, methods and strings
                 \\
                 Control statements: part 1 \\
                 Control statements: part 2 \\
                 Methods: a deeper look \\
                 Arrays \\
                 Introduction to LINQ and the list collection \\
                 Classes and objects: a deeper look \\
                 Object-oriented programming: inheritance \\
                 OOP: polymorphism, interfaces and operator overloading
                 \\
                 Exception handling: a deeper look \\
                 Graphical user interfaces with windows forms: part 1
                 \\
                 Graphical user interfaces with windows forms: part 2
                 \\
                 Strings and characters \\
                 Files and streams \\
                 Databases and LINQ \\
                 Web App development with ASP.NET \\
                 Searching and sorting \\
                 Data structures \\
                 Generics \\
                 Collections \\
                 Chapters on the web \\
                 Operator precedence chart \\
                 Simple types \\
                 ASCII character set \\
                 Appendices on the web \\
                 GUI with windows presentation foundation \\
                 WPF graphics and multimedia \\
                 XML and LINQ to XML \\
                 Web App development with ASP.NET: a deeper look
                 \\
                 Windows communication foundation (WCF) web services
                 \\
                 Silverlight and rich internet applications \\
                 ATM case study, part 1: object-oriented design with the
                 UML \\
                 ATM case study, part 2: implementing an object-oriented
                 design \\
                 Number systems \\
                 UML 2: additional diagram types \\
                 Unicode \\
                 Using the Visual C\# 2010 debugger",
}

@Book{Hejlsberg:2011:CPL,
  editor =       "Anders Hejlsberg and Mads Togersen and Scott Wiltamuth
                 and Peter Golde",
  title =        "The {C\#} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  edition =      "Fourth",
  pages =        "xviii + 844",
  year =         "2011",
  ISBN =         "0-321-74176-5",
  ISBN-13 =      "978-0-321-74176-9",
  LCCN =         "QA76.73.C154",
  bibdate =      "Mon Oct 6 17:37:12 MDT 2008",
  bibsource =    "fsz3950.oclc.org:210/WorldCat;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  price =        "US\$44.99",
  URL =          "http://www.pearsonhighered.com/bookseller/product/C-Programming-Language-Covering-C-40-The/9780321741769.page",
  acknowledgement = ack-nhfb,
  remark =       "Expected publication date 2010-10-22.",
  subject =      "C\# (Computer program language)",
  tableofcontents = "Chapter 1: Introduction \\
                 Chapter 2: Lexical Structure \\
                 Chapter 3: Basic Concepts \\
                 Chapter 4: Types \\
                 Chapter 5: Variables \\
                 Chapter 6: Conversions \\
                 Chapter 7: Expressions \\
                 Chapter 8: Statements \\
                 Chapter 9: Namespaces \\
                 Chapter 10: Classes \\
                 Chapter 11: Structs \\
                 Chapter 12: Arrays \\
                 Chapter 13: Interfaces \\
                 Chapter 14: Enums \\
                 Chapter 15: Delegates \\
                 Chapter 16: Exceptions \\
                 Chapter 17: Attributes \\
                 Chapter 18: Unsafe Code \\
                 Appendix A: Documentation Comments \\
                 Appendix B: Grammar \\
                 Appendix C: References",
}

@Article{Kalibera:2011:SRT,
  author =       "Tomas Kalibera and Filip Pizlo and Antony L. Hosking
                 and Jan Vitek",
  title =        "Scheduling real-time garbage collection on
                 uniprocessors",
  journal =      j-TOCS,
  volume =       "29",
  number =       "3",
  pages =        "8:1--8:??",
  month =        aug,
  year =         "2011",
  CODEN =        "ACSYEC",
  DOI =          "https://doi.org/10.1145/2003690.2003692",
  ISSN =         "0734-2071",
  ISSN-L =       "0734-2071",
  bibdate =      "Wed Aug 24 18:08:12 MDT 2011",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tocs/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/tocs.bib",
  abstract =     "Managed languages such as Java and C\# are
                 increasingly being considered for hard real-time
                 applications because of their productivity and software
                 engineering advantages. Automatic memory management, or
                 garbage collection, is a key enabler for robust,
                 reusable libraries, yet remains a challenge for
                 analysis and implementation of real-time execution
                 environments. This article comprehensively compares
                 leading approaches to hard real-time garbage
                 collection. There are many design decisions involved in
                 selecting a real-time garbage collection algorithm. For
                 time-based garbage collectors on uniprocessors one must
                 choose whether to use periodic, slack-based or hybrid
                 scheduling. A significant impediment to valid
                 experimental comparison of such choices is that
                 commercial implementations use completely different
                 proprietary infrastructures.",
  acknowledgement = ack-nhfb,
  articleno =    "8",
  fjournal =     "ACM Transactions on Computer Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J774",
}

@Article{Wang:2011:EEU,
  author =       "Alf Inge Wang",
  title =        "Extensive Evaluation of Using a Game Project in a
                 Software Architecture Course",
  journal =      j-TOCE,
  volume =       "11",
  number =       "1",
  pages =        "5:1--5:??",
  month =        feb,
  year =         "2011",
  CODEN =        "????",
  ISSN =         "1946-6226",
  bibdate =      "Mon Feb 28 16:08:34 MST 2011",
  bibsource =    "http://www.acm.org/pubs/toce;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "This article describes an extensive evaluation of
                 introducing a game project to a software architecture
                 course. In this project, university students have to
                 construct and design a type of software architecture,
                 evaluate the architecture, implement an application
                 based on the architecture, and test this
                 implementation. In previous years, the domain of the
                 software architecture project has been a robot
                 controller for navigating a maze. In 2008, the students
                 on the software architecture course chose between the
                 two domains: Khepera robot simulation in Java and XNA
                 game development in C\#. Independent of the domain
                 chosen, the students had to go through the same phases,
                 produce the same documents based on the same templates,
                 and follow exactly the same process.",
  acknowledgement = ack-nhfb,
  articleno =    "5",
  fjournal =     "ACM Transactions on Computing Education",
}

@Article{Cao:2012:YYP,
  author =       "Ting Cao and Stephen M. Blackburn and Tiejun Gao and
                 Kathryn S. McKinley",
  title =        "The yin and yang of power and performance for
                 asymmetric hardware and managed software",
  journal =      j-COMP-ARCH-NEWS,
  volume =       "40",
  number =       "3",
  pages =        "225--236",
  month =        jun,
  year =         "2012",
  CODEN =        "CANED2",
  DOI =          "https://doi.org/10.1145/2366231.2337185",
  ISSN =         "0163-5964 (print), 1943-5851 (electronic)",
  ISSN-L =       "0163-5964",
  bibdate =      "Thu Sep 6 10:21:07 MDT 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigarch.bib",
  note =         "ISCA '12 conference proceedings.",
  abstract =     "On the hardware side, asymmetric multicore processors
                 present software with the challenge and opportunity of
                 optimizing in two dimensions: performance and power.
                 Asymmetric multicore processors (AMP) combine
                 general-purpose big (fast, high power) cores and small
                 (slow, low power) cores to meet power constraints.
                 Realizing their energy efficiency opportunity requires
                 workloads with differentiated performance and power
                 characteristics. On the software side, managed
                 workloads written in languages such as C\#, Java,
                 JavaScript, and PHP are ubiquitous. Managed languages
                 abstract over hardware using Virtual Machine (VM)
                 services (garbage collection, interpretation, and/or
                 just-in-time compilation) that together impose
                 substantial energy and performance costs, ranging from
                 10\% to over 80\%. We show that these services manifest
                 a differentiated performance and power workload. To
                 differing degrees, they are parallel, asynchronous,
                 communicate infrequently, and are not on the
                 application?s critical path. We identify a synergy
                 between AMP and VM services that we exploit to attack
                 the 40\% average energy overhead due to VM services.
                 Using measurements and very conservative models, we
                 show that adding small cores tailored for VM services
                 should deliver, at least, improvements in performance
                 of 13\%, energy of 7\%, and performance per energy of
                 22\%. The yin of VM services is overhead, but it meets
                 the yang of small cores on an AMP. The yin of AMP is
                 exposed hardware complexity, but it meets the yang of
                 abstraction in managed languages. VM services fulfill
                 the AMP requirement for an asynchronous, non-critical,
                 differentiated, parallel, and ubiquitous workload to
                 deliver energy efficiency. Generalizing this approach
                 beyond system software to applications will require
                 substantially more software and hardware investment,
                 but these results show the potential energy efficiency
                 gains are significant.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGARCH Computer Architecture News",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J89",
}

@Article{Derezinska:2012:OOT,
  author =       "Anna Derezi{\'n}ska and Anna Szustek",
  title =        "Object-Oriented Testing Capabilities and Performance
                 Evaluation of the {C\#} Mutation System",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "7054",
  pages =        "229--242",
  year =         "2012",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/978-3-642-28038-2_18",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Wed Dec 19 15:23:17 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs2012a.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-28038-2_18/",
  acknowledgement = ack-nhfb,
  book-DOI =     "https://doi.org/10.1007/978-3-642-28038-2",
  book-URL =     "http://www.springerlink.com/content/978-3-642-28038-2",
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Derezinska:2012:QEO,
  author =       "Anna Derezi{\'n}ska and Marcin Rudnik",
  title =        "Quality Evaluation of Object-Oriented and Standard
                 Mutation Operators Applied to {C\#} Programs",
  journal =      j-LECT-NOTES-COMP-SCI,
  volume =       "7304",
  pages =        "42--57",
  year =         "2012",
  CODEN =        "LNCSD9",
  DOI =          "https://doi.org/10.1007/978-3-642-30561-0_5",
  ISSN =         "0302-9743 (print), 1611-3349 (electronic)",
  ISSN-L =       "0302-9743",
  bibdate =      "Mon Dec 24 07:30:41 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/lncs2012e.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-642-30561-0_5/;
                 http://link.springer.com/content/pdf/10.1007/978-3-642-30561-0_5",
  acknowledgement = ack-nhfb,
  book-DOI =     "https://doi.org/10.1007/978-3-642-30561-0Objects,
                 Models, Components, Patterns",
  book-URL =     "http://www.springerlink.com/content/978-3-642-30561-0",
  fjournal =     "Lecture Notes in Computer Science",
}

@Article{Gordon:2012:URI,
  author =       "Colin S. Gordon and Matthew J. Parkinson and Jared
                 Parsons and Aleks Bromfield and Joe Duffy",
  title =        "Uniqueness and reference immutability for safe
                 parallelism",
  journal =      j-SIGPLAN,
  volume =       "47",
  number =       "10",
  pages =        "21--40",
  month =        oct,
  year =         "2012",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2398857.2384619",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Nov 15 16:40:23 MST 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "A key challenge for concurrent programming is that
                 side-effects (memory operations) in one thread can
                 affect the behavior of another thread. In this paper,
                 we present a type system to restrict the updates to
                 memory to prevent these unintended side-effects. We
                 provide a novel combination of immutable and unique
                 (isolated) types that ensures safe parallelism (race
                 freedom and deterministic execution). The type system
                 includes support for polymorphism over type qualifiers,
                 and can easily create cycles of immutable objects. Key
                 to the system's flexibility is the ability to recover
                 immutable or externally unique references after
                 violating uniqueness without any explicit alias
                 tracking. Our type system models a prototype extension
                 to C\# that is in active use by a Microsoft team. We
                 describe their experiences building large systems with
                 this extension. We prove the soundness of the type
                 system by an embedding into a program logic.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "OOPSLA '12 conference proceedings.",
}

@Book{Griffiths:2012:PC,
  author =       "Ian Griffiths",
  title =        "Programming {C\# 5.0}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "886",
  year =         "2012",
  ISBN =         "1-4493-2041-4",
  ISBN-13 =      "978-1-4493-2041-6",
  LCCN =         "????",
  bibdate =      "Wed Nov 21 15:34:47 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 z3950.bibsys.no:2100/BIBSYS",
  acknowledgement = ack-nhfb,
}

@Book{Griffiths:2012:PCB,
  author =       "Ian Griffiths",
  title =        "Programming {C\# 5.0}: Building {Windows 8 Metro},
                 {Web}, and Desktop Applications for the {.NET 4.5
                 Framework}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "800",
  year =         "2012",
  ISBN =         "1-4493-2041-4 (paperback)",
  ISBN-13 =      "978-1-4493-2041-6 (paperback)",
  LCCN =         "????",
  bibdate =      "Wed Nov 21 15:45:21 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/ora.bib;
                 library.ox.ac.uk:210/ADVANCE; z3950.gbv.de:20011/gvk",
  price =        "EUR 45.00, UK \pounds 42.50",
  acknowledgement = ack-nhfb,
  subject =      "C (Computer program language); Microsoft .NET
                 Framework",
}

@Article{Grossu:2012:CCC,
  author =       "I. V. Grossu and C. Besliu and Al. Jipa and E. Stan
                 and T. Esanu and D. Felea and C. C. Bordeianu",
  title =        "{Code C\#} for chaos analysis of relativistic
                 many-body systems with reactions",
  journal =      j-COMP-PHYS-COMM,
  volume =       "183",
  number =       "4",
  pages =        "1055--1059",
  month =        apr,
  year =         "2012",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2012.01.009",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Sat Feb 11 10:11:02 MST 2012",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465512000124",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Hashmi:2012:CNI,
  author =       "Atif Hashmi and Andrew Nere and James Jamal Thomas and
                 Mikko Lipasti",
  title =        "A case for neuromorphic {ISAs}",
  journal =      j-SIGPLAN,
  volume =       "47",
  number =       "4",
  pages =        "145--158",
  month =        apr,
  year =         "2012",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2248487.1950385",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jun 7 08:15:03 MDT 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "The desire to create novel computing systems, paired
                 with recent advances in neuroscientific understanding
                 of the brain, has led researchers to develop
                 neuromorphic architectures that emulate the brain. To
                 date, such models are developed, trained, and deployed
                 on the same substrate. However, excessive co-dependence
                 between the substrate and the algorithm prevents
                 portability, or at the very least requires
                 reconstructing and retraining the model whenever the
                 substrate changes. This paper proposes a well-defined
                 abstraction layer --- the Neuromorphic instruction set
                 architecture, or NISA --- that separates a neural
                 application's algorithmic specification from the
                 underlying execution substrate, and describes the Aivo
                 framework, which demonstrates the concrete advantages
                 of such an abstraction layer. Aivo consists of a NISA
                 implementation for a rate-encoded neuromorphic system
                 based on the cortical column abstraction, a
                 state-of-the-art integrated development and runtime
                 environment (IDE), and various profile-based
                 optimization tools. Aivo's IDE generates code for
                 emulating cortical networks on the host CPU, multiple
                 GPGPUs, or as boolean functions. Its runtime system can
                 deploy and adaptively optimize cortical networks in a
                 manner similar to conventional just-in-time compilers
                 in managed runtime systems (e.g. Java, C\#). We
                 demonstrate the abilities of the NISA abstraction by
                 constructing a cortical network model of the mammalian
                 visual cortex, deploying on multiple execution
                 substrates, and utilizing the various optimization
                 tools we have created. For this hierarchical
                 configuration, Aivo's profiling based network
                 optimization tools reduce the memory footprint by 50\%
                 and improve the execution time by a factor of 3x on the
                 host CPU. Deploying the same network on a single GPGPU
                 results in a 30x speedup. We further demonstrate that a
                 speedup of 480x can be achieved by deploying a
                 massively scaled cortical network across three GPGPUs.
                 Finally, converting a trained hierarchical network to
                 C/C++ boolean constructs on the host CPU results in 44x
                 speedup.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "ASPLOS '12 conference proceedings.",
}

@Article{Kanig:2012:HLC,
  author =       "Johannes Kanig and Edmond Schonberg and Claire Dross",
  title =        "{Hi-Lite}: the convergence of compiler technology and
                 program verification",
  journal =      j-SIGADA-LETTERS,
  volume =       "32",
  number =       "3",
  pages =        "27--34",
  month =        dec,
  year =         "2012",
  CODEN =        "AALEE5",
  DOI =          "https://doi.org/10.1145/2402709.2402690",
  ISSN =         "1094-3641 (print), 1557-9476 (electronic)",
  ISSN-L =       "1094-3641",
  bibdate =      "Sun May 5 10:05:12 MDT 2013",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigada.bib",
  note =         "HILT '12 conference proceedings.",
  abstract =     "Formal program verification tools check that a program
                 correctly implements its specification. Existing
                 specification languages for well-known programming
                 languages (Ada, C, Java, C\#) have been developed
                 independently from the programming language to which
                 they apply. As a result, specifications are expressed
                 separately from the code, typically as stylized
                 comments, and the verification tools often bear no
                 direct relation to the production compiler. We argue
                 that this approach is problematic, and that the
                 compiler and the verification tools should be
                 integrated seamlessly. Based on our current work on the
                 Hi-Lite project to develop a formal verification tool
                 for Ada2012, we show that in an integrated setting, the
                 compiler becomes the centerpiece of the verification
                 architecture, and supports both static proofs and
                 run-time assertion checking. Such an environment does
                 much to simplify software certification.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGAda Ada Letters",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J32",
}

@Article{Perelman:2012:TDC,
  author =       "Daniel Perelman and Sumit Gulwani and Thomas Ball and
                 Dan Grossman",
  title =        "Type-directed completion of partial expressions",
  journal =      j-SIGPLAN,
  volume =       "47",
  number =       "6",
  pages =        "275--286",
  month =        jun,
  year =         "2012",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2345156.2254098",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Aug 6 16:31:49 MDT 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  note =         "PLDI '12 proceedings.",
  abstract =     "Modern programming frameworks provide enormous
                 libraries arranged in complex structures, so much so
                 that a large part of modern programming is searching
                 for APIs that surely exist somewhere in an unfamiliar
                 part of the framework. We present a novel way of
                 phrasing a search for an unknown API: the programmer
                 simply writes an expression leaving holes for the parts
                 they do not know. We call these expressions partial
                 expressions. We present an efficient algorithm that
                 produces likely completions ordered by a ranking scheme
                 based primarily on the similarity of the types of the
                 APIs suggested to the types of the known expressions.
                 This gives a powerful language for both API discovery
                 and code completion with a small impedance mismatch
                 from writing code. In an automated experiment on mature
                 C\# projects, we show our algorithm can place the
                 intended expression in the top 10 choices over 80\% of
                 the time.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Sallenave:2012:LGE,
  author =       "Olivier Sallenave and Roland Ducournau",
  title =        "Lightweight generics in embedded systems through
                 static analysis",
  journal =      j-SIGPLAN,
  volume =       "47",
  number =       "5",
  pages =        "11--20",
  month =        may,
  year =         "2012",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2345141.2248421",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Aug 6 16:31:46 MDT 2012",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  note =         "LCTES '12 proceedings.",
  abstract =     "Low-end embedded systems are still programmed in C and
                 assembly, and adopting high-level languages such as C\#
                 should reduce the length of their development cycles.
                 For these systems, code size is a major concern, but
                 run-time efficiency should also be reasonable ---
                 programmers will not migrate to C\# unless the overhead
                 compared with C is insignificant. In this paper, we
                 propose a static approach based on whole program
                 optimization for implementing .Net generics in such
                 systems. Indeed, the implementation of run-time
                 generics involves a tradeoff between size and run-time
                 efficiency. In this proposal, generic instances are
                 detected through a generalization of RTA to parametric
                 polymorphism. Also, we propose an implementation scheme
                 which employs code sharing and more effective coercions
                 than boxing. Unlike existing implementation schemes, it
                 is scalable in the number of generic instances without
                 involving boxing and unboxing in a systematic way.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
}

@Article{Choi:2013:PAC,
  author =       "Byoung K. Choi and Donghun Kang and Taesik Lee and
                 Arwa A. Jamjoom and Maysoon F. Abulkhair",
  title =        "Parameterized activity cycle diagram and its
                 application",
  journal =      j-TOMACS,
  volume =       "23",
  number =       "4",
  pages =        "24:1--24:??",
  month =        oct,
  year =         "2013",
  CODEN =        "ATMCEZ",
  DOI =          "https://doi.org/10.1145/2501593",
  ISSN =         "1049-3301 (print), 1558-1195 (electronic)",
  ISSN-L =       "1049-3301",
  bibdate =      "Mon Dec 23 10:25:01 MST 2013",
  bibsource =    "http://www.acm.org/pubs/contents/journals/tomacs/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/tomacs.bib",
  abstract =     "The classical activity cycle diagram (ACD), which is a
                 bipartite directed graph, is easy to learn and use for
                 describing the dynamic behavior of a discrete-event
                 system. However, the complexity of the classical ACD
                 model increases rapidly as the system size increases.
                 This article presents an enriched ACD called the
                 parameterized ACD (P-ACD). In P-ACD, each node is
                 allowed to have parameter variables, and parameter
                 values are passed to the parameter variables through a
                 directed arc. This article demonstrates how a single
                 P-ACD model can be used to represent an entire class of
                 very large-scale systems instead of requiring different
                 ACD models for every instance. We also illustrate that
                 the well-known activity scanning algorithm can be used
                 to execute a P-ACD model. A prototype P-ACD simulator
                 implemented in C\# programming language is provided,
                 and an illustrative example of a conveyor-driven serial
                 production line with the prototype simulator is
                 presented to illustrate construction and execution of a
                 P-ACD model. In addition, it is demonstrated that the
                 proposed P-ACD allows an effective and concise modeling
                 of a job shop, which was not possible with the
                 classical ACD.",
  acknowledgement = ack-nhfb,
  articleno =    "24",
  fjournal =     "ACM Transactions on Modeling and Computer Simulation",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?&idx=J781",
}

@Article{Grossu:2013:CMB,
  author =       "I. V. Grossu and C. Besliu and Al. Jipa and D. Felea
                 and T. Esanu and E. Stan and C. C. Bordeianu",
  title =        "{Chaos Many-Body Engine v03}: a new version of code
                 {C\#} for chaos analysis of relativistic many-body
                 systems with reactions",
  journal =      j-COMP-PHYS-COMM,
  volume =       "184",
  number =       "4",
  pages =        "1346--1347",
  month =        apr,
  year =         "2013",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2012.12.012",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Feb 4 10:51:11 MST 2013",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465512004080",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

@Article{Jantz:2013:ESM,
  author =       "Michael R. Jantz and Prasad A. Kulkarni",
  title =        "Exploring single and multilevel {JIT} compilation
                 policy for modern machines 1",
  journal =      j-TACO,
  volume =       "10",
  number =       "4",
  pages =        "22:1--22:??",
  month =        dec,
  year =         "2013",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2541228.2541229",
  ISSN =         "1544-3566 (print), 1544-3973 (electronic)",
  ISSN-L =       "1544-3566",
  bibdate =      "Mon Dec 23 10:31:41 MST 2013",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/taco.bib",
  abstract =     "Dynamic or Just-in-Time (JIT) compilation is essential
                 to achieve high-performance emulation for programs
                 written in managed languages, such as Java and C\#. It
                 has been observed that a conservative JIT compilation
                 policy is most effective to obtain good runtime
                 performance without impeding application progress on
                 single-core machines. At the same time, it is often
                 suggested that a more aggressive dynamic compilation
                 strategy may perform best on modern machines that
                 provide abundant computing resources, especially with
                 virtual machines (VMs) that are also capable of
                 spawning multiple concurrent compiler threads. However,
                 comprehensive research on the best JIT compilation
                 policy for such modern processors and VMs is currently
                 lacking. The goal of this work is to explore the
                 properties of single-tier and multitier JIT compilation
                 policies that can enable existing and future VMs to
                 realize the best program performance on modern
                 machines. In this work, we design novel experiments and
                 implement new VM configurations to effectively control
                 the compiler aggressiveness and optimization levels (
                 if and when methods are compiled) in the
                 industry-standard Oracle HotSpot Java VM to achieve
                 this goal. We find that the best JIT compilation policy
                 is determined by the nature of the application and the
                 speed and effectiveness of the dynamic compilers. We
                 extend earlier results showing the suitability of
                 conservative JIT compilation on single-core machines
                 for VMs with multiple concurrent compiler threads. We
                 show that employing the free compilation resources
                 (compiler threads and hardware cores) to aggressively
                 compile more program methods quickly reaches a point of
                 diminishing returns. At the same time, we also find
                 that using the free resources to reduce compiler queue
                 backup (compile selected hot methods early )
                 significantly benefits program performance, especially
                 for slower (highly optimizing) JIT compilers. For such
                 compilers, we observe that accurately prioritizing JIT
                 method compiles is crucial to realize the most
                 performance benefit with the smallest hardware budget.
                 Finally, we show that a tiered compilation policy,
                 although complex to implement, greatly alleviates the
                 impact of more and early JIT compilation of programs on
                 modern machines.",
  acknowledgement = ack-nhfb,
  articleno =    "22",
  fjournal =     "ACM Transactions on Architecture and Code Optimization
                 (TACO)",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J924",
}

@Article{Ramalingam:2013:FTI,
  author =       "Ganesan Ramalingam and Kapil Vaswani",
  title =        "Fault tolerance via idempotence",
  journal =      j-SIGPLAN,
  volume =       "48",
  number =       "1",
  pages =        "249--262",
  month =        jan,
  year =         "2013",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2480359.2429100",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jul 1 17:15:03 MDT 2013",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Building distributed services and applications is
                 challenging due to the pitfalls of distribution such as
                 process and communication failures. A natural solution
                 to these problems is to detect potential failures, and
                 retry the failed computation and/or resend messages.
                 Ensuring correctness in such an environment requires
                 distributed services and applications to be idempotent.
                 In this paper, we study the inter-related aspects of
                 process failures, duplicate messages, and idempotence.
                 We first introduce a simple core language (based on
                 lambda calculus) inspired by modern distributed
                 computing platforms. This language formalizes the
                 notions of a service, duplicate requests, process
                 failures, data partitioning, and local atomic
                 transactions that are restricted to a single store. We
                 then formalize a desired (generic) correctness
                 criterion for applications written in this language,
                 consisting of idempotence (which captures the desired
                 safety properties) and failure-freedom (which captures
                 the desired progress properties). We then propose
                 language support in the form of a monad that
                 automatically ensures failfree idempotence. A key
                 characteristic of our implementation is that it is
                 decentralized and does not require distributed
                 coordination. We show that the language support can be
                 enriched with other useful constructs, such as
                 compensations, while retaining the coordination-free
                 decentralized nature of the implementation. We have
                 implemented the idempotence monad (and its variants) in
                 F\# and C\# and used our implementation to build
                 realistic applications on Windows Azure. We find that
                 the monad has low runtime overheads and leads to more
                 declarative applications.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "POPL '13 conference proceedings.",
}

@Article{Singh:2013:TGC,
  author =       "Pavitdeep Singh and Satwinder Singh and Jatinder
                 Kaur",
  title =        "Tool for generating code metrics for {C\#} source code
                 using abstract syntax tree technique",
  journal =      j-SIGSOFT,
  volume =       "38",
  number =       "5",
  pages =        "1--6",
  month =        sep,
  year =         "2013",
  CODEN =        "SFENDP",
  DOI =          "https://doi.org/10.1145/2507288.2507312",
  ISSN =         "0163-5948 (print), 1943-5843 (electronic)",
  ISSN-L =       "0163-5948",
  bibdate =      "Wed Aug 1 17:16:29 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib",
  abstract =     "Software maintenance is one of the key activities in
                 any software engineering process in which source code
                 analysis plays a crucial role. Due to the high cost of
                 maintenance, it has become quite necessary to produce
                 high quality software. Over time, numerous analyses
                 have been performed on source code to determine
                 complexity and other metrics. Lots of papers have been
                 published for object oriented languages but mostly
                 concentrating on C++ and Java, very few has been
                 published for more modern languages like C\#. This
                 paper proposes a Software Quality Assurance Tool for
                 measuring the different code metrics for the object
                 oriented language C\# at the class and method levels.
                 The technique consists of generating the abstract
                 syntax tree of the source code using Nfactory
                 libraries. The Interface is built using the Win Form
                 application which provides an impressive GUI for the
                 tool.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGSOFT Software Engineering Notes",
  journal-URL =  "https://dl.acm.org/citation.cfm?id=J728",
}

@Article{Swamy:2013:VHO,
  author =       "Nikhil Swamy and Joel Weinberger and Cole Schlesinger
                 and Juan Chen and Benjamin Livshits",
  title =        "Verifying higher-order programs with the {Dijkstra}
                 monad",
  journal =      j-SIGPLAN,
  volume =       "48",
  number =       "6",
  pages =        "387--398",
  month =        jun,
  year =         "2013",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2499370.2491978",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jul 1 17:15:38 MDT 2013",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Modern programming languages, ranging from Haskell and
                 ML, to JavaScript, C\# and Java, all make extensive use
                 of higher-order state. This paper advocates a new
                 verification methodology for higher-order stateful
                 programs, based on a new monad of predicate
                 transformers called the Dijkstra monad. Using the
                 Dijkstra monad has a number of benefits. First, the
                 monad naturally yields a weakest pre-condition
                 calculus. Second, the computed specifications are
                 structurally simpler in several ways, e.g.,
                 single-state post-conditions are sufficient (rather
                 than the more complex two-state post-conditions).
                 Finally, the monad can easily be varied to handle
                 features like exceptions and heap invariants, while
                 retaining the same type inference algorithm. We
                 implement the Dijkstra monad and its type inference
                 algorithm for the F* programming language. Our most
                 extensive case study evaluates the Dijkstra monad and
                 its F* implementation by using it to verify JavaScript
                 programs. Specifically, we describe a tool chain that
                 translates programs in a subset of JavaScript decorated
                 with assertions and loop invariants to F*. Once in F*,
                 our type inference algorithm computes verification
                 conditions and automatically discharges their proofs
                 using an SMT solver. We use our tools to prove that a
                 core model of the JavaScript runtime in F* respects
                 various invariants and that a suite of JavaScript
                 source programs are free of runtime errors.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '13 conference proceedings.",
}

@Article{Titzer:2013:HCF,
  author =       "Ben L. Titzer",
  title =        "Harmonizing classes, functions, tuples, and type
                 parameters in {Virgil III}",
  journal =      j-SIGPLAN,
  volume =       "48",
  number =       "6",
  pages =        "85--94",
  month =        jun,
  year =         "2013",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2499370.2491962",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Mon Jul 1 17:15:38 MDT 2013",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Languages are becoming increasingly multi-paradigm.
                 Subtype polymorphism in statically-typed
                 object-oriented languages is being supplemented with
                 parametric polymorphism in the form of generics.
                 Features like first-class functions and lambdas are
                 appearing everywhere. Yet existing languages like Java,
                 C\#, C++, D, and Scala seem to accrete ever more
                 complexity when they reach beyond their original
                 paradigm into another; inevitably older features have
                 some rough edges that lead to nonuniformity and
                 pitfalls. Given a fresh start, a new language designer
                 is faced with a daunting array of potential features.
                 Where to start? What is important to get right first,
                 and what can be added later? What features must work
                 together, and what features are orthogonal? We report
                 on our experience with Virgil III, a practical language
                 with a careful balance of classes, functions, tuples
                 and type parameters. Virgil intentionally lacks many
                 advanced features, yet we find its core feature set
                 enables new species of design patterns that bridge
                 multiple paradigms and emulate features not directly
                 supported such as interfaces, abstract data types, ad
                 hoc polymorphism, and variant types. Surprisingly, we
                 find variance for function types and tuple types often
                 replaces the need for other kinds of type variance when
                 libraries are designed in a more functional style.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '13 conference proceedings.",
}

@Article{Jagannathan:2014:ARV,
  author =       "Suresh Jagannathan and Vincent Laporte and Gustavo
                 Petri and David Pichardie and Jan Vitek",
  title =        "Atomicity Refinement for Verified Compilation",
  journal =      j-TOPLAS,
  volume =       "36",
  number =       "2",
  pages =        "6:1--6:??",
  month =        jul,
  year =         "2014",
  CODEN =        "ATPSDT",
  DOI =          "https://doi.org/10.1145/2601339",
  ISSN =         "0164-0925 (print), 1558-4593 (electronic)",
  ISSN-L =       "0164-0925",
  bibdate =      "Sat Aug 9 08:13:32 MDT 2014",
  bibsource =    "http://www.acm.org/pubs/contents/journals/toplas/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/toplas.bib",
  abstract =     "We consider the verified compilation of high-level
                 managed languages like Java or C\# whose intermediate
                 representations provide support for shared-memory
                 synchronization and automatic memory management. Our
                 development is framed in the context of the Total Store
                 Order relaxed memory model. Ensuring compiler
                 correctness is challenging because high-level actions
                 are translated into sequences of nonatomic actions with
                 compiler-injected snippets of racy code; the behavior
                 of this code depends not only on the actions of other
                 threads but also on out-of-order executions performed
                 by the processor. A na{\"\i}ve proof of correctness
                 would require reasoning over all possible thread
                 interleavings. In this article, we propose a
                 refinement-based proof methodology that precisely
                 relates concurrent code expressed at different
                 abstraction levels, cognizant throughout of the relaxed
                 memory semantics of the underlying processor. Our
                 technique allows the compiler writer to reason
                 compositionally about the atomicity of low-level
                 concurrent code used to implement managed services. We
                 illustrate our approach with examples taken from the
                 verification of a concurrent garbage collector.",
  acknowledgement = ack-nhfb,
  articleno =    "6",
  fjournal =     "ACM Transactions on Programming Languages and
                 Systems",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J783",
}

@Article{Liu:2014:FFL,
  author =       "Peng Liu and Omer Tripp and Xiangyu Zhang",
  title =        "{Flint}: fixing linearizability violations",
  journal =      j-SIGPLAN,
  volume =       "49",
  number =       "10",
  pages =        "543--560",
  month =        oct,
  year =         "2014",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2714064.2660217",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue May 12 17:41:21 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Writing concurrent software while achieving both
                 correctness and efficiency is a grand challenge. To
                 facilitate this task, concurrent data structures have
                 been introduced into the standard library of popular
                 languages like Java and C\#. Unfortunately, while the
                 operations exposed by concurrent data structures are
                 atomic (or linearizable), compositions of these
                 operations are not necessarily atomic. Recent studies
                 have found many erroneous implementations of composed
                 concurrent operations. We address the problem of fixing
                 nonlinearizable composed operations such that they
                 behave atomically. We introduce Flint, an automated
                 fixing algorithm for composed Map operations. Flint
                 accepts as input a composed operation suffering from
                 atomicity violations. Its output, if fixing succeeds,
                 is a composed operation that behaves equivalently to
                 the original operation in sequential runs and is
                 guaranteed to be atomic. To our knowledge, Flint is the
                 first general algorithm for fixing incorrect concurrent
                 compositions. We have evaluated Flint on 48 incorrect
                 compositions from 27 popular applications, including
                 Tomcat and MyFaces. The results are highly encouraging:
                 Flint is able to correct 96\% of the methods, and the
                 fixed version is often the same as the fix by an expert
                 programmer and as efficient as the original code.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "OOPSLA '14 conference proceedings.",
}

@Article{Nagel:2014:CGE,
  author =       "Fabian Nagel and Gavin Bierman and Stratis D. Viglas",
  title =        "Code generation for efficient query processing in
                 managed runtimes",
  journal =      j-PROC-VLDB-ENDOWMENT,
  volume =       "7",
  number =       "12",
  pages =        "1095--1106",
  month =        aug,
  year =         "2014",
  CODEN =        "????",
  ISSN =         "2150-8097",
  ISSN-L =       "2150-8097",
  bibdate =      "Wed Feb 4 17:20:26 MST 2015",
  bibsource =    "http://portal.acm.org/;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
  abstract =     "In this paper we examine opportunities arising from
                 the convergence of two trends in data management:
                 in-memory database systems (imdbs), which have received
                 renewed attention following the availability of
                 affordable, very large main memory systems; and
                 language-integrated query, which transparently
                 integrates database queries with programming languages
                 (thus addressing the famous 'impedance mismatch'
                 problem). Language-integrated query not only gives
                 application developers a more convenient way to query
                 external data sources like imdbs, but also to use the
                 same querying language to query an application's
                 in-memory collections. The latter offers further
                 transparency to developers as the query language and
                 all data is represented in the data model of the host
                 programming language. However, compared to imdbs, this
                 additional freedom comes at a higher cost for query
                 evaluation. Our vision is to improve in-memory query
                 processing of application objects by introducing
                 database technologies to managed runtimes. We focus on
                 querying and we leverage query compilation to improve
                 query processing on application objects. We explore
                 different query compilation strategies and study how
                 they improve the performance of query processing over
                 application data. We take C\# as the host programming
                 language as it supports language-integrated query
                 through the linq framework. Our techniques deliver
                 significant performance improvements over the default
                 linq implementation. Our work makes important first
                 steps towards a future where data processing
                 applications will commonly run on machines that can
                 store their entire datasets in-memory, and will be
                 written in a single programming language employing
                 language-integrated query and imdb-inspired runtimes to
                 provide transparent and highly efficient querying.",
  acknowledgement = ack-nhfb,
  fjournal =     "Proceedings of the VLDB Endowment",
  journal-URL =  "http://portal.acm.org/citation.cfm?id=J1174",
}

@Article{Zhao:2014:CSP,
  author =       "Zhijia Zhao and Bo Wu and Mingzhou Zhou and Yufei Ding
                 and Jianhua Sun and Xipeng Shen and Youfeng Wu",
  title =        "Call sequence prediction through probabilistic calling
                 automata",
  journal =      j-SIGPLAN,
  volume =       "49",
  number =       "10",
  pages =        "745--762",
  month =        oct,
  year =         "2014",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2714064.2660221",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue May 12 17:41:21 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Predicting a sequence of upcoming function calls is
                 important for optimizing programs written in modern
                 managed languages (e.g., Java, Javascript, C\#.)
                 Existing function call predictions are mainly built on
                 statistical patterns, suitable for predicting a single
                 call but not a sequence of calls. This paper presents a
                 new way to enable call sequence prediction, which
                 exploits program structures through Probabilistic
                 Calling Automata (PCA), a new program representation
                 that captures both the inherent ensuing relations among
                 function calls, and the probabilistic nature of
                 execution paths. It shows that PCA-based prediction
                 outperforms existing predictions, yielding substantial
                 speedup when being applied to guide Just-In-Time
                 compilation. By enabling accurate, efficient call
                 sequence prediction for the first time, PCA-based
                 predictors open up many new opportunities for dynamic
                 program optimizations.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "OOPSLA '14 conference proceedings.",
}

@Article{Armoni:2015:SRP,
  author =       "Michal Armoni and Orni Meerbaum-Salant and Mordechai
                 Ben-Ari",
  title =        "From Scratch to ``Real'' Programming",
  journal =      j-TOCE,
  volume =       "14",
  number =       "4",
  pages =        "25:1--25:??",
  month =        feb,
  year =         "2015",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/2677087",
  ISSN =         "1946-6226",
  bibdate =      "Tue Feb 24 18:20:55 MST 2015",
  bibsource =    "http://www.acm.org/pubs/toce;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/toce.bib",
  abstract =     "Computer science (CS) activities for young students
                 are widely used, particularly visual programming
                 environments. We investigated the use of the Scratch
                 environment for teaching CS concepts to middle school
                 students. In a previous article [Meerbaum-Salant et al.
                 2013], we reported on the extent to which the CS
                 concepts were successfully learned. In this article, we
                 look at the transition from studying CS with the visual
                 Scratch environment in middle school to studying CS
                 with a professional textual programming language (C\#
                 or Java) in secondary school. We found that the
                 programming knowledge and experience of students who
                 had learned Scratch greatly facilitated learning the
                 more advanced material in secondary school: less time
                 was needed to learn new topics, there were fewer
                 learning difficulties, and they achieved higher
                 cognitive levels of understanding of most concepts
                 (although at the end of the teaching process, there
                 were no significant differences in achievements
                 compared to students who had not studied Scratch).
                 Furthermore, there was increased enrollment in CS
                 classes, and students were observed to display higher
                 levels of motivation and self-efficacy. This research
                 justifies teaching CS in general and visual programming
                 in particular in middle schools.",
  acknowledgement = ack-nhfb,
  articleno =    "25",
  fjournal =     "ACM Transactions on Computing Education",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J1193",
}

@Article{Gatrell:2015:ERC,
  author =       "M. Gatrell and S. Counsell",
  title =        "The effect of refactoring on change and
                 fault-proneness in commercial {C\#} software",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "102",
  number =       "??",
  pages =        "44--56",
  day =          "1",
  month =        may,
  year =         "2015",
  CODEN =        "SCPGD4",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Mon Feb 23 09:10:32 MST 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642314005711",
  acknowledgement = ack-nhfb,
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423/",
}

@Article{Siek:2015:BCT,
  author =       "Jeremy Siek and Peter Thiemann and Philip Wadler",
  title =        "Blame and coercion: together again for the first
                 time",
  journal =      j-SIGPLAN,
  volume =       "50",
  number =       "6",
  pages =        "425--435",
  month =        jun,
  year =         "2015",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2813885.2737968",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Tue Feb 16 12:01:41 MST 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "C\#, Dart, Pyret, Racket, TypeScript, VB: many recent
                 languages integrate dynamic and static types via
                 gradual typing. We systematically develop three calculi
                 for gradual typing and the relations between them,
                 building on and strengthening previous work. The
                 calculi are: \lambda B, based on the blame calculus of
                 Wadler and Findler (2009); \lambda C, inspired by the
                 coercion calculus of Henglein (1994); \lambda S
                 inspired by the space-efficient calculus of Herman,
                 Tomb, and Flanagan (2006) and the threesome calculus of
                 Siek and Wadler (2010). While \lambda B is little
                 changed from previous work, \lambda C and \lambda S are
                 new. Together, \lambda B, \lambda C, and \lambda S
                 provide a coherent foundation for design,
                 implementation, and optimisation of gradual types. We
                 define translations from \lambda B to \lambda C and
                 from \lambda C to \lambda S. Much previous work lacked
                 proofs of correctness or had weak correctness criteria;
                 here we demonstrate the strongest correctness criterion
                 one could hope for, that each of the translations is
                 fully abstract. Each of the calculi reinforces the
                 design of the others: \lambda C has a particularly
                 simple definition, and the subtle definition of blame
                 safety for \lambda B is justified by the simple
                 definition of blame safety for \lambda C. Our calculus
                 \lambda S is implementation-ready: the first
                 space-efficient calculus that is both straightforward
                 to implement and easy to understand. We give two
                 applications: first, using full abstraction from
                 \lambda C to \lambda S to validate the challenging part
                 of full abstraction between \lambda B and \lambda C;
                 and, second, using full abstraction from \lambda B to
                 \lambda S to easily establish the Fundamental Property
                 of Casts, which required a custom bisimulation and six
                 lemmas in earlier work.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '15 conference proceedings.",
}

@InProceedings{Cimler:2016:CRC,
  author =       "Richard Cimler and Ond{\v{r}}ej Dole{\v{z}}al and
                 Pavel Pscheidl",
  booktitle =    "{Computational Collective Intelligence: 8th
                 International Conference, ICCCI 2016, Halkidiki,
                 Greece, September 28--30, 2016. Proceedings, Part II}",
  title =        "Comparison of {RUST} and {C\#} as a Tool for Creation
                 of a Large Agent-Based Simulation for Population
                 Prediction of Patients with {Alzheimer}'s Disease in
                 {EU}",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "252--261",
  year =         "2016",
  DOI =          "https://doi.org/10.1007/978-3-319-45246-3_24",
  bibdate =      "Fri Apr 9 11:06:38 MDT 2021",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/rust.bib",
  URL =          "http://link.springer.com/chapter/10.1007/978-3-319-45246-3_24",
  acknowledgement = ack-nhfb,
  keywords =     "Rust programming language",
}

@Article{McKinley:2016:PWU,
  author =       "Kathryn S. McKinley",
  title =        "Programming the world of uncertain things (keynote)",
  journal =      j-SIGPLAN,
  volume =       "51",
  number =       "1",
  pages =        "1--2",
  month =        jan,
  year =         "2016",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/2914770.2843895",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Thu Jun 9 17:13:57 MDT 2016",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/python.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Computing has entered the era of uncertain data, in
                 which hardware and software generate and reason about
                 estimates. Applications use estimates from sensors,
                 machine learning, big data, humans, and approximate
                 hardware and software. Unfortunately, developers face
                 pervasive correctness, programmability, and
                 optimization problems due to estimates. Most
                 programming languages unfortunately make these problems
                 worse. We propose a new programming abstraction called
                 {Uncertain$<$T$>$} embedded into languages, such as
                 C\#, C++, Java, Python, and JavaScript. Applications
                 that consume estimates use familiar discrete operations
                 for their estimates; overloaded conditional operators
                 specify hypothesis tests and applications use them
                 control false positives and negatives; and new
                 compositional operators express domain knowledge. By
                 carefully restricting the expressiveness, the runtime
                 automatically implements correct statistical reasoning
                 at conditionals, relieving developers of the need to
                 implement or deeply understand statistics. We
                 demonstrate substantial programmability, correctness,
                 and efficiency benefits of this programming model for
                 GPS sensor navigation, approximate computing, machine
                 learning, and xBox.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "POPL '16 conference proceedings.",
}

@Article{Anonymous:2017:BRG,
  author =       "Anonymous",
  title =        "Book Review: {{\booktitle{Gray Hat C\#}}, by Brandon
                 Perry. No Starch Press. ISBN 978-1-59327-759-8}",
  journal =      j-NETWORK-SECURITY,
  volume =       "2017",
  number =       "7",
  pages =        "4--4",
  month =        jul,
  year =         "2017",
  CODEN =        "NTSCF5",
  DOI =          "https://doi.org/10.1016/S1353-4858(17)30068-5",
  ISSN =         "1353-4858 (print), 1872-9371 (electronic)",
  ISSN-L =       "1353-4858",
  bibdate =      "Mon Dec 4 17:01:47 MST 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/network-security.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S1353485817300685",
  acknowledgement = ack-nhfb,
  fjournal =     "Network Security",
  journal-URL =  "https://www.sciencedirect.com/journal/network-security",
}

@Article{Kedia:2017:SFS,
  author =       "Piyus Kedia and Manuel Costa and Matthew Parkinson and
                 Kapil Vaswani and Dimitrios Vytiniotis and Aaron
                 Blankstein",
  title =        "Simple, fast, and safe manual memory management",
  journal =      j-SIGPLAN,
  volume =       "52",
  number =       "6",
  pages =        "233--247",
  month =        jun,
  year =         "2017",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/3140587.3062376",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Sep 16 10:18:17 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Safe programming languages are readily available, but
                 many applications continue to be written in unsafe
                 languages because of efficiency. As a consequence, many
                 applications continue to have exploitable memory safety
                 bugs. Since garbage collection is a major source of
                 inefficiency in the implementation of safe languages,
                 replacing it with safe manual memory management would
                 be an important step towards solving this problem.
                 Previous approaches to safe manual memory management
                 use programming models based on regions, unique
                 pointers, borrowing of references, and ownership types.
                 We propose a much simpler programming model that does
                 not require any of these concepts. Starting from the
                 design of an imperative type safe language (like Java
                 or C\#), we just add a delete operator to free memory
                 explicitly and an exception which is thrown if the
                 program dereferences a pointer to freed memory. We
                 propose an efficient implementation of this programming
                 model that guarantees type safety. Experimental results
                 from our implementation based on the C\# native
                 compiler show that this design achieves up to 3x
                 reduction in peak working set and run time.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '17 conference proceedings.",
}

@Article{Kiselyov:2017:SFC,
  author =       "Oleg Kiselyov and Aggelos Biboudis and Nick Palladinos
                 and Yannis Smaragdakis",
  title =        "Stream fusion, to completeness",
  journal =      j-SIGPLAN,
  volume =       "52",
  number =       "1",
  pages =        "285--299",
  month =        jan,
  year =         "2017",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/3093333.3009880",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Sep 16 10:18:14 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Stream processing is mainstream (again): Widely-used
                 stream libraries are now available for virtually all
                 modern OO and functional languages, from Java to C\# to
                 Scala to OCaml to Haskell. Yet expressivity and
                 performance are still lacking. For instance, the
                 popular, well-optimized Java 8 streams do not support
                 the zip operator and are still an order of magnitude
                 slower than hand-written loops. We present the first
                 approach that represents the full generality of stream
                 processing and eliminates overheads, via the use of
                 staging. It is based on an unusually rich semantic
                 model of stream interaction. We support any combination
                 of zipping, nesting (or flat-mapping), sub-ranging,
                 filtering, mapping-of finite or infinite streams. Our
                 model captures idiosyncrasies that a programmer uses in
                 optimizing stream pipelines, such as rate differences
                 and the choice of a ``for'' vs. ``while'' loops. Our
                 approach delivers hand-written-like code, but
                 automatically. It explicitly avoids the reliance on
                 black-box optimizers and sufficiently-smart compilers,
                 offering highest, guaranteed and portable performance.
                 Our approach relies on high-level concepts that are
                 then readily mapped into an implementation.
                 Accordingly, we have two distinct implementations: an
                 OCaml stream library, staged via MetaOCaml, and a Scala
                 library for the JVM, staged via LMS. In both cases, we
                 derive libraries richer and simultaneously many tens of
                 times faster than past work. We greatly exceed in
                 performance the standard stream libraries available in
                 Java, Scala and OCaml, including the well-optimized
                 Java 8 streams.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "POPL '17 conference proceedings.",
}

@Article{Lauwens:2017:PRC,
  author =       "Ben Lauwens",
  title =        "\pkg{ResumableFunctions}: {C\#} sharp style generators
                 for {Julia}",
  journal =      j-J-OPEN-SOURCE-SOFT,
  volume =       "2",
  number =       "18",
  pages =        "400:1--400:2",
  month =        oct,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.21105/joss.00400",
  ISSN =         "2475-9066",
  ISSN-L =       "2475-9066",
  bibdate =      "Thu Sep 13 08:09:35 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/joss.bib",
  URL =          "http://joss.theoj.org/papers/10.21105/joss.00400",
  acknowledgement = ack-nhfb,
  fjournal =     "Journal of Open Source Software",
  journal-URL =  "http://joss.theoj.org/;
                 https://github.com/openjournals/joss-papers/",
  onlinedate =   "31 October 2017",
  ORCID-numbers = "Ben Lauwens / 0000-0003-0761-6265",
}

@Article{Perez:2017:UCP,
  author =       "Alejandro P{\'e}rez and Pablo S{\'a}nchez",
  title =        "On the Use of {C\#} Partial Classes for the
                 Implementation of Software Product Lines",
  journal =      j-COMP-J,
  volume =       "60",
  number =       "1",
  pages =        "86--109",
  month =        jan,
  year =         "2017",
  CODEN =        "CMPJA6",
  DOI =          "https://doi.org/10.1093/comjnl/bxw068",
  ISSN =         "0010-4620 (print), 1460-2067 (electronic)",
  ISSN-L =       "0010-4620",
  bibdate =      "Mon Jan 23 10:49:51 MST 2017",
  bibsource =    "http://comjnl.oxfordjournals.org/content/60/1.toc;
                 https://www.math.utah.edu/pub/tex/bib/compj2010.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Journal",
  journal-URL =  "http://comjnl.oxfordjournals.org/",
  onlinedate =   "September 8, 2016",
}

@Article{Rauniyar:2017:DDR,
  author =       "Ashish Rauniyar and Mohammad Irfan and Oka Danil
                 Saputra and Jin Woo Kim and Ah Ra Lee and Jae Min Jang
                 and Soo Young Shin",
  title =        "Design and Development of a Real-Time Monitoring
                 System for Multiple Lead-Acid Batteries Based on
                 {Internet of Things}",
  journal =      j-FUTURE-INTERNET,
  volume =       "9",
  number =       "3",
  pages =        "28",
  day =          "29",
  month =        jun,
  year =         "2017",
  CODEN =        "????",
  DOI =          "https://doi.org/10.3390/fi9030028",
  ISSN =         "1999-5903",
  ISSN-L =       "1999-5903",
  bibdate =      "Thu Nov 21 16:50:57 MST 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/future-internet.bib",
  URL =          "https://www.mdpi.com/1999-5903/9/3/28",
  abstract =     "In this paper, real-time monitoring of multiple
                 lead-acid batteries based on Internet of things is
                 proposed and evaluated. Our proposed system monitors
                 and stores parameters that provide an indication of the
                 lead acid battery's acid level, state of charge,
                 voltage, current, and the remaining charge capacity in
                 a real-time scenario. To monitor these lead-acid
                 battery parameters, we have developed a data
                 acquisition system by building an embedded system,
                 i.e., dedicated hardware and software. The wireless
                 local area network is used as the backbone network. The
                 information collected from all the connected battery
                 clients in the system is analyzed in an asynchronous
                 transmission control protocol/user datagram
                 protocol-based C\# server program running on a personal
                 computer (server) to determine important parameters
                 like the state of charge of the individual battery, and
                 if required, appropriate action can be taken in advance
                 to prevent excessive impairment to the battery.
                 Further, data are also displayed on an Android mobile
                 device and are stored in an SQL server database. We
                 have developed a real prototype to devise an end
                 product for our proposed system.",
  acknowledgement = ack-nhfb,
  journal-URL =  "https://www.mdpi.com/journal/futureinternet",
  remark =       "Special Issue Big Data and Internet of Thing.",
}

@Article{Santhiar:2017:SDD,
  author =       "Anirudh Santhiar and Aditya Kanade",
  title =        "Static deadlock detection for asynchronous {C\#}
                 programs",
  journal =      j-SIGPLAN,
  volume =       "52",
  number =       "6",
  pages =        "292--305",
  month =        jun,
  year =         "2017",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/3140587.3062361",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Sat Sep 16 10:18:17 MDT 2017",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Asynchronous programming is a standard approach for
                 designing responsive applications. Modern languages
                 such as C\# provide async/await primitives for the
                 disciplined use of asynchrony. In spite of this,
                 programs can deadlock because of incorrect use of
                 blocking operations along with non-blocking
                 (asynchronous) operations. While developers are aware
                 of this problem, there is no automated technique to
                 detect deadlocks in asynchronous programs. We present a
                 novel representation of control flow and scheduling of
                 asynchronous programs, called continuation scheduling
                 graph and formulate necessary conditions for a deadlock
                 to occur in a program. We design static analyses to
                 construct continuation scheduling graphs of
                 asynchronous C\# programs and to identify deadlocks in
                 them. We have implemented the static analyses in a tool
                 called DeadWait. Using DeadWait, we found 43 previously
                 unknown deadlocks in 11 asynchronous C\# libraries. We
                 reported the deadlocks to the library developers. They
                 have confirmed and fixed 40 of them.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '17 conference proceedings.",
}

@Article{Alon:2018:GPB,
  author =       "Uri Alon and Meital Zilberstein and Omer Levy and Eran
                 Yahav",
  title =        "A general path-based representation for predicting
                 program properties",
  journal =      j-SIGPLAN,
  volume =       "53",
  number =       "4",
  pages =        "404--419",
  month =        apr,
  year =         "2018",
  CODEN =        "SINODQ",
  DOI =          "https://doi.org/10.1145/3296979.3192412",
  ISSN =         "0362-1340 (print), 1523-2867 (print), 1558-1160
                 (electronic)",
  ISSN-L =       "0362-1340",
  bibdate =      "Wed Oct 16 14:12:57 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/python.bib;
                 https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
  abstract =     "Predicting program properties such as names or
                 expression types has a wide range of applications. It
                 can ease the task of programming, and increase
                 programmer productivity. A major challenge when
                 learning from programs is how to represent programs in
                 a way that facilitates effective learning. We present a
                 general path-based representation for learning from
                 programs. Our representation is purely syntactic and
                 extracted automatically. The main idea is to represent
                 a program using paths in its abstract syntax tree
                 (AST). This allows a learning model to leverage the
                 structured nature of code rather than treating it as a
                 flat sequence of tokens. We show that this
                 representation is general and can: (i) cover different
                 prediction tasks, (ii) drive different learning
                 algorithms (for both generative and discriminative
                 models), and (iii) work across different programming
                 languages. We evaluate our approach on the tasks of
                 predicting variable names, method names, and full
                 types. We use our representation to drive both
                 CRF-based and word2vec-based learning, for programs of
                 four languages: JavaScript, Java, Python and C\#. Our
                 evaluation shows that our approach obtains better
                 results than task-specific handcrafted representations
                 across different tasks and programming languages.",
  acknowledgement = ack-nhfb,
  fjournal =     "ACM SIGPLAN Notices",
  journal-URL =  "http://portal.acm.org/browse_dl.cfm?idx=J706",
  remark =       "PLDI '18 proceedings.",
}

@Article{Kennedy:2018:TGC,
  author =       "Andrew J. Kennedy and Claudio V. Russo",
  title =        "Transposing {G} to {C$^\sharp $}: {Expressivity} of
                 generalized algebraic data types in an object-oriented
                 language",
  journal =      j-THEOR-COMP-SCI,
  volume =       "741",
  number =       "??",
  pages =        "1--2",
  month =        "????",
  year =         "2018",
  CODEN =        "TCSCDI",
  DOI =          "https://doi.org/10.1016/j.tcs.2018.02.030",
  ISSN =         "0304-3975 (print), 1879-2294 (electronic)",
  ISSN-L =       "0304-3975",
  bibdate =      "Fri Sep 7 14:29:03 MDT 2018",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/tcs2015.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0304397518301270",
  acknowledgement = ack-nhfb,
  fjournal =     "Theoretical Computer Science",
  journal-URL =  "http://www.sciencedirect.com/science/journal/03043975",
}

@InProceedings{Lehoczky:2018:HLN,
  author =       "Zolt{\'a}n Leh{\'o}czky and Andr{\'a}s Retzler and
                 Rich{\'a}rd T{\'o}th and {\'A}lmos Szab{\'o} and
                 Benedek Farkas and Kriszti{\'a}n Somogyi",
  title =        "High-level {.NET} Software Implementations of Unum
                 {Type I} and Posit with Simultaneous {FPGA}
                 Implementation Using {Hastlayer}",
  crossref =     "ACM:2018:CNG",
  pages =        "1--7",
  year =         "2018",
  DOI =          "https://doi.org/10.1145/3190339.3190343",
  bibdate =      "Mon Dec 11 09:02:49 2023",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib",
  abstract =     "The unum arithmetic framework has been proposed by
                 Gustafson, D. J. to address the short-comings of the
                 IEEE 754 Standard's floating-point. In this paper, we
                 present our software and hardware implementations of
                 Type I and posit unums. The software implementation is
                 built on the .NET platform as an open source library
                 written in the C\# programming language. We
                 automatically create hardware implementations using our
                 .NET to FPGA converter tool called Hastlayer. The
                 amount of hardware resources needed for addition
                 operations are quantified, and the performance of
                 software and prototype hardware for posits are
                 compared. We show that posits are significantly more
                 hardware friendly than Type I unums. Furthermore, our
                 posit FPGA implementation is about 2.04 times more
                 efficient per clock cycle than its software
                 implementation.",
  acknowledgement = ack-nhfb,
  articleno =    "4",
  keywords =     "posit arithmetic; universal number arithmetic",
}

@Article{Montanari:2018:OCC,
  author =       "Mattia Montanari and Nik Petrinic",
  title =        "{OpenGJK} for {C}, {C\#} and {Matlab}: {Reliable}
                 solutions to distance queries between convex bodies in
                 three-dimensional space",
  journal =      j-SOFTWAREX,
  volume =       "7",
  number =       "??",
  pages =        "352--355",
  month =        jan # "\slash " # jun,
  year =         "2018",
  CODEN =        "????",
  ISSN =         "2352-7110",
  ISSN-L =       "2352-7110",
  bibdate =      "Mon Oct 14 09:45:41 MDT 2019",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/matlab.bib;
                 https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S2352711018300591",
  acknowledgement = ack-nhfb,
  fjournal =     "SoftwareX",
  journal-URL =  "https://www.sciencedirect.com/journal/softwarex/issues",
}

@Article{Pinheiro:2020:MCA,
  author =       "Pedro Pinheiro and Jos{\'e} Carlos Viana and
                 M{\'a}rcio Ribeiro and Leo Fernandes and Fabiano
                 Ferrari and Rohit Gheyi and Baldoino Fonseca",
  title =        "Mutating code annotations: an empirical evaluation on
                 {Java} and {C#} programs",
  journal =      j-SCI-COMPUT-PROGRAM,
  volume =       "191",
  number =       "??",
  pages =        "??--??",
  day =          "1",
  month =        jun,
  year =         "2020",
  CODEN =        "SCPGD4",
  DOI =          "https://doi.org/10.1016/j.scico.2020.102418",
  ISSN =         "0167-6423 (print), 1872-7964 (electronic)",
  ISSN-L =       "0167-6423",
  bibdate =      "Wed May 26 13:33:20 MDT 2021",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/java2020.bib;
                 https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0167642320300290",
  acknowledgement = ack-nhfb,
  articleno =    "102418",
  fjournal =     "Science of Computer Programming",
  journal-URL =  "http://www.sciencedirect.com/science/journal/01676423",
}

@Article{Garcia:2021:IHG,
  author =       "Andr{\'e}s Amaya Garc{\'\i}a and David May and Ed
                 Nutting",
  title =        "Integrated Hardware Garbage Collection",
  journal =      j-TECS,
  volume =       "20",
  number =       "5",
  pages =        "40:1--40:25",
  month =        jul,
  year =         "2021",
  CODEN =        "????",
  DOI =          "https://doi.org/10.1145/3450147",
  ISSN =         "1539-9087 (print), 1558-3465 (electronic)",
  ISSN-L =       "1539-9087",
  bibdate =      "Tue Aug 10 13:35:00 MDT 2021",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/python.bib;
                 https://www.math.utah.edu/pub/tex/bib/tecs.bib",
  URL =          "https://dl.acm.org/doi/10.1145/3450147",
  abstract =     "Garbage collected programming languages, such as
                 Python and C\#, have accelerated software development.
                 These modern languages increase productivity and
                 software reliability as they provide high-level data
                 representation and control structures. Modern languages
                 are widely used in software development for mobile,
                 desktop, and server devices, but their adoption is
                 limited in real-time embedded systems.\par

                 There is clear interest in supporting modern languages
                 in embedded devices as emerging markets, like the
                 Internet of Things, demand ever smarter and more
                 reliable products. Multiple commercial and open-source
                 projects, such as Zerynth and MicroPython, are
                 attempting to provide support. But these projects rely
                 on software garbage collectors that impose high
                 overheads and introduce unpredictable pauses,
                 preventing their use in many embedded applications.
                 These limitations arise from the unsuitability of
                 conventional processors for performing efficient,
                 predictable garbage collection.\par

                 We propose the Integrated Hardware Garbage Collector
                 (IHGC); a garbage collector tightly coupled with the
                 processor that runs continuously in the background.
                 Further, we introduce a static analysis technique to
                 guarantee that real-time programs are never paused by
                 the collector. Our design allocates a memory cycle to
                 the collector when the processor is not using the
                 memory. The IHGC achieves this by careful division of
                 collection work into single-memory-access steps that
                 are interleaved with the processor's memory accesses.
                 As a result, our collector eliminates run-time
                 overheads and enables real-time program
                 analysis.\par

                 The principles behind the IHGC can be used in
                 conjunction with existing architectures. For example,
                 we simulated the IHGC alongside the ARMv6-M
                 architecture. Compared to a conventional processor, our
                 experiments indicate that the IHGC offers 1.5--7 times
                 better performance for programs that rely on garbage
                 collection. The IHGC delivers the benefits of
                 garbage-collected languages with real-time performance
                 but without the complexity and overheads inherent in
                 software collectors.",
  acknowledgement = ack-nhfb,
  articleno =    "40",
  fjournal =     "ACM Transactions on Embedded Computing Systems",
  journal-URL =  "https://dl.acm.org/loi/tecs",
}

@Book{Albahari:2022:CND,
  author =       "Joseph Albahari",
  title =        "{C\# 10} in a Nutshell: the Definitive Reference",
  publisher =    pub-ORA-MEDIA,
  address =      pub-ORA-MEDIA:adr,
  pages =        "xv + 1041",
  year =         "2022",
  ISBN =         "1-0981-2195-3 (paperback), 1-0981-2191-0 (e-book),
                 1-0981-2192-9 (e-book)",
  ISBN-13 =      "978-1-0981-2195-2 (paperback), 978-1-0981-2191-4
                 (e-book), 978-1-0981-2192-1 (e-book)",
  LCCN =         "QA76.73.C154 A5325 2022",
  bibdate =      "Thu Feb 1 12:46:00 MST 2024",
  bibsource =    "fsz3950.oclc.org:210/WorldCat; https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  abstract =     "When you have questions about C\#10 or .NET 6, this
                 best-selling guide has the answers you need. C\# is a
                 language of unusual flexibility and breadth, and with
                 its continual growth, there's always so much more to
                 learn. In the tradition of O'Reilly's nutshell guides,
                 this thoroughly updated edition is simply the best
                 one-volume reference to the C\# language available
                 today. Organized around concepts and use cases, this
                 comprehensive and complete reference provides
                 intermediate and advanced programmers with a concise
                 map of C\# and .NET also plumbs significant depths.",
  acknowledgement = ack-nhfb,
  subject =      "MATHEMATICS / General.",
  tableofcontents = "Introducing C\# and .NET \\
                 C\# language basics \\
                 Creating types in C\# \\
                 Advanced C\# \\
                 .NET overview \\
                 .NET fundamentals \\
                 Collections \\
                 LINQ queries \\
                 LINQ operators \\
                 LINQ to XNL \\
                 Other XML and JSON technologies \\
                 Disposal and garbage collection \\
                 Diagnostics \\
                 Concurrency and asynchrony \\
                 Streams and I/O \\
                 Networking \\
                 Assemblies \\
                 Reflection and metadata \\
                 Dynamic programming \\
                 Cryptography \\
                 Advanced threading \\
                 Parallel programming \\
                 Span<T> and memory<T> \\
                 Native and COM interoperability \\
                 Regular expressions",
}

@Article{Grossu:2022:MHF,
  author =       "I. V. Grossu",
  title =        "Migration of hyper-fractal analysis from {Visual Basic
                 6} to {C\# .Net}",
  journal =      j-COMP-PHYS-COMM,
  volume =       "271",
  number =       "??",
  pages =        "Article 108189",
  month =        feb,
  year =         "2022",
  CODEN =        "CPHCBZ",
  DOI =          "https://doi.org/10.1016/j.cpc.2021.108189",
  ISSN =         "0010-4655 (print), 1879-2944 (electronic)",
  ISSN-L =       "0010-4655",
  bibdate =      "Mon Dec 20 16:41:52 MST 2021",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
                 https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  URL =          "http://www.sciencedirect.com/science/article/pii/S0010465521003015",
  acknowledgement = ack-nhfb,
  fjournal =     "Computer Physics Communications",
  journal-URL =  "http://www.sciencedirect.com/science/journal/00104655",
}

%%% =====================================================================
%%% Cross-referenced entries must come last:
@Proceedings{ACM:2001:PAJ,
  editor =       "{ACM}",
  booktitle =    "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE
                 Conference: Palo Alto, Calif., June 2--4, 2001}",
  title =        "Proceedings of the {ACM 2001 Java Grande\slash ISCOPE
                 Conference: Palo Alto, Calif., June 2--4, 2001}",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "vi + 186",
  year =         "2001",
  ISBN =         "1-58113-359-6",
  ISBN-13 =      "978-1-58113-359-2",
  LCCN =         "QA76.9.O35 A26 2001",
  bibdate =      "Mon May 6 06:26:30 MDT 2002",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib",
  acknowledgement = ack-nhfb,
  keywords =     "Java (computer program language) -- congresses;
                 object-oriented methods (computer science) --
                 congresses",
}

@Proceedings{ACM:2018:CNG,
  editor =       "{ACM}",
  booktitle =    "Conference for Next Generation Arithmetic ({Resorts
                 World Convention Centre, Singapore}): ({CoNGA '18})",
  title =        "Conference for Next Generation Arithmetic ({Resorts
                 World Convention Centre, Singapore}): ({CoNGA '18})",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "37",
  year =         "2018",
  bibdate =      "Sun Dec 10 14:24:09 2023",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/csharp.bib;
                 https://www.math.utah.edu/pub/tex/bib/fparith.bib",
  acknowledgement = ack-nhfb,
  remark =       "No ISBN seems to have been assigned.",
  tableofcontents = "1: A Matrix-Multiply Unit for Posits in
                 Reconfigurable Logic Using (OPEN)CAPI / Jianyu Chen,
                 Zaid Al-Ars \\
                 2: Provably Correct Posit Arithmetic with Fixed-Point
                 Big Integer / Shin Yee Chung \\
                 3: The Slide Number Format / Ignaz Kohlbecker \\
                 4: High-level .NET Software Implementations of Unum
                 Type I and Posit with Simultaneous FPGA Implementation
                 Using Hastlayer / Zolt{\'a}n Leh{\'o}czky, Andr{\'a}s
                 Retzler, Rich{\'a}rd T{\'o}th, {\'A}lmos Szab{\'o},
                 Benedek Farkas and Kriszti{\'a}n Somogyi \\
                 5: Universal Coding of the Reals: Alternatives to IEEE
                 Floating Point / Peter Lindstrom, Scott Lloyd and
                 Jeffrey Hittinger",
}