@String{inst-UTAH-MATH = "University of Utah, Department of Mathematics"}
@String{inst-UTAH-MATH:adr = "Salt Lake City, UT 84112-0090, USA"}
@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"}
@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"}
@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 = "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;
https://www.math.utah.edu/pub/tex/bib/ora.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",
}
@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",
}