@Preamble{
"\ifx \undefined \booktitle \def \booktitle #1{{{\em #1}}} \fi" #
"\ifx \undefined \pkg \def \pkg #1{{{\tt #1}}} \fi"
}
@String{ack-nhfb = "Nelson H. F. Beebe,
University of Utah,
Department of Mathematics, 110 LCB,
155 S 1400 E RM 233,
Salt Lake City, UT 84112-0090, USA,
Tel: +1 801 581 5254,
FAX: +1 801 581 4148,
e-mail: \path|beebe@math.utah.edu|,
\path|beebe@acm.org|,
\path|beebe@computer.org| (Internet),
URL: \path|https://www.math.utah.edu/~beebe/|"}
@String{j-ACM-COMM-COMP-ALGEBRA = "ACM Communications in Computer Algebra"}
@String{j-ADV-COMPUT-MATH = "Advances in Computational Mathematics"}
@String{j-ADV-ENG-SOFTWARE = "Advances in Engineering Software"}
@String{j-ALGORITHMS-BASEL = "Algorithms ({Basel})"}
@String{j-AMER-J-PHYSICS = "American Journal of Physics"}
@String{j-AMER-STAT = "The American Statistician"}
@String{j-ANN-APPL-STAT = "Annals of Applied Statistics"}
@String{j-BYTE = "Byte Magazine"}
@String{j-CACM = "Communications of the ACM"}
@String{j-CCPE = "Concurrency and Computation: Prac\-tice and
Experience"}
@String{j-COMMUN-MATH-STAT = "Communications in Mathematics and
Statistics"}
@String{j-COMMUN-STAT-SIMUL-COMPUT = "Communications in Statistics: Simulation
and Computation"}
@String{j-COMP-ARCH-NEWS = "ACM SIGARCH Computer Architecture News"}
@String{j-COMP-ECONOMICS = "Computational Economics"}
@String{j-COMP-NET-ISDN = "Computer Networks and ISDN Systems"}
@String{j-COMP-PHYS-COMM = "Computer Physics Communications"}
@String{j-COMP-SCI-REV = "Computer Science Review"}
@String{j-COMP-SURV = "ACM Computing Surveys"}
@String{j-COMPUT-MATH-APPL = "Computers and Mathematics with Applications"}
@String{j-COMPUT-PHYS = "Computers in Physics"}
@String{j-COMPUT-SCI-ENG = "Computing in Science and Engineering"}
@String{j-COMPUT-SECUR = "Computers \& Security"}
@String{j-COMPUT-SOFTW-BIG-SCI = "Computing and Software for Big Science"}
@String{j-COMPUTER = "Computer"}
@String{j-COMPUTING = "Computing"}
@String{j-CONTEMP-PHYS = "Contemporary Physics"}
@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
@String{j-DDJ-SOURCEBOOK = "Dr. Dobb's Sourcebook"}
@String{j-ECOL-MODELL = "Ecological Modelling"}
@String{j-EMPIR-SOFTWARE-ENG = "Empirical Software Engineering"}
@String{j-FORTRAN-FORUM = "ACM Fortran Forum"}
@String{j-FRONTIERS-MAR-SCI = "Frontiers in Marine Science"}
@String{j-FUT-GEN-COMP-SYS = "Future Generation Computer Systems"}
@String{j-FUTURE-INTERNET = "Future Internet"}
@String{j-GRAPH-MODELS = "Graphical models"}
@String{j-EXE = ".EXE: the software developers' magazine"}
@String{j-HARDWAREX = "HardwareX"}
@String{j-IEEE-CGA = "IEEE Computer Graphics and Applications"}
@String{j-IEEE-COMPUT-ARCHIT-LETT = "IEEE Computer Architecture Letters"}
@String{j-IEEE-MICRO = "IEEE Micro"}
@String{j-IEEE-SEC-PRIV = "IEEE Security \& Privacy"}
@String{j-IEEE-SOFTWARE = "IEEE Software"}
@String{j-IEEE-SPECTRUM = "IEEE Spectrum"}
@String{j-IEEE-TRANS-BIG-DATA = "IEEE Transactions on Big Data"}
@String{j-IEEE-TRANS-COMPUT = "IEEE Transactions on Computers"}
@String{j-IEEE-TRANS-PAR-DIST-SYS = "IEEE Transactions on Parallel and
Distributed Systems"}
@String{j-IEEE-TRANS-SOFTW-ENG = "IEEE Transactions on Software Engineering"}
@String{j-IEEE-TRANS-VIS-COMPUT-GRAPH = "IEEE Transactions on Visualization
and Computer Graphics"}
@String{j-IJHPCA = "The International Journal of High Performance
Computing Applications"}
@String{j-IJQC = "International Journal of Quantum Chemistry"}
@String{j-IMWUT = "Proceedings of the ACM on Interactive,
Mobile, Wearable and Ubiquitous
Technologies (IMWUT)"}
@String{j-INFORMS-J-COMPUT = "INFORMS Journal on Computing"}
@String{j-INT-J-IMAGE-GRAPHICS = "International Journal of Image and Graphics
(IJIG)"}
@String{j-INT-J-PAR-EMER-DIST-SYS = "International Journal of Parallel,
Emergent and Distributed Systems: IJPEDS"}
@String{j-INT-J-PARALLEL-PROG = "International Journal of Parallel Programming"}
@String{j-INT-STAT-REV = "International Statistical Review =
Revue Internationale de Statistique"}
@String{j-INTERACTIONS = "Interactions (New York, N.Y.)"}
@String{j-J-AM-STAT-ASSOC = "Journal of the American Statistical
Association"}
@String{j-J-APPL-CRYSTAL = "Journal of Applied Crystallography"}
@String{j-J-APPL-ECONOMETRICS = "Journal of Applied Econometrics"}
@String{j-J-COMPUT-APPL-MATH = "Journal of Computational and Applied
Mathematics"}
@String{j-J-COMPUT-BIOL = "Journal of Computational Biology"}
@String{j-J-COMPUT-CHEM = "Journal of Computational Chemistry"}
@String{j-J-COMPUT-SCI = "Journal of Computational Science"}
@String{j-J-FUNCT-PROGRAM = "Journal of Functional Programming"}
@String{j-J-OPEN-RES-SOFT = "Journal of Open Research Software"}
@String{j-J-OPEN-SOURCE-SOFT = "Journal of Open Source Software"}
@String{j-J-PAR-DIST-COMP = "Journal of Parallel and Distributed Computing"}
@String{j-J-R-STAT-SOC-SER-A-STAT-SOC = "Journal of the Royal
Statistical Society. Series A
(Statistics in Society)"}
@String{j-J-RES-NATL-INST-STAND-TECHNOL = "Journal of research of the National
Institute of Standards and Technology"}
@String{j-J-SOFTW-EVOL-PROC = "Journal of Software: Evolution and Process"}
@String{j-J-STAT-SOFT = "Journal of Statistical Software"}
@String{j-J-SUPERCOMPUTING = "The Journal of Supercomputing"}
@String{j-JERIC = "ACM Journal on Educational Resources in
Computing (JERIC)"}
@String{j-JOCCH = "Journal on Computing and Cultural Heritage
(JOCCH)"}
@String{j-LECT-NOTES-COMP-SCI = "Lecture Notes in Computer Science"}
@String{j-LINEAR-ALGEBRA-APPL = "Linear Algebra and its Applications"}
@String{j-LINUX-J = "Linux journal"}
@String{j-LOGIN = ";login: the USENIX Association newsletter"}
@String{j-NETWORK-SECURITY = "Network Security"}
@String{j-NUM-LIN-ALG-APPL = "Numerical Linear Algebra with Applications"}
@String{j-OPER-SYS-REV = "Operating Systems Review"}
@String{j-PACMHCI = "Proceedings of the ACM on Human-Computer
Interaction (PACMHCI)"}
@String{j-PACMPL = "Proceedings of the ACM on Programming
Languages (PACMPL)"}
@String{j-PARALLEL-PROCESS-LETT = "Parallel Processing Letters"}
@String{j-PROC-VLDB-ENDOWMENT = "Proceedings of the VLDB Endowment"}
@String{j-SCI-COMPUT-PROGRAM = "Science of Computer Programming"}
@String{j-SCI-PROG = "Scientific Programming"}
@String{j-SCIENTOMETRICS = "Scientometrics"}
@String{j-SIAM-J-SCI-COMP = "SIAM Journal on Scientific Computing"}
@String{j-SIAM-REVIEW = "SIAM Review"}
@String{j-SIGACT = "ACM SIGACT News"}
@String{j-SIGADA-LETTERS = "ACM SIGADA Ada Letters"}
@String{j-SIGCSE = "SIGCSE Bulletin (ACM Special Interest Group
on Computer Science Education)"}
@String{j-SIGMOD = "SIGMOD Record (ACM Special Interest
Group on Management of Data)"}
@String{j-SIGSOFT = "ACM SIGSOFT Software Engineering Notes"}
@String{j-SIGPLAN = "ACM SIG{\-}PLAN Notices"}
@String{j-SOFTWAREX = "SoftwareX"}
@String{j-SPE = "Soft\-ware\emdash Prac\-tice and Experience"}
@String{j-STAT-MED = "Statistics in Medicine"}
@String{j-SUNWORLD-ONLINE = "SunWorld online"}
@String{j-TACO = "ACM Transactions on Architecture and
Code Optimization"}
@String{j-TALG = "ACM Transactions on Algorithms"}
@String{j-TALLIP = "ACM Transactions on Asian and Low-Resource
Language Information Processing (TALLIP)"}
@String{j-TCBB = "IEEE/ACM Transactions on Computational
Biology and Bioinformatics"}
@String{j-TECHNOMETRICS = "Technometrics"}
@String{j-TECS = "ACM Transactions on Embedded Computing
Systems"}
@String{j-THEOR-COMP-SCI = "Theoretical Computer Science"}
@String{j-TIST = "ACM Transactions on Intelligent Systems and
Technology (TIST)"}
@String{j-TOCE = "ACM Transactions on Computing Education"}
@String{j-TOG = "ACM Transactions on Graphics"}
@String{j-TOMACS = "ACM Transactions on Modeling and
Computer Simulation"}
@String{j-TOMCCAP = "ACM Transactions on Multimedia Computing,
Communications, and Applications"}
@String{j-TOMS = "ACM Transactions on Mathematical Software"}
@String{j-TOPS = "ACM Transactions on Privacy and Security
(TOPS)"}
@String{j-TOSEM = "ACM Transactions on Software Engineering and
Methodology"}
@String{j-TQC = "ACM Transactions on Quantum Computing (TQC)"}
@String{j-TRETS = "ACM Transactions on Reconfigurable Technology
and Systems (TRETS)"}
@String{j-TUGboat = "TUGboat"}
@String{j-UNIX-DEVELOPER = "UNIX Developer"}
@String{j-WEB-REVIEW = "Web Review"}
@String{j-WEB-TECHNIQUES = "Web Techniques"}
@String{j-WORLD-WIDE-WEB-J = "World Wide Web Journal"}
@String{j-X-J = "The {X} Journal: Computing Technology with
the {X Window System}"}
@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-AW-LONGMAN = "Ad{\-d}i{\-s}on-Wes{\-l}ey Longman"}
@String{pub-AW-LONGMAN:adr = "Reading, MA, USA"}
@String{pub-CAMBRIDGE = "Cambridge University Press"}
@String{pub-CAMBRIDGE:adr = "Cambridge, UK"}
@String{pub-CHAPMAN-HALL-CRC = "Chapman and Hall/CRC"}
@String{pub-CHAPMAN-HALL-CRC:adr = "Boca Raton, FL, USA"}
@String{pub-CNRI = "Corporation for National Research
Initiatives"}
@String{pub-CNRI:adr = "1895 Preston White Drive, Suite 100, Reston,
VA 20191, USA"}
@String{pub-CRC = "CRC Press"}
@String{pub-CRC:adr = "2000 N.W. Corporate Blvd., Boca Raton,
FL 33431-9868, USA"}
@String{pub-CWI = "Centrum voor Wiskunde en Informatica"}
@String{pub-CWI:adr = "P. O. Box 4079, 1009 AB Amsterdam, The
Netherlands"}
@String{pub-EUROPEN = "EurOpen"}
@String{pub-EUROPEN:adr = "Buntingford, Herts, UK"}
@String{pub-EYROLLES = "Eyrolles"}
@String{pub-EYROLLES:adr = "Paris, France"}
@String{pub-IEEE = "IEEE Computer Society Press"}
@String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver
Spring, MD 20910, USA"}
@String{pub-MAC = "Macmillan Publishing Company"}
@String{pub-MAC:adr = "New York, NY, USA"}
@String{pub-MANNING = "Manning Publications"}
@String{pub-MANNING:adr = "Greenwich, CT, USA"}
@String{pub-MIT = "MIT Press"}
@String{pub-MIT:adr = "Cambridge, MA, USA"}
@String{pub-MORGAN-KAUFMANN = "Morgan Kaufmann Publishers"}
@String{pub-MORGAN-KAUFMANN:adr = "San Francisco, CA, 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-NO-STARCH = "No Starch Press"}
@String{pub-NO-STARCH:adr = "San Francisco, CA, USA"}
@String{pub-NRP = "New Riders Publishing"}
@String{pub-NRP:adr = "Carmel, IN, USA"}
@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 = "Osborne/McGraw-Hill"}
@String{pub-OSBORNE:adr = "Berkeley, CA, USA"}
@String{pub-PACKT = "Packt Publishing"}
@String{pub-PACKT:adr = "Birmingham, UK"}
@String{pub-PEACHPIT = "Peachpit Press, Inc."}
@String{pub-PEACHPIT:adr = "1085 Keith Avenue, Berkeley, CA
94708, USA"}
@String{pub-PH = "Pren{\-}tice-Hall"}
@String{pub-PH:adr = "Englewood Cliffs, NJ 07632, USA"}
@String{pub-PHPTR = "P T R Pren{\-}tice-Hall"}
@String{pub-PHPTR:adr = "Englewood Cliffs, NJ 07632, USA"}
@String{pub-PRINCETON = "Princeton University Press"}
@String{pub-PRINCETON:adr = "Princeton, NJ, USA"}
@String{pub-SAMS = "SAMS Publishing"}
@String{pub-SAMS:adr = "Indianapolis, IN, USA"}
@String{pub-SIAM = "Society for Industrial and Applied
Mathematics"}
@String{pub-SIAM:adr = "Philadelphia, PA, USA"}
@String{pub-STUDENTLITTERATUR = "Studentlitteratur"}
@String{pub-STUDENTLITTERATUR:adr = "Lund, Sweden"}
@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg,
Germany~/ London, UK~/ etc."}
@String{pub-SYNGRESS = "Syngress Publishing, Inc."}
@String{pub-SYNGRESS:adr = "Rockland, MA, USA"}
@String{pub-USENIX = "USENIX"}
@String{pub-USENIX:adr = "Berkeley, CA, USA"}
@String{pub-WILEY = "Wiley"}
@String{pub-WILEY:adr = "New York, NY, USA"}
@String{pub-WORLD-SCI = "World Scientific Publishing Co."}
@String{pub-WORLD-SCI:adr = "Singapore; Philadelphia, PA, USA; River
Edge, NJ, USA"}
@String{pub-WROX = "Wrox Press"}
@String{pub-WROX:adr = "Chicago, IL, USA"}
@String{ser-LNCSE = "Lecture Notes in Computational
Science and Engineering"}
@TechReport{MacLachlan:1991:CCL,
author = "Rob MacLachlan",
title = "{CMU Common Lisp} user's manual",
type = "Research paper",
number = "CMU-CS-91-108",
institution = "School of Computer Science, Carnegie Mellon
University",
address = "Pittsburgh, PA, USA",
pages = "vi + 168",
month = feb,
year = "1991",
bibdate = "Mon Nov 18 14:18:28 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/common-lisp.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "This is a revised version of Technical Report
CMU-CS-87-156.",
abstract = "CMU Common Lisp is an implementation of Common Lisp
that currently runs under Mach, a Berkeley Unix 4.3
binary compatible operating system. CMU Common Lisp is
currently supported on MIPS-processor DECstations,
SPARC-based workstations from Sun and the IBM RT PC,
and other ports are planned. The largest single part of
this document describes the Python compiler and the
programming styles and techniques that the compiler
encourages. The rest of the document describes
extensions and the implementation dependent choices
made in developing this implementation of Common Lisp.
We have added several extensions, including the
proposed error system, a source level debugger, an
interface to Mach system calls, a foreign function call
interface, support for interprocess communication and
remote procedure call, and other features that provide
a good environment for developing Lisp code.",
acknowledgement = ack-nhfb,
annote = "Sponsored by the Defense Advanced Research Projects
Agency, Information Science and Technology Office.",
keywords = "LISP (Computer program language)",
}
@InProceedings{vanRossum:1991:LSG,
author = "G. {van Rossum} and J. {de Boer}",
title = "Linking a stub generator ({AIL}) to a prototyping
language ({Python})",
crossref = "EurOpen:1991:EUD",
pages = "229--247",
year = "1991",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C5620 (Computer networks and techniques); C6110
(Systems analysis and programming); C6115 (Programming
support); C6140D (High level languages); C6150C
(Compilers, interpreters and other processors)",
conflocation = "Tromso, Norway; 20-24 May 1991",
corpsource = "CWI, Amsterdam, Netherlands",
keywords = "AIL; Amoeba; client/server interfaces; distributed
operating system; distributed processing; interpreted
prototyping language; parallel languages; parallel
programming; program processors; Python; Remote
Procedure Call stub generator; software prototyping;
usability",
pubcountry = "UK",
treatment = "P Practical",
}
@TechReport{MacLachlan:1992:CCL,
author = "Rob MacLachlan",
title = "{CMU Common Lisp} user's manual",
type = "Research paper",
number = "CMU-CS-92-161",
institution = "School of Computer Science, Carnegie Mellon
University",
address = "Pittsburgh, PA, USA",
pages = "v + 142",
month = jul,
year = "1992",
bibdate = "Mon Nov 18 14:18:28 MST 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/common-lisp.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Supersedes Technical Reports CMU-CS-87-156 and
CMU-CS-91-108.",
abstract = "CMU Common Lisp is an implementation of that Common
Lisp is [sic] currently supported on MIPS-processor
DECstations, SPARC-based workstations from Sun and the
IBM RT PC, and other ports are planned. All
architectures are supported under Mach, a Berkeley Unix
4.3 binary compatible operating system. The SPARC is
also supported under SunOS. The largest single part of
this document describes the Python compiler and the
programming styles and techniques that the compiler
encourages. The rest of the document describes
extensions and the implementation dependent choices
made in developing this implementation of Common Lisp.
We have added several extensions, including a source
level debugger, an interface to Unix system calls, a
foreign function call interface, support for
interprocess communication and remote procedure call,
and other features that provide a good environment for
developing Lisp code.",
acknowledgement = ack-nhfb,
annote = "Supported in part by the Defense Advanced Research
Projects Agency, Information Science and Technology
Office, issued by DARPA/CMO.",
keywords = "COMMON LISP (Computer program language); Compilers
(Computer programs)",
}
@InProceedings{MacLachlan:1992:PCC,
author = "Robert A. MacLachlan",
title = "{Python} compiler for {CMU Common Lisp}",
crossref = "ACM:1992:PAC",
pages = "235--246",
year = "1992",
bibdate = "Wed Aug 6 19:54:46 MDT 1997",
bibsource = "Compendex database;
https://www.math.utah.edu/pub/tex/bib/common-lisp.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "The Python compiler for CMU Common Lisp has been under
development for over five years, and now forms the core
of a production quality public domain Lisp
implementation. Python synthesizes the good ideas from
Lisp compilers and source transformation systems with
mainstream optimization and retargetability techniques.
Novel features include strict type checking and
source-level debugging of compiled code. Unusual
attention has been paid to the compiler's user
interface.",
acknowledgement = ack-nhfb,
affiliation = "Carnegie Mellon Univ",
affiliationaddress = "Pittsburgh, PA, USA",
classification = "723.1; 723.1.1",
keywords = "Algorithms; Lisp (programming language); Mainstream
optimization and retargetability techniques; Program
compilers; Program debugging; Program processors;
Python compiler; Source level debugging; Type checking;
User interfaces",
sponsor = "ACM; SIGPLAN; SIGACT; SIGART",
}
@Article{Anonymous:1995:NIP,
author = "Anonymous",
title = "{NIST} Investigates {Python} Programming Language",
journal = j-J-RES-NATL-INST-STAND-TECHNOL,
volume = "100",
number = "1",
pages = "101--101",
month = jan # "\slash " # feb,
year = "1995",
CODEN = "JRITEF",
ISSN = "1044-677X (print), 2165-7254 (electronic)",
ISSN-L = "1044-677X",
bibdate = "Thu May 21 16:28:33 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://nvl.nist.gov/pub/nistpubs/jres/jrescont.pdf",
acknowledgement = ack-nhfb,
fjournal = "Journal of research of the National Institute of
Standards and Technology",
journal-URL = "http://www.nist.gov/nvl/jres.cfm",
}
@Article{Conway:1995:PGD,
author = "Matthew J. Conway",
title = "{Python}: a {GUI} development tool",
journal = j-INTERACTIONS,
volume = "2",
number = "2",
pages = "23--28",
month = apr,
year = "1995",
CODEN = "IERAE3",
ISSN = "1072-5520",
ISSN-L = "1072-5520",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6115 (Programming support); C6140D (High level
languages); C6180G (Graphical user interfaces)",
corpsource = "Virginia Univ., Charlottesville, VA, USA",
fjournal = "Interactions (New York, N.Y.)",
keywords = "authoring languages; authoring systems; Eiffel;
graphical user interfaces; GUI development tool;
Modula-3; Perl5; Prolog; Python; Scheme; Self; Tcl/Tk;
Tk-aware interpreted languages; user interface
management systems",
treatment = "P Practical",
}
@InProceedings{Huang:1995:CEM,
author = "C. C. Huang and G. S. Couch and E. F. Pettersen and T.
E. Ferrin",
title = "{Chimera}: an extensible molecular modeling
application constructed using standard components",
crossref = "Hunter:1995:PSB",
pages = "724--??",
year = "1995",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "A3520B (General molecular conformation and symmetry;
A3620H (Macromolecular configuration (bonds,
dimensions)); A8715B (Biomolecular structure,
configuration, conformation, and active sites); C6110B
(Software engineering techniques); C6130B (Graphics
techniques); C7320 (Physics and chemistry computing);
C7330 (Biology and medical computing);
stereochemistry)",
conftitle = "Proceedings of Biocomputing '96",
corpsource = "Lab. of Comput. Graphics, California Univ., San
Francisco, CA, USA",
keywords = "application availability evaluation; biology
computing; Chimera; computer graphics; digital
simulation; interoperability; Kinemage files;
macromolecules; molecular biophysics; molecular
configurations; molecular modeling application; Open
Inventor; open systems; OpenGL; physics computing;
programmable command language; Python language
interpreter; software extensibility; software
libraries; software portability; standard components;
standard functionality; technological criteria;
workstations; X Windows; X/MOTIF user interface",
treatment = "P Practical",
}
@Article{UUIG:1995:VBA,
author = "{UVa User Interface Group}",
title = "{VR} Blackboard: {Alice}: Rapid Prototyping for
Virtual Reality",
journal = j-IEEE-CGA,
volume = "15",
number = "3",
pages = "8--11",
month = may,
year = "1995",
CODEN = "ICGADZ",
ISSN = "0272-1716 (print), 1558-1756 (electronic)",
ISSN-L = "0272-1716",
bibdate = "Wed May 08 06:20:22 2002",
bibsource = "Compendex database;
https://www.math.utah.edu/pub/tex/bib/ieeecga.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "722.2; 723; 723.1; 723.5",
fjournal = "IEEE Computer Graphics and Applications",
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/cga",
journalabr = "IEEE Comput Graphics Appl",
keywords = "Animation; Computer keyboards; Computer programs;
Computer simulation; Computer software; Interactive
computer graphics; Mice (computer peripherals); Object
oriented programming; Python programming language;
Software prototyping; Three dimensional computer
graphics; Virtual reality",
}
@TechReport{vanRossum:1995:EEP,
author = "Guido {van Rossum}",
title = "Extending and embedding the {Python} interpreter",
type = "Report",
number = "CS-R9527",
institution = pub-CWI,
address = pub-CWI:adr,
pages = "i + 22",
month = apr,
year = "1995",
bibdate = "Thu May 21 14:06:05 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python is an interpreted, object-oriented programming
language. This document describes how to write modules
in C or C++ to extend the Python interpreter with new
modules. Those modules can define new functions but
also new object types and their methods. The document
also describes how to embed the Python interpreter in
another application, for use as an extension language.
Finally, it shows how to compile and link extension
modules so that they can be loaded dynamically (at run
time) into the interpreter, if the underlying operating
system supports this feature. This document assumes
basic knowledge about Python. For an informal
introduction to the language, see the Python Tutorial.
The Python Reference Manual gives a more formal
definition of the language. The Python Library
Reference documents the existing object types,
functions and modules (both built-in and written in
Python) that give the language its wide application
range.",
acknowledgement = ack-nhfb,
keywords = "Object-oriented programming (Computer science);
Programming languages (Electronic computers)",
}
@TechReport{vanRossum:1995:PLR,
author = "Guido {van Rossum}",
title = "{Python} library reference",
type = "Report",
number = "CS-R9524",
institution = pub-CWI,
address = pub-CWI:adr,
pages = "iv + 186",
month = apr,
year = "1995",
bibdate = "Fri May 22 14:34:22 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.python.org/doc/lib/lib.html",
abstract = "Python is an extensible, interpreted, object-oriented
programming language. It supports a wide range of
applications, from simple text processing scripts to
interactive WWW browsers. While the Python Reference
Manual describes the exact syntax and semantics of the
language, it does not describe the standard library
that is distributed with the language, and which
greatly enhances its immediate usability. This library
contains built-in modules (written in C) that provide
access to system functionality such as file I/O that
would otherwise be inaccessible to Python programmers,
as well as modules written in Python that provide
standardized solutions for many problems that occur in
everyday programming. Some of theses modules are
explicitly designed to encourage and enhance the
portability of Python programs. This library reference
manual documents Python's standard library, as well as
many optional library modules (which may or may not be
available, depending on whether the underlying platform
supports them and on the configuration choices made at
compile time). It also documents the standard types of
the language and its built-in functions and exceptions,
many of which are not or incompletely documented in the
Reference Manual. This manual assumes basic knowledge
about the Python language. For an informal introduction
to Python, see the Python Tutorial; the Python
Reference Manual remains the highest authority on
syntactic and semantic questions. Finally, the manual
entitled Extending and Embedding the Python Interpreter
describes how to add new extensions to Python and how
to embed it in other applications.''",
acknowledgement = ack-nhfb,
keywords = "Object-oriented programming (Computer science);
Programming languages (Electronic computers)",
}
@TechReport{vanRossum:1995:PRM,
author = "Guido {van Rossum}",
title = "{Python} reference manual",
type = "Report",
number = "CS-R9525",
institution = pub-CWI,
address = pub-CWI:adr,
pages = "ii + 54",
month = apr,
year = "1995",
bibdate = "Thu May 21 14:06:05 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.python.org/doc/ref/ref-1.html",
abstract = "Python is a simple, yet powerful, interpreted
programming language that bridges the gap between C and
shell programming, and is thus ideally suited for
`throw-away programming' and rapid prototyping. Its
syntax is put together from constructs borrowed from a
variety of other languages; most prominent are
influences from ABC, C, Modula-3 and Icon. The Python
interpreter is easily extended with new functions and
data types implemented in C. Python is also suitable as
an extension language for highly customizable C
applications such as editors or window managers. Python
is available for various operating systems, amongst
which several flavors of UNIX (including Linux), the
Apple Macintosh O.S., MS-DOS, MS-Windows 3.1, Windows
NT, and OS/2. This reference manual describes the
syntax and `core semantics' of the language. It is
terse, but attempts to be exact and complete. The
semantics of non-essential built-in object types and of
the built-in functions and modules are described in the
Python Library Reference. For an informal introduction
to the language, see the Python Tutorial.",
acknowledgement = ack-nhfb,
keywords = "Object-oriented programming (Computer science);
Programming languages (Electronic computers)",
}
@TechReport{vanRossum:1995:PT,
author = "Guido {van Rossum}",
title = "{Python} tutorial",
type = "Report",
number = "CS-R9526",
institution = pub-CWI,
address = pub-CWI:adr,
pages = "iii + 65",
month = apr,
year = "1995",
bibdate = "Thu May 21 14:06:05 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.python.org/doc/tut/tut.html",
abstract = "Python is a simple, yet powerful programming language
that bridges the gap between C and shell programming,
and is thus ideally suited for `throw-away programming'
and rapid prototyping. Its syntax is put together from
constructs borrowed from a variety of other languages;
most prominent are influences from ABC, C, Modula-3 and
Icon. The Python interpreter is easily extended with
new functions and data types implemented in C. Python
is also suitable as an extension language for highly
customizable C applications such as editors or window
managers. Python is available for various operating
systems, amongst which several flavors of UNIX, Amoeba,
the Apple Macintosh O.S., and MS-DOS. This tutorial
introduces the reader informally to the basic concepts
and features of the Python language and system. It
helps to have a Python interpreter handy for hands-on
experience, but as the examples are self-contained, the
tutorial can be read off-line as well. For a
description of standard objects and modules, see the
Python Library Reference manual. The Python Reference
Manual gives a more formal definition of the
language.",
acknowledgement = ack-nhfb,
keywords = "Object-oriented programming (Computer science);
Programming languages (Electronic computers)",
}
@Article{Watters:1995:TAN,
author = "Aaron R. Watters",
title = "Tutorial Article No. 005: The What, Why, Who, and
Where of {Python}",
journal = "UnixWorld Online",
volume = "??",
number = "??",
pages = "??--??",
month = "????",
year = "1995",
bibdate = "Thu May 21 16:11:31 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.wcmh.com/uworld/archives/95/tutorial/005.html",
acknowledgement = ack-nhfb,
}
@Article{Bauer:1996:IP,
author = "Jeff Bauer",
title = "An Introduction to {Python}",
journal = j-LINUX-J,
volume = "21",
pages = "??--??",
month = jan,
year = "1996",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Oct 9 08:35:26 MDT 1998",
bibsource = "http://www.linuxjournal.com/issue21/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Do you need help in the rapid development of
applications? Python could be the language for you.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@InProceedings{Beazley:1996:SEU,
author = "D. M. Beazley",
title = "{SWIG}: an easy to use tool for integrating scripting
languages with {C} and {C++}",
crossref = "USENIX:1996:ATT",
pages = "129--139",
year = "1996",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6115 (Programming support); C6140D (High level
languages); C6180 (User interfaces)",
corpsource = "Dept. of Comput. Sci., Utah Univ., Salt Lake City, UT,
USA",
keywords = "ANSI C/C++ declarations; ASCII format; authoring
languages; automatic bindings generation; C language;
C++ language; classes; data types; documentation;
Guile; HTML; language integration; LaTeX; Perl;
pointers; program development tool; programming
environments; Python; scripting languages; Simplified
Wrapper and Interface Generator; software tools;
structures; SWIG; system documentation; Tcl/Tk; user
interface management systems",
treatment = "P Practical",
}
@Article{Crespo:1996:WBB,
author = "Arturo Crespo and Eric A. Bier",
title = "{WebWriter}: a browser-based editor for constructing
{Web} applications",
journal = j-COMP-NET-ISDN,
volume = "28",
number = "7--11",
pages = "1291--1306",
day = "1",
month = may,
year = "1996",
CODEN = "CNISE9",
ISSN = "0169-7552 (print), 1879-2324 (electronic)",
ISSN-L = "0169-7552",
bibdate = "Fri Sep 24 20:21:29 MDT 1999",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sgml.bib",
URL = "http://www.elsevier.com/cgi-bin/cas/tree/store/comnet/cas_sub/browse/browse.cgi?year=1996&volume=28&issue=7-11&aid=1616",
acknowledgement = ack-nhfb,
affiliation = "Dept. of Comput. Sci., Stanford Univ., CA, USA",
classification = "C6115 (Programming support); C6130D (Document
processing techniques); C6130M (Multimedia); C6140D
(High level languages); C6150N (Distributed systems
software); C6180 (User interfaces)",
conflocation = "Paris, France; 6-10 May 1996",
conftitle = "Fifth International World Wide Web Conference",
corpsource = "Dept. of Comput. Sci., Stanford Univ., CA, USA",
fjournal = "Computer Networks and ISDN Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/01697552",
keywords = "application generators; authoring systems;
browser-based editor; CGI protocol; clickable maps;
Common Gateway Interface; direct-manipulation Web page
editor; HTML extensions; hypermedia; Hypertext Markup
Language; network servers; nonprogrammers; output
regions; page description languages; page stack;
programming languages; Python; script; server-based
authoring tools; server-based World Wide Web
applications construction; server-side editors; SGML;
software packages; text editing; toolkit; user
interface layout; Web page generating programs;
WebWriter; {Internet}",
pubcountry = "Netherlands",
treatment = "P Practical",
}
@Article{Dubois:1996:EPO,
author = "P. F. Dubois and T.-Y. Yang",
title = "Extending {Python} [Object-oriented language]",
journal = j-COMPUT-PHYS,
volume = "10",
number = "4",
pages = "359--365",
month = jul # "\slash " # aug,
year = "1996",
CODEN = "CPHYE2",
DOI = "https://doi.org/10.1063/1.4822457",
ISSN = "0894-1866 (print), 1558-4208 (electronic)",
ISSN-L = "0894-1866",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://aip.scitation.org/doi/10.1063/1.4822457",
acknowledgement = ack-nhfb,
ajournal = "Comput. Phys",
classification = "C6110J (Object-oriented programming); C6120 (File
organisation); C6130 (Data handling techniques); C6140D
(High level languages); C6150C (Compilers, interpreters
and other processors); C7300 (Natural sciences
computing)",
corpsource = "Lawrence Livermore Nat. Lab., CA, USA",
fjournal = "Computers in Physics",
journal-URL = "https://aip.scitation.org/journal/cip",
keywords = "C language; C++; C++ static-constructor problem,;
compiled sources; dynamic loading; embedding; exception
handling; first-class functions; Fortran; free
language; garbage collection; high-performance
numerical extension; interpreted language; natural
sciences computing; object types; object- oriented
languages; object-oriented language; object-oriented
programming; portable language; program interpreters;
programmable application; Python interpreter; Python
language; Python program; scientific programming;
storage management; user interface",
treatment = "P Practical",
}
@Article{Dubois:1996:NP,
author = "P. F. Dubois and K. Hinsen and J. Hugunin",
title = "Numerical {Python}",
journal = j-COMPUT-PHYS,
volume = "10",
number = "3",
pages = "262--267",
month = may # "\slash " # jun,
year = "1996",
CODEN = "CPHYE2",
ISSN = "0894-1866 (print), 1558-4208 (electronic)",
ISSN-L = "0894-1866",
bibdate = "Sun Apr 13 12:29:32 MDT 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/linux.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python is a small and easy-to-learn language with
surprising capabilities. It is an interpreted
object-oriented scripting language and has a full range
of sophisticated features such as first-class
functions, garbage collection, and exception handling.
Python has properties that make it especially appealing
for scientific programming: Python is quite simple and
easy to learn, but it is a full and complete language.
It is simple to extend Python with your own compiled
objects and functions. Python is portable, from Unix to
Windows 95 to Linux to Macintosh. Python is free, with
no license required even if you make a commercial
product out of it. Python has a large user-contributed
library of ``modules''. These modules cover a wide
variety of needs, such as audio and image processing,
World Wide Web programming, and graphical user
interfaces. In particular, there is an interface to the
popular Tk package for building windowing applications.
And now, Python has a high-performance array module
similar to the facilities in specialized array
languages such as Matlab, IDL, Basis, or Yorick. This
extension also adds complex numbers to the language.
Array operations in Python lead to the execution of
loops in C, so that most of the work is done at full
compiled speed.",
acknowledgement = ack-nhfb,
classcodes = "C6140D (High level languages); C6110J (Object-oriented
programming); C6150C (Compilers, interpreters and other
processors); C7300 (Natural sciences computing)",
corpsource = "Lawrence Livermore Nat. Lab., CA, USA",
fjournal = "Computers in Physics",
keywords = "applications; compiled objects; exception; first-class
functions; garbage collection; graphical user
interfaces; handling; high-performance array module;
interpreted object-oriented scripting language; natural
sciences computing; object-oriented languages; program
interpreters; Python; scientific programming; Wide Web
programming; windowing; World",
treatment = "P Practical",
}
@Article{Dubois:1996:SPE,
author = "Paul F. Dubois and T.-Y. Yang",
title = "Scientific Programming: Extending {Python}",
journal = j-COMPUT-PHYS,
volume = "10",
number = "4",
pages = "359--??",
month = "????",
year = "1996",
CODEN = "CPHYE2",
ISSN = "0894-1866 (print), 1558-4208 (electronic)",
ISSN-L = "0894-1866",
bibdate = "Thu May 21 16:28:33 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computers in Physics",
}
@InProceedings{Fulton:1996:IPP,
author = "Jim Fulton",
title = "Introduction to the {Python} Programming Language",
crossref = "USENIX:1996:PSUb",
pages = "??--??",
year = "1996",
bibdate = "Mon Oct 21 14:29:18 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.usenix.org/publications/library/proceedings/coots96/",
acknowledgement = ack-nhfb,
}
@InProceedings{Hylton:1996:KPS,
author = "J. Hylton and K. Manheimer and F. L. {Drake, Jr.} and
B. Warsaw and R. Masse and G. {van Rossum}",
title = "Knowbot Programming: system support for mobile
agents",
crossref = "Cabrera:1996:PFI",
pages = "8--13",
year = "1996",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6110J (Object-oriented programming); C6130S (Data
security); C6150N (Distributed systems software); C6170
(Expert systems)",
conftitle = "Proceedings of the Fifth International Workshop on
Object- Orientation in Operating Systems",
corpsource = "Corporation for Nat. Res. Initiatives, Reston, VA,
USA",
keywords = "cooperative systems; distributed systems; Internet;
interprocess communication; Knowbot Programs; mobile
agents; multiple autonomous agents; network resources;
object-oriented languages; object-oriented programming;
object-oriented programming language; process
migration; prototype system; Python; security; security
of data; software agents",
sponsororg = "IEEE Comput. Soc. Tech. Committee on Oper. Syst.;
USENIX",
treatment = "P Practical",
}
@Book{Lutz:1996:PP,
author = "Mark Lutz",
title = "Programming {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxii + 880",
month = "Fall",
year = "1996",
ISBN = "1-56592-197-6, 0-585-03222-X (e-book)",
ISBN-13 = "978-1-56592-197-9, 978-0-585-03222-1 (e-book)",
LCCN = "QA76.73.P98 L88 1996",
bibdate = "Sat Jun 28 10:26:23 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
note = "Also available in Japanese translation, see
\path=http://www.oreilly.co.jp/BOOK/python1.htm=.",
price = "US\$39.95",
URL = "http://shell.rmi.net/~lutz/;
http://www.oreilly.com/catalog/python",
acknowledgement = ack-nhfb,
keywords = "Python (Computer program language)",
}
@Article{Troan:1996:FSSa,
author = "Erik Troan",
title = "Free Software Solutions: The {Python} Language",
journal = j-X-J,
volume = "5",
number = "5",
pages = "96--??",
month = may,
year = "1996",
CODEN = "XJOUEA",
ISSN = "1056-7003",
bibdate = "Thu Sep 05 09:14:34 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/xjournal.bib",
acknowledgement = ack-nhfb,
fjournal = "The X Journal",
}
@Article{Troan:1996:FSSb,
author = "Erik Troan",
title = "Free Software Solutions: Basic {X} Programming in
{Python}",
journal = j-X-J,
volume = "5",
number = "6",
pages = "84--??",
month = jun,
year = "1996",
CODEN = "XJOUEA",
ISSN = "1056-7003",
bibdate = "Thu Sep 05 09:14:34 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/xjournal.bib",
acknowledgement = ack-nhfb,
fjournal = "The X Journal",
}
@Article{Troan:1996:FSSc,
author = "Erik Troan",
title = "Free Software Solutions: Meta Widgets in {Python}",
journal = j-X-J,
volume = "5",
number = "7",
pages = "??--??",
month = jul # "\slash " # aug,
year = "1996",
CODEN = "XJOUEA",
ISSN = "1056-7003",
bibdate = "Wed Sep 4 09:14:40 1996",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/xjournal.bib;
http://www.sigs.com/publications/docs/txjr/9607/txjr9607.toc.html",
fjournal = "The X Journal",
}
@Book{Watters:1996:IPP,
author = "Aaron Watters and Guido {van Rossum} and James C.
Ahlstrom",
title = "{Internet} programming with {Python}",
publisher = pub-MT,
address = pub-MT:adr,
pages = "xviii + 477",
year = "1996",
ISBN = "1-55851-484-8",
ISBN-13 = "978-1-55851-484-3",
LCCN = "QA76.73.P98 W38 1996",
bibdate = "Thu May 21 11:05:40 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
price = "US\$34.95",
URL = "http://www.fsbassociates.com/books/python.htm",
acknowledgement = ack-nhfb,
annote = "See book review \cite{Johnson:1997:BRI}.",
keywords = "Internet (Computer network); Python (Computer program
language)",
}
@Article{Anonymous:1997:BRI,
author = "Anonymous",
title = "Book Review: {Internet Programming with Python}",
journal = j-LINUX-J,
volume = "42",
pages = "??--??",
month = oct,
year = "1997",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Oct 9 08:35:26 MDT 1998",
bibsource = "http://www.linuxjournal.com/issue42/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.linuxjournal.com/2152.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Anonymous:1997:BRPe,
author = "Anonymous",
title = "Book Review: {{\booktitle{Programming Python}}: By
Mark Lutz. O'Reilly, Sebastopol, CA. (1996). 880 pages.
\$44.95}",
journal = j-COMPUT-MATH-APPL,
volume = "33",
number = "5",
pages = "132--132",
month = mar,
year = "1997",
CODEN = "CMAPDK",
ISSN = "0898-1221 (print), 1873-7668 (electronic)",
ISSN-L = "0898-1221",
bibdate = "Wed Mar 1 21:48:37 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computmathappl1990.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0898122197829525",
acknowledgement = ack-nhfb,
fjournal = "Computers and Mathematics with Applications",
journal-URL = "http://www.sciencedirect.com/science/journal/08981221",
}
@Article{Arnold:1997:HDO,
author = "David Arnold and Andy Bond and Martin Chilvers",
title = "{Hector}: Distributed Objects in {Python}",
journal = j-DDJ-SOURCEBOOK,
volume = "??",
number = "??",
pages = "??--??",
month = jan # "\slash " # feb,
year = "1997",
ISSN = "1077-9019",
bibdate = "Thu May 21 15:33:54 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ddsbk/1997/1997_01/arno.htm",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Sourcebook",
}
@InProceedings{Beazley:1997:BFL,
author = "David M. Beazley and Peter S. Lomdahl",
title = "Building flexible large-scale scientific computing
applications with scripting languages",
crossref = "Heath:1997:PES",
year = "1997",
bibdate = "Fri May 22 09:14:10 MDT 1998",
bibsource = "Compendex database;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "We describe our use of scripting languages with a
large-scale molecular dynamics code. We will show how
one can build an interactive, highly modular, and
easily extensible system without sacrificing
performance, building a huge monolithic package, or
complicating code development. We will also describe
our use of the Python language and the SWIG automated
interface generation tool that we have developed for
easily creating scripting language interfaces to C/C++
programs.",
acknowledgement = ack-nhfb,
affiliation = "Univ of Utah",
affiliationaddress = "Salt Lake City, UT, USA",
journalabr = "Proc SIAM Conf Parallel Process Sci Comput",
pagecount = "8",
}
@InProceedings{Beazley:1997:EMP,
author = "D. M. Beazley and P. S. Lomdahl",
title = "Extensible message passing application development and
debugging with {Python}",
crossref = "IEEE:1997:PIP",
pages = "650--655",
year = "1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C5220P (Parallel architecture)C5440 (Multiprocessing
systems); C6110P (Parallel programming); C6115
(Programming support); C6140D (High level languages);
C6150C (Compilers, interpreters and other processors);
C6150G (Diagnostic, testing, debugging and evaluating
systems); C6150N (Distributed systems software)",
conftitle = "Proceedings 11th International Parallel Processing
Symposium",
corpsource = "Dept. of Comput. Sci., Utah Univ., Salt Lake City, UT,
USA",
keywords = "application specific debugging; CM-5; Cray T3D;
extensible message passing application debugging;
extensible message passing application development;
interpreted object oriented scripting language;
large-scale message passing applications; message
passing; message passing program writing; molecular
dynamics application; MPI; multiprocessing systems;
object-oriented languages; parallel machines; parallel
programming; program debugging; program interpreters;
Python parallelisation; rapid prototyping; software
prototyping; Sun multiprocessor servers",
sponsororg = "IEEE Comput. Soc. Tech. Committee on Parallel
Process.; ACM SIGARCH; Eur. Assoc. Theor. Comput. Sci.
(EATCS); Swiss Special Interest Group on Parallelism
(SIPAR); SPPEDUP Soc",
treatment = "P Practical",
}
@Article{Bielak:1997:UPG,
author = "Richie Bielak",
title = "Using {Python} to Generate {HTML} Pages",
journal = "Linux Gazette",
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "1997",
bibdate = "Thu May 21 15:19:57 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ssc.com/lg/issue19/python.html",
acknowledgement = ack-nhfb,
}
@InProceedings{Hammer:1997:ESI,
author = "J. Hammer and H. Garcia-Molina and J. Cho and R.
Aranha and Crespo and A.",
title = "Extracting semistructured information from the {Web}",
crossref = "Anonymous:1997:PWM",
pages = "18--25",
year = "1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6160B (Distributed databases); C7210 (Information
services and centres); C7250 (Information storage and
retrieval)",
conflocation = "Tucson, AZ, USA; 16 May 1997",
conftitle = "Proceedings of Workshop on Management of
Semi-Structured Data",
corpsource = "Dept. of Comput. Sci., Stanford Univ., CA, USA",
keywords = "configurable tool; DARPA I/sup 3/ technology
demonstration; database objects; declarative
specification; distributed databases; HTML pages;
information conversion; information retrieval;
Internet; Python programming language; semistructured
information extraction; TSIMMIS testbed; various WWW
sites; weather data extraction; Web extractor",
sponsororg = "NSF",
treatment = "P Practical",
}
@Unpublished{Hugunin:1997:PJB,
author = "Jim Hugunin",
title = "{Python} and {Java}: The Best of Both Worlds",
year = "1997",
bibdate = "Tue Jan 06 09:29:45 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Discusses an implementation of the Python scripting
language in Java. The article and the code are
available electronically.",
URL = "http://www.python.org/jpython/",
acknowledgement = ack-nhfb,
}
@Article{Johnson:1997:BRI,
author = "Dwight Johnson",
title = "Book Review: {{\em Internet Programming with
Python}}",
journal = j-LINUX-J,
volume = "42",
pages = "??--??",
month = oct,
year = "1997",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Apr 30 10:36:13 1999",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "See book \cite{Watters:1996:IPP}.",
URL = "http://www.ssc.com/lj/issue42/2152.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Kim:1997:DIW,
author = "Hyeon Jong Kim and Ki Ho Lee",
title = "Design and implementation of {Web} documents creating
system with {HTML}-supporting library",
journal = "Journal of KISS(C) (Computing Practices)",
volume = "3",
number = "4",
pages = "375--383",
month = aug,
year = "1997",
CODEN = "CKNCFY",
ISSN = "1226-2293",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C5620W (Other computer networks); C6110J
(Object-oriented programming); C6130D (Document
processing techniques); C6130M (Multimedia); C6140D
(High level languages); C6150N (Distributed systems
software); C7210 (Information services and centres)",
corpsource = "Korea Inf. Sci. Soc., Seoul, South Korea",
keywords = "CGI program; compact program; GUI; HTML documents;
HTML supporting library; hypermedia; Internet;
nonsequential construction; object oriented design;
object oriented programming language; object-oriented
languages; page description languages; print
statements; Python; Web browser; Web document creation
system; Web documents",
language = "Korean",
pubcountry = "South Korea",
treatment = "P Practical",
}
@Article{Kuchling:1997:PU,
author = "Andrew Kuchling",
title = "{Python} Update",
journal = j-LINUX-J,
volume = "37",
pages = "??--??",
month = may,
year = "1997",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Oct 9 08:35:26 MDT 1998",
bibsource = "http://www.linuxjournal.com/issue37/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Laird:1997:CSL,
author = "Cameron Laird and Kathryn Soraiz",
title = "Choosing a scripting language: {Perl}, {Tcl}, and
{Python}: they're not your father's scripting
languages",
journal = j-SUNWORLD-ONLINE,
volume = "??",
number = "??",
pages = "??--??",
month = oct,
year = "1997",
ISSN = "1091-8914",
bibdate = "Thu May 21 15:17:09 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sun.com/sunworldonline/swol-10-1997/swol-10-scripting.html",
acknowledgement = ack-nhfb,
fjournal = "SunWorld online",
}
@Article{Orlowski:1997:NSC,
author = "A. Orlowski",
title = "And now for something completely different? [{Python}
language]",
journal = j-EXE,
volume = "12",
number = "2",
pages = "34--35, 37, 39, 41",
month = jul,
year = "1997",
CODEN = "EXEEE5",
ISSN = "0268-6872",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6110J (Object-oriented programming); C6140D (High
level languages); C6150N (Distributed systems
software)",
fjournal = ".EXE: the software developers' magazine",
keywords = "Amoeba operating system; API; application program
interfaces; authoring languages; BSD- style sockets;
CGI facilities; client- server systems; client-server
system; CORBA; graphical user interface; GUI toolkits;
ILU; object-oriented languages; object-oriented
programming; operating systems (computers); Python
language; scripting language; shared objects; software
libraries; SQL interfaces",
pubcountry = "UK",
treatment = "P Practical",
}
@InProceedings{Pierce:1997:AEU,
author = "J. S. Pierce and S. Audia and T. Burnette and K.
Christiansen and D. Cosgrove and M. Conway and K.
Hinckley and K. Monkaitis and J. Patten and J. Shothet
and D. Staack and B. Stearns and Sturgill and C. and G.
Williams and R. Pausch",
title = "{Alice}: easy to use interactive {3D} graphics",
crossref = "ACM:1997:PAS",
pages = "77--78",
year = "1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6115 (Programming support); C6130B (Graphics
techniques); C6180 (User interfaces)",
conftitle = "Proceedings of Tenth Annual Symposium on User
Interface Software and Technology",
corpsource = "Dept. of Comput. Sci., Carnegie Mellon Univ.,
Pittsburgh, PA, USA",
keywords = "Alice; authoring languages; ease of use; human
factors; interactive 3D graphics; interactive
development environment; interactive systems; Internet;
interpreted language; Python; rapid prototyping system;
scripting language; simulations; software prototyping;
solid modelling; three dimensional graphics; usability;
user actions; user interfaces; virtual reality; virtual
reality applications; Windows 95",
sponsororg = "ACM",
treatment = "P Practical",
}
@InProceedings{Plosch:1997:DCP,
author = "R. Plosch",
title = "Design by contract for {Python}",
crossref = "IEEE:1997:PAP",
pages = "213--219",
year = "1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6110J (Object-oriented programming); C6140D (High
level languages)",
conftitle = "Proceedings of Joint 4th International Computer
Science Conference and 4th Asia Pacific Software
Engineering Conference",
corpsource = "Johannes Kepler Univ., Linz, Austria",
keywords = "design by contract; instance variables;
object-oriented languages; object-oriented programming;
object-oriented software systems; prototyping-oriented
software life cycle; run-time system; software
prototyping; statically typed object-oriented
programming language Eiffel",
sponsororg = "Croucher Found.; UNU/IIST; IEEE Hong Kong Sect.
Comput. Chapter; ACM Hong Kong Chapter; Hong Kong
Comput. Soc",
treatment = "P Practical",
}
@Misc{Rook:1997:LCC,
author = "David Rook",
title = "A Language Collector Comments On: {Java}, {Perl} \&
{Python}",
month = oct,
year = "1997",
bibdate = "Thu May 21 15:18:28 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.chips.navy.mil/chips/archives/97_oct/file12.htm",
acknowledgement = ack-nhfb,
}
@Article{Shell:1997:PDS,
author = "Jeffrey P. Shell",
title = "{Python} Does Scripts and Objects --- {Python} is a
platform-independent {OOP} language with capabilities
ranging from simple scripting to sophisticated object
libraries",
journal = j-BYTE,
volume = "22",
number = "2",
pages = "63--64",
month = feb,
year = "1997",
CODEN = "BYTEDJ",
ISSN = "0360-5280 (print), 1082-7838 (electronic)",
ISSN-L = "0360-5280",
bibdate = "Sat Feb 15 16:36:48 MST 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/byte1995.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6110J (Object-oriented programming); C6140D (High
level languages)",
fjournal = "BYTE Magazine",
keywords = "client/server databases; common gateway interface
scripts; dynamic range; large object oriented
programming libraries; neutral byte code;
object-oriented languages; object-oriented programming;
objects; programming languages; Python; rapid
applications prototyping; scripts; Unix system
administration tools",
treatment = "P Practical",
}
@Article{Suzuki:1997:P,
author = "Junichi Suzuki",
title = "{Python}",
journal = "Japanese Dr Dobbs",
volume = "??",
number = "??",
pages = "??--??",
month = "????",
year = "1997",
bibdate = "Thu May 21 15:23:47 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "A series of seven articles on Python.",
acknowledgement = ack-nhfb,
}
@Article{Troan:1997:FSS,
author = "Eric Troan",
title = "Free Software Solutions: From {Python} to {Java}",
journal = j-UNIX-DEVELOPER,
volume = "1",
number = "1",
pages = "77--78",
month = jan # "\slash " # feb,
year = "1997",
ISSN = "1090-2279",
bibdate = "Thu Jan 16 17:23:49 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "UNIX Developer",
}
@Article{Vanaken:1997:WCS,
author = "Michel Vanaken",
title = "Writing {CGI} Scripts in {Python}",
journal = j-LINUX-J,
volume = "34",
pages = "??--??",
month = feb,
year = "1997",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Oct 9 08:35:26 MDT 1998",
bibsource = "http://www.linuxjournal.com/issue34/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python, a simple, yet powerful, interpreted
programming language that bridges the gap between C and
shell programming, from a CGI perspective.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{vanRossum:1997:P,
author = "Guido {van Rossum}",
title = "{Python}",
journal = j-WORLD-WIDE-WEB-J,
volume = "2",
number = "2",
pages = "??--??",
month = "Spring",
year = "1997",
CODEN = "WWWFFI",
ISSN = "1085-2301",
ISSN-L = "1085-2298",
bibdate = "Thu May 21 15:26:49 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ora.com/catalog/wj6/",
acknowledgement = ack-nhfb,
fjournal = "World Wide Web Journal",
xxnote = "Find correct title??",
}
@Book{vonLowis:1997:PB,
author = "Martin {von L{\"o}wis} and Nils Fischbeck",
title = "{Das Python-Buch}",
publisher = pub-AW-LONGMAN,
address = pub-AW-LONGMAN:adr,
pages = "495",
year = "1997",
ISBN = "3-8273-1110-1",
ISBN-13 = "978-3-8273-1110-8",
LCCN = "",
bibdate = "Thu May 21 14:49:49 1998",
bibsource = "http://www.addison-wesley.de/katalog/item.ppml?textexpr=Python&id=00086;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Includes CD-ROM.",
price = "DM 69,90; ATS 510; CHR 63,00",
acknowledgement = ack-nhfb,
}
@Misc{WalnutCreek:1997:PA,
author = "{Walnut Creek}",
title = "The {Python} Archive",
howpublished = "CD ROM.",
month = jun,
year = "1997",
bibdate = "Thu May 21 15:21:13 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Includes precompiled versions of Python for: AIX,
BeOS, BSDI, Digital Unix (DEC OSF/1), DGUX, FreeBSD,
HPUX, IRIX, Linux, Mac OS, OpenVMS (alpha and VAX),
OS/2 (emx), RS6000, SCO, Sequent PTS, SGI IRIX, Solaris
x86, Sparc/Solaris, Sparc/SunOS, Ultrix, VMS/VAX, and
Windows 95/NT.",
price = "US\$39.95",
URL = "http://www.cdrom.com/titles/prog/python.htm",
acknowledgement = ack-nhfb,
}
@Article{Willison:1997:BEP,
author = "Frank Willison",
title = "Bleeding Edge: {Python}: It's Not Just For Laughs",
journal = j-WEB-REVIEW,
volume = "??",
number = "??",
pages = "??--??",
day = "3",
month = jan,
year = "1997",
bibdate = "Thu May 21 15:29:27 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://webreview.com/wr/pub/Willison_Frank",
acknowledgement = ack-nhfb,
fjournal = "Web Review",
}
@Article{Wilson:1997:PBP,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: Perusing the Bookshelf",
journal = j-DDJ,
volume = "22",
number = "11",
pages = "125, 127",
month = nov,
year = "1997",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Fri Nov 28 17:28:03 MST 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/dr-dobbs.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This month on the bookshelf, you'll find Greg's
reports on Object-Oriented Software Testing, by Shel
Siegel, UML and C++, by Richard C. Lee and William M.
Tepfenhart, Software Metrics, by Norman E. Fenton and
Shari Lawrence Pfleeger, Programming Python, by Mark
Lutz, and Computing Tomorrow: Future Research
Directions in Computer Science, edited by Ilan Wand and
Robin Milner (eds).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@MastersThesis{Zhou:1997:CCJ,
author = "Ling Zhou",
title = "A comparison of {C++}, {Java} and {Python}",
type = "Thesis (M.S.)",
school = "Department of Computer Science, Texas A\&M
University",
address = "College Station, TX, USA",
pages = "vi + 44",
year = "1997",
bibdate = "Thu May 21 14:06:05 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@InProceedings{Zukowski:1997:ISU,
author = "Monty Zukowski",
title = "Implementing a Selective Undo Framework in {Python}",
crossref = "Anonymous:1997:PIP",
pages = "69--75",
year = "1997",
bibdate = "Mon Dec 29 14:27:24 1997",
bibsource = "https://www.math.utah.edu/pub/tex/bib/litprog.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.python.org/workshops/1997-10/proceedings/zukowski.html",
acknowledgement = ack-nhfb,
}
@TechReport{Achtzehnter:1998:ILU,
author = "Joachim Achtzehnter and Judy Anderson and Antony
Courtney and Doug Cutting and Mark Davidson and
Jeanette Figueroa and Ken Fishkin and Scott Hassan and
Rob Head and Chris Jacobi and Bill Janssen and Swen
Johnson and Dan Larner and Bill Nell and Denis Severson
and Bridget Spitznagel and Mike Spreitzer and Mark
Stefik and Martin von L{\"o}wis and Farrell Wymore and
Rick Yardumian",
title = "Inter-Language Unification",
type = "Technical Report",
number = "??",
institution = "Xerox Palo Alto Research Center",
address = "Palo Alto, CA, USA",
day = "12",
month = may,
year = "1998",
bibdate = "Thu May 21 15:35:52 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "The ILU system can be used from C++, Common Lisp,
Guile, Java, Modula-3, Perl, Python, Scheme, and
Standard C.",
URL = "ftp://ftp.parc.xerox.com/pub/ilu/ilu.html",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1998:P,
author = "Anonymous",
title = "{Python}",
journal = j-WEB-REVIEW,
volume = "??",
number = "??",
pages = "??--??",
day = "10",
month = apr,
year = "1998",
bibdate = "Thu May 21 15:40:28 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://webreview.com/wr/pub/freeware/python.html",
acknowledgement = ack-nhfb,
fjournal = "Web Review",
}
@Article{Anonymous:1998:PDA,
author = "Anonymous",
title = "The {Python DB-API}",
journal = j-LINUX-J,
volume = "??",
number = "??",
pages = "??--??",
month = apr,
year = "1998",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu May 21 14:57:47 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ssc.com/lj/",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@TechReport{Anonymous:1998:PEL,
author = "Anonymous",
title = "{Python} Extensions: {LLNL}-Distributed Extensions",
type = "Technical Report",
number = "UCRL-128569",
institution = "Lawrence Livermore National Laboratory",
address = "Livermore, CA, USA",
year = "1998",
bibdate = "Thu May 21 15:14:21 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Includes Numerical Python, Python\slash Pact-PDB
interface, PyGraphics, PyHistory, RNG (random number
generator), CXX\_Objects (Python extensions in C++).",
URL = "http://xfiles.llnl.gov/python.htm",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1998:SLG,
author = "Anonymous",
title = "Scripting Languages Go Prime Time",
journal = "Software Development magazine",
volume = "??",
number = "??",
pages = "??",
month = apr,
year = "1998",
bibdate = "Thu May 21 14:56:04 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Discusses Python, Perl, and Tcl.",
URL = "http://www.sdmagazine.com",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:1998:WPF,
author = "Anonymous",
title = "The whole {Python FAQ}",
type = "Technical Report",
institution = pub-CNRI,
address = pub-CNRI:adr,
year = "1998",
bibdate = "Wed Oct 28 07:23:01 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "For Python Release 1.5.1.",
URL = "http://www.python.org/doc/FAQ.html",
acknowledgement = ack-nhfb,
}
@Article{Beazley:1998:SAC,
author = "David Beazley",
title = "{SWIG} and Automated {C/C++} Scripting Extensions",
journal = j-DDJ,
volume = "23",
number = "2",
pages = "30, 32, 34--36, 100",
month = feb,
year = "1998",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Sat Mar 07 08:28:08 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "SWIG, short for ``Simplified Wrapper and Interface
Generator,'' is a freely available tool that lets you
generate interfaces to a variety of scripting languages
from a common interface description",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Dougherty:1998:PGV,
author = "Dale Dougherty",
title = "{Python}'s {Guido van Rossum}",
journal = j-WEB-REVIEW,
volume = "??",
number = "??",
pages = "??--??",
day = "10",
month = apr,
year = "1998",
bibdate = "Thu May 21 15:42:10 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://webreview.com/wr/pub/Dougherty_Dale",
acknowledgement = ack-nhfb,
fjournal = "Web Review",
}
@Article{Garberson:1998:LEP,
author = "John D. Garberson",
title = "Letter to the {Editor}: Programming {Python}",
journal = j-LOGIN,
volume = "23",
number = "4",
pages = "??--??",
month = jun,
year = "1998",
CODEN = "LOGNEM",
ISSN = "1044-6397",
bibdate = "Tue Apr 11 06:42:33 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.usenix.org/publications/login/contents/contents.jun98.html",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Article{Hamilton:1998:PHM,
author = "Michael Hamilton",
title = "The {Python HTMLgen} Module",
journal = j-LINUX-J,
volume = "55",
pages = "22, 24--26",
month = nov,
year = "1998",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Oct 20 16:41:32 1998",
bibsource = "http://www.linuxjournal.com/issue55/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "ftp://ftp.ssc.com/pub/lj/listings/issue55/2986.tgz",
abstract = "An easy way to generate HTML-formatted text.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Howes:1998:TPC,
author = "Brad Howes",
title = "Template processing classes for {Python}",
journal = j-DDJ,
volume = "23",
number = "2",
pages = "38, 40, 42, 44--46, 48, 100",
month = feb,
year = "1998",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/dr-dobbs.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Brad shows how you can embed Python objects in HTML
pages using boilerplate template processing classes.
Then Python creator Guido van Rossum adds a note on
what's new in the just-released Python 1.5.",
acknowledgement = ack-nhfb,
classification = "C6130D (Document processing techniques); C6130M
(Multimedia); C6160J (Object- oriented databases)",
fjournal = "Dr. Dobb's Journal of Software Tools",
keywords = "application program interfaces; BoilerPlate; CGI
infrastructure; conditional control; Emacs; embedded
HTML text; errors; HTML document template; HTML
editing; hypermedia; iterative control; multithreaded
CGI service; object database; object paradigm;
object-oriented databases; page description languages;
persistent objects; placeholders; print statements;
Python; run- time values; run-time HTML generation;
syntax coloring; tagged locations; template HTML
constructs; template processing classes; text regions",
treatment = "P Practical",
}
@Article{Kuchling:1998:CFP,
author = "Andrew M. Kuchling",
title = "A {CGI} framework in {Python}",
journal = j-WEB-TECHNIQUES,
volume = "3",
number = "2",
pages = "43--46",
month = feb,
year = "1998",
CODEN = "WETEFA",
ISSN = "1086-556X",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.webtechniques.com/features/1998/02/kuchling/kuchling.shtml",
acknowledgement = ack-nhfb,
classification = "C6110B (Software engineering techniques); C6115
(Programming support); C6150N (Distributed systems
software); C7210 (Information services and centres)",
fjournal = "Web Techniques",
keywords = "authoring languages; CGI framework; CGI scripts;
common gateway interface; complete computer programs;
error handling code; HTML; hypermedia; Internet; page
description languages; Python; site development;
software libraries; software tools; standard library;
user registration scheme; World Wide Web",
treatment = "P Practical",
}
@Article{Kuchling:1998:LIG,
author = "Andrew Kuchling",
title = "{LJ} Interviews {Guido van Rossum}",
journal = j-LINUX-J,
volume = "55",
pages = "18, 20--21",
month = nov,
year = "1998",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Oct 20 16:41:32 1998",
bibsource = "http://www.linuxjournal.com/issue55/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "A talk with the creator of Python.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Kuchling:1998:PDA,
author = "Andrew M. Kuchling",
title = "The {Python DB-API}",
journal = j-LINUX-J,
volume = "49",
pages = "??--??",
month = may,
year = "1998",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Oct 9 08:35:26 MDT 1998",
bibsource = "http://www.linuxjournal.com/issue49/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Laird:1998:GTW,
author = "Cameron Laird and Kathryn Soraiz",
title = "{GUI} toolkits: What are your options? An overview of
today's best-bet {GUI} toolkits",
journal = j-SUNWORLD-ONLINE,
volume = "??",
number = "??",
pages = "??--??",
month = mar,
year = "1998",
ISSN = "1091-8914",
bibdate = "Thu May 21 14:58:54 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Discusses Python.",
URL = "http://www.sun.com/sunworldonline/swol-02-1998/swol-02-python.html",
acknowledgement = ack-nhfb,
fjournal = "SunWorld online",
}
@InCollection{Lutz:1998:POO,
author = "Mark Lutz",
editor = "Peter H. Salus",
booktitle = "Handbook of Programming Languages",
title = "{Python}: an Object Oriented Scripting Language",
publisher = pub-MAC,
address = pub-MAC:adr,
pages = "120 (est.)",
year = "1998",
ISBN = "1-57870-008-6 (vol. 1), 1-57870-009-4 (vol. 2),
1-57870-010-8 (vol. 3), 1-57870-011-6 (vol. 4)",
ISBN-13 = "978-1-57870-008-0 (vol. 1), 978-1-57870-009-7 (vol.
2), 978-1-57870-010-3 (vol. 3), 978-1-57870-011-0 (vol.
4)",
LCCN = "QA76.7 .H363 1998",
bibdate = "Thu May 21 15:54:27 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://shell.rmi.net/~lutz/whatsnew.html#S13",
acknowledgement = ack-nhfb,
tableofcontents = "[1]. Object-oriented programming languages \\
[2]. Imperative programming languages \\
[3]. Little languages and tools \\
[4]. Functional and logic programming languages",
}
@Book{Lutz:1998:PPR,
author = "Mark Lutz",
title = "{Python} Pocket Reference",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "iii + 75",
year = "1998",
ISBN = "1-56592-500-9",
ISBN-13 = "978-1-56592-500-7",
LCCN = "QA76.73.P98 L882 1998",
bibdate = "Mon Apr 18 14:55:56 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
price = "US\$6.95",
URL = "http://www.oreilly.com/catalog/9781565925007;
http://www.oreilly.com/catalog/pythonpr/",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Article{McGrath:1998:IPX,
author = "Sean McGrath",
title = "{Internet} Programming: {XML} Programming in
{Python}",
journal = j-DDJ,
volume = "23",
number = "2",
pages = "82, 84--87, 101--104",
month = feb,
year = "1998",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Mon Feb 09 12:29:56 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/dr-dobbs.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "XML brings to the document world what the database
world has had for a long time --- interoperability via
open systems. Sean shows how you can use Python as a
development platform for XML programming.",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{McGrath:1998:PBT,
author = "Sean McGrath",
title = "Programmer's Bookshelf: The {Tcl\slash Tk} and
{Python} Scripting Environments",
journal = j-DDJ,
volume = "23",
number = "10",
pages = "143, 145",
month = oct,
year = "1998",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Fri Sep 11 09:12:05 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ddj/1998/1998_10/index.htm",
abstract = "Tcl and Python are Sean McGrath's focus as he examines
Effective Tcl/Tk Programming, by Mark Harrison and
Michael J. McLennan, and Internet Programming with
Python, by Aaron Watters, Guido van Rossum, and James
C. Ahlstrom. FORUM",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{McGrath:1998:XPP,
author = "S. McGrath",
title = "{XML} programming in {Python}",
journal = j-DDJ,
volume = "23",
number = "2",
pages = "82--??, 84--87, 101--104",
month = feb,
year = "1998",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
classification = "C6110J (Object-oriented programming); C6110P
(Parallel programming); C6115 (Programming support);
C6140D (High level languages); C6150N (Distributed
systems software); C7210 (Information services and
centres)",
fjournal = "Dr. Dobb's Journal of Software Tools",
keywords = "authoring languages; complete computer programs; data
description language; data representation format;
Extensible Markup Languag; functional programming;
hierarchical data structures; highly portable language;
HTML; imperative programming features; information
description; Internet; Internet programming tool;
Internet protocols; object oriented data structures;
object oriented scripting language; object- oriented
programming; object-oriented languages; page
description languages; parallel programming; processing
power; Python extensions; recursive structures; web
applications; World Wide Web; XML encoded information;
XML programming",
treatment = "P Practical",
}
@Article{Raymond:1998:SPO,
author = "Eric Raymond",
title = "Stop the Presses: Open Source Summit",
journal = j-LINUX-J,
volume = "50",
pages = "??--??",
month = "",
year = "1998",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu May 21 15:07:35 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Discusses Perl, Python, and Tcl.",
URL = "http://www.ssc.com/lj/issue50/2918.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Rooker:1998:BRP,
author = "Terry Rooker",
title = "Book Review: {{\em Programming Python}}",
journal = j-LOGIN,
volume = "23",
number = "2",
pages = "??--??",
month = apr,
year = "1998",
CODEN = "LOGNEM",
ISSN = "1044-6397",
bibdate = "Tue Apr 11 06:42:31 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.usenix.org/publications/login/contents/contents.apr98.html",
URL = "http://www.usenix.org/publications/login/1998-4/python.html",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@TechReport{vanRossum:1998:EEP,
author = "Guido {van Rossum}",
title = "Extending and Embedding the {Python} Interpreter",
type = "Technical Report",
institution = pub-CNRI,
address = pub-CNRI:adr,
day = "14",
month = apr,
year = "1998",
bibdate = "Wed Oct 28 07:23:02 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "For Python Release 1.5.1.",
URL = "http://www.python.org/doc/ext/ext.html",
acknowledgement = ack-nhfb,
}
@TechReport{vanRossum:1998:PCA,
author = "Guido {van Rossum}",
title = "{Python}/{C} {API} Reference Manual",
type = "Technical Report",
institution = pub-CNRI,
address = pub-CNRI:adr,
year = "1998",
bibdate = "Wed Oct 28 07:23:03 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "For Python Release 1.5.1.",
URL = "http://www.python.org/doc/api/api.html",
acknowledgement = ack-nhfb,
}
@InProceedings{vanRossum:1998:TPL,
author = "G. {van Rossum}",
title = "A Tour of the {Python} Language",
crossref = "Ege:1998:PTO",
pages = "370--??",
year = "1998",
bibdate = "Fri May 22 08:52:28 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@InProceedings{Yang:1998:SOO,
author = "T.-Y. Brian Yang and Geoffrey Furnish and Paul F.
Dubois",
title = "Steering object-oriented scientific computations",
crossref = "Ege:1998:PTO",
pages = "112--119",
year = "1998",
bibdate = "Fri May 22 09:14:10 MDT 1998",
bibsource = "Compendex database;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Issues relevant to the steering mechanism for
object-oriented scientific computations are examined in
this paper. The concept of computation steering is
delineated, and its benefits are discussed based on
past experiences with its application to scientific
computations. Experiences of using an object-oriented
scripting language called Python to steer C++
applications are presented in further details. It is
found that Python and C++ can be combined in an elegant
way which combines the benefits of steering and the
advantages of using an efficient object-oriented
language for scientific modeling.",
acknowledgement = ack-nhfb,
affiliation = "Lawrence Livermore Natl Lab",
affiliationaddress = "Livermore, CA, USA",
classification = "723.1; 723.1.1; 723.2; C6110J (Object-oriented
programming); C6140D (High level languages); C7300
(Natural sciences computing)",
conftitle = "Proceedings of TOOLS USA 97. International Conference
on Technology of Object Oriented Systems and
Languages",
corpsource = "Lawrence Livermore Nat. Lab., CA, USA",
keywords = "C (programming language); C++ application steering;
Computation steering mechanisms; Computer simulation
languages; natural sciences computing; Natural sciences
computing; Object oriented programming; Object oriented
scripting language; object-oriented languages;
object-oriented programming; object-oriented scientific
computations; object-oriented scripting language;
Phyton programming language; Python; scientific
modeling; steering mechanism",
sponsororg = "Interactive Software Eng",
treatment = "P Practical",
}
@Article{Angell:1999:PTE,
author = "Kirby W. Angell",
title = "Programmer's Toolchest: Examining {JPython}: a {Java}
test engine puts {Python} to the test",
journal = j-DDJ,
volume = "24",
number = "4",
pages = "78, 81--83",
month = apr,
year = "1999",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Wed Mar 3 06:30:11 MST 1999",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/1999/1999_04/jpython.txt;
http://www.ddj.com/ftp/1999/1999_04/jpython.zip",
abstract = "JPython is a freely available version of Python
implemented in 100 percent pure Java. Since JPython is
written in Java, it is easy to include the JPython
packages in a Java application and use JPython as your
application's scripting engine. JPython also makes an
excellent tool for prototyping Java applets that are
embedded in web browsers. Additional resources include
jpython.txt (listings) and jpython.zip (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Dubois:1999:SPE,
author = "Paul F. Dubois and T.-Y. Yang",
title = "Scientific Programming: Extending {Python} with
{Fortran}",
journal = j-COMPUT-SCI-ENG,
volume = "1",
number = "5",
pages = "66--73",
month = sep # "\slash " # oct,
year = "1999",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Oct 13 14:31:09 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://dlib.computer.org/cs/books/cs1999/pdf/c5066.pdf;
http://www.computer.org/cse/cs1999/c5066abs.htm",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Ernst:1999:TMP,
author = "T. Ernst",
title = "{TRAPping Modelica} with {Python}",
journal = j-LECT-NOTES-COMP-SCI,
volume = "1575",
pages = "288--291",
year = "1999",
CODEN = "LNCSD9",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
bibdate = "Tue Sep 14 06:09:05 MDT 1999",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs1999a.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Lecture Notes in Computer Science",
keywords = "CC; compiler construction; ETAPS; software",
}
@Article{Hughes:1999:LP,
author = "Phil Hughes",
title = "Learning {Python}",
journal = j-LINUX-J,
volume = "66",
pages = "??--??",
month = oct,
year = "1999",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Sep 21 14:31:45 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue66/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://noframes.linuxjournal.com/lj-issues/issue66/3541.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Klatchko:1999:DRS,
author = "Ron Klatchko",
title = "Dynamically Reconfigurable Servers: {Python}'s
extensibility makes it easy",
journal = j-DDJ,
volume = "24",
number = "1",
pages = "80, 82--84",
month = jan,
year = "1999",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Dec 3 09:32:09 MST 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ddj/ftp/1999/1999_01/cprofile.zip",
abstract = "The dynamically reconfigurable server Ron presents
here is implemented in Python, a portable, interpreted,
extensible object-oriented programming language.
Additional resources include cprofile.zip (source
code). PROGRAMMER'S TOOLCHEST",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Book{Kuchling:1999:PT,
editor = "Andrew Kuchling and Fred Drake",
title = "{Python} tutorial",
publisher = "toExcel",
address = "San Jose, CA",
pages = "????",
year = "1999",
ISBN = "1-58348-375-6 (soft cover)",
ISBN-13 = "978-1-58348-375-6 (soft cover)",
LCCN = "????",
bibdate = "Mon Jul 4 17:11:22 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "Did this book ever appear?",
}
@Book{Lutz:1999:LP,
author = "Mark Lutz and David Ascher",
title = "Learning {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xvi + 366",
year = "1999",
ISBN = "1-56592-464-9",
ISBN-13 = "978-1-56592-464-2",
LCCN = "QA76.73.P98 L8798 1999",
bibdate = "Mon Apr 18 14:55:31 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
price = "US\$29.95",
URL = "http://www.oreilly.com/catalog/9781565924642;
http://www.oreilly.com/catalog/lpython/",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
subject = "Python (Computer program language)",
}
@Article{Lutz:1999:UP,
author = "Mark Lutz",
title = "Using {Python}",
journal = j-LOGIN,
volume = "24",
number = "1s",
pages = "??--??",
month = jan,
year = "1999",
CODEN = "LOGNEM",
ISSN = "1044-6397",
bibdate = "Tue Apr 11 06:42:43 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.usenix.org/publications/login/contents/contents.jan99.html",
note = "Special issue on tools.",
URL = "http://www.usenix.org/publications/login/1999-1/python.html",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Book{vanRossum:1999:PT,
author = "Guido van Rossum and Fred L. Drake and Andrew
Kuchling",
title = "{Python} tutorial",
publisher = "Open Docs Library",
address = "Lincoln, NE, USA",
year = "1999",
ISBN = "1-58348-375-6 (soft cover)",
ISBN-13 = "978-1-58348-375-6 (soft cover)",
LCCN = "QA76.73.P98 V36 2000b",
bibdate = "Mon Jul 4 17:09:31 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
umlibr.library.umass.edu:210/INNOPAC",
URL = "ftp://uiarchive.cso.uiuc.edu/pub/etext/gutenberg/",
acknowledgement = ack-nhfb,
remark = "Release 1.5.2.",
subject = "Python (Computer program language); Handbooks,
manuals, etc; Object-oriented programming (Computer
science); Handbooks, manuals, etc",
}
@Article{Ang:2000:WBL,
author = "Cheng-Chai Ang",
title = "A {Web}-Based Lunch Ordering System",
journal = j-LINUX-J,
volume = "79",
pages = "176--??",
month = nov,
year = "2000",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Oct 21 16:25:36 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue79/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "The author demonstrates how easy it is to write in
Python --- and make sure you get steamed, not fried
rice.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Angell:2000:PSPa,
author = "Kirby W. Angell",
title = "{Python} Server Pages: Part 1",
journal = j-DDJ,
volume = "25",
number = "1",
pages = "44, 46--47, 50",
month = jan,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2000/2000_01/psp1.txt;
http://www.ddj.com/ftp/2000/2000_01/psp100.zip",
abstract = "Python Server Pages (PSP) is a server-side scripting
engine designed along the lines of Microsoft's Active
Server Pages (ASP) and Sun's Java Server Pages (JSP).
Additional resources include psp1.txt (listings) and
psp100.zip (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Angell:2000:PSPb,
author = "Kirby W. Angell",
title = "{Python} Server Pages: {Part II}",
journal = j-DDJ,
volume = "25",
number = "2",
pages = "54, 57--61",
month = feb,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:13 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2000/2000_02/psp2.txt",
abstract = "Last month, Kirby introduced Python Server Pages and
looked at how HTML pages with embedded scripts are
translated into compilable JPython code. This month, he
examines the Java Servlet side of PSP. Additional
resources include psp2.txt (listings).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Anonymous:2000:BRLb,
author = "Anonymous",
title = "Book Reviews: {Linux Programmer's Reference Second
Edition by Ibrahim F. Haddad; Python and Tkinter
Programming by Phil Hughes; sendmail for Linux by
Russell J. T. Dyer}",
journal = j-LINUX-J,
volume = "77",
pages = "??--??",
month = sep,
year = "2000",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Sep 21 07:44:13 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue77/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://noframes.linuxjournal.com/lj-issues/issue77/3861.html;
http://noframes.linuxjournal.com/lj-issues/issue77/3989.html;
http://noframes.linuxjournal.com/lj-issues/issue77/4184.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Anonymous:2000:BRPf,
author = "Anonymous",
title = "Book Review: {{\booktitle{Python programming on
Win32}}: By Mark Hammond and Andy Robinson. O'Reilly,
Sebastopol, CA. (2000). 652 pages. \$34.95}",
journal = j-COMPUT-MATH-APPL,
volume = "40",
number = "2--3",
pages = "418--418",
month = jul # "\slash " # aug,
year = "2000",
CODEN = "CMAPDK",
ISSN = "0898-1221 (print), 1873-7668 (electronic)",
ISSN-L = "0898-1221",
bibdate = "Wed Mar 1 21:49:10 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computmathappl2000.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0898122100901974",
acknowledgement = ack-nhfb,
fjournal = "Computers and Mathematics with Applications",
journal-URL = "http://www.sciencedirect.com/science/journal/08981221",
}
@Article{Anonymous:2000:POR,
author = "Anonymous",
title = "Products: {Oracle} Releases {XDK} Update; {Starbase}'s
Code Editing System; {Arc Second}'s Palm {PC CAD}
Viewer; {Minolta}'s Network Document Server for
{Windows 2000}; {Borland}'s {Java} Development Tools
for {Palm OS}; {Rational}'s Code Management Tools;
{Blaxxun Interactive}'s {Web} Communications Platform
Tools; {Informix Software}'s {Linux} Database Engine;
{ActiveState} Updates Free {Python} Distribution; {KDE
2.0} Released",
journal = j-COMPUTER,
volume = "33",
number = "12",
pages = "144--146",
month = dec,
year = "2000",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Wed Dec 6 18:12:09 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://dlib.computer.org/co/books/co2000/pdf/rz144.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computer",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}
@Book{Beazley:2000:PER,
author = "David M. Beazley",
title = "{Python} essential reference",
publisher = pub-NRP,
address = pub-NRP:adr,
pages = "xviii + 319",
year = "2000",
ISBN = "0-7357-0901-7",
ISBN-13 = "978-0-7357-0901-0",
LCCN = "QA76.73.P98 B43 2000",
bibdate = "Tue Nov 7 06:58:49 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "New Riders professional library",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
}
@Book{Brown:2000:PAA,
author = "Martin C. Brown",
title = "{Python} annotated archives",
publisher = pub-OSBORNE,
address = pub-OSBORNE:adr,
pages = "xxii + 722",
year = "2000",
ISBN = "0-07-212104-1",
ISBN-13 = "978-0-07-212104-9",
LCCN = "QA76.73.P98 B76 2000",
bibdate = "Tue Nov 7 06:58:49 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Includes CD-ROM.",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
}
@Article{Chapman:2000:EPT,
author = "Mitch Chapman and Brian Kelley",
title = "Examining the {PyGtk} Toolkit",
journal = j-DDJ,
volume = "25",
number = "4",
pages = "82, 84, 86, 88",
month = apr,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:14 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2000/2000_04/pygtk.txt",
abstract = "PyGtk brings the benefits of a high-level programming
language to Gtk+ developers, and gives Python
programmers access to a modern, high-performance GUI
toolkit. Additional resources include pygtk.txt
(listings).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Book{Dutt:2000:GBG,
author = "Christoph Dutt and Joachim Freiburg",
title = "{GiMP: Bilder gestalten, Fotos retuschieren;
[Grundlagen der professionellen Bildbearbeitung, der
Umgang mit Fotos, Grafiken und Text, Bilder f{\"u}r das
Internet richtig vorbereiten; auf der CD: GIMP f{\"u}r
Windows, SCO Unix, Debian GNU Linux, Solaris, OS/2 und
BSD, Quelltext aller GIMP- und GTK-Versionen, {\"u}ber
300 Plug-ins in C, Perl, tcl, Python und Scheme,
XFree86/23.3.6, GIMP User Manual als PDF-Dateien]}",
publisher = "C und L",
address = "B{\"o}blingen, Germany",
pages = "522 + 98",
year = "2000",
ISBN = "3-932311-64-7",
ISBN-13 = "978-3-932311-64-2",
LCCN = "????",
bibdate = "Tue Sep 17 07:02:55 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Includes CD-ROM.",
acknowledgement = ack-nhfb,
language = "German",
}
@Book{Grayson:2000:PTP,
author = "John E. Grayson",
title = "{Python} and {Tkinter} Programming",
publisher = pub-MANNING,
address = pub-MANNING:adr,
pages = "xxiii + 658",
year = "2000",
ISBN = "1-884777-81-3",
ISBN-13 = "978-1-884777-81-3",
LCCN = "????",
bibdate = "Thu Sep 21 10:22:40 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
price = "US\$49.95",
acknowledgement = ack-nhfb,
}
@Book{Hammond:2000:PPW,
author = "Mark Hammond and Andy Robinson",
title = "{Python} Programming on {Win32}: Help for {Windows}
Programmers",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xvii + 652",
month = jan,
year = "2000",
ISBN = "1-56592-621-8 (paperback), 1-56592-925-X (e-book)",
ISBN-13 = "978-1-56592-621-9 (paperback), 978-1-56592-925-8
(e-book)",
LCCN = "QA76.73.P98 H36 2000",
bibdate = "Mon Jul 30 06:50:24 MDT 2001",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/",
price = "US\$34.95",
URL = "http://www.oreilly.com/catalog/pythonwin32",
acknowledgement = ack-nhfb,
keywords = "Microsoft Win32; Python (computer program language)",
}
@InProceedings{Hardt:2000:PPZ,
author = "Dick Hardt and Gisle Aas and Paul Everitt",
title = "{Perl}, {Python} and {Zope}",
crossref = "USENIX:2000:PAL",
pages = "??--??",
year = "2000",
bibdate = "Wed Oct 16 05:17:16 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.usenix.org/publications/library/proceedings/als2000/aas.html",
acknowledgement = ack-nhfb,
}
@Book{Matthew:2000:PLP,
author = "Neil Matthew and Richard Stones and others",
title = "Professional {Linux} programming",
publisher = pub-WROX,
address = pub-WROX:adr,
pages = "xviii + 1155",
year = "2000",
ISBN = "1-86100-301-3",
ISBN-13 = "978-1-86100-301-0",
LCCN = "QA76.76.O63 P754 2000",
bibdate = "Tue Mar 13 17:42:37 2001",
bibsource = "https://www.math.utah.edu/pub/tex/bib/linux.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib;
https://www.math.utah.edu/pub/tex/bib/unix.bib",
acknowledgement = ack-nhfb,
tableofcontents = "1: Application Design \\
Requirements Capture \\
Development Models \\
`Fast Track' Development \\
Test Early, Test Often \\
DVD Store \\
Initial Requirements \\
Analyzing the User Requirements \\
Statement of Requirements \\
Use Cases \\
Application Architecture \\
Detailed Design \\
Data Access Functions \\
Member Functions \\
Title Functions \\
Disk Functions \\
Rental Functions \\
Reference Implementation \\
2: CVS \\
Tools for Linux \\
Repository \\
Single User CVS Projects \\
CVS Command Format \\
Environment Variables \\
Importing a New Project \\
Starting Work on Our Project \\
Checking Our Changes Against the Repository \\
Updating the Repository with Our Changes \\
Releasing the Project \\
Reviewing Changes \\
Adding and Removing Files from a Project \\
Keyword Substitution \\
Revisions, Tags and Branches \\
Revisions \\
Tags \\
Branches \\
Multi-user CVS \\
Working Collaboratively \\
Working with Watches \\
More Fun with CVS \\
Binary Files \\
Correcting Bad Annotations \\
Accessing CVS Across a Network \\
GUI CVS Clients \\
3: Databases \\
Choosing a Database \\
mSQL \\
MySQL \\
PostgreSQL \\
Which is Right for Me? \\
PostgreSQL \\
Installation and Commissioning \\
Database Fundamentals \\
First Normal Form \\
Second Normal Form \\
Third Normal Form \\
De-normalization \\
Simple Database \\
Using psql \\
Commands to psql \\
Data Definition Commands \\
Data Manipulation Commands \\
Transactions \\
Database Design Tips \\
4: PostgreSQL Interfacing \\
Accessing PostgreSQL from Code \\
Libpq \\
ECPG \\
Which Method to Use? \\
Application \\
5: MySQL \\
Installation and Commissioning \\
Pre-compiled Packages \\
Building from Source \\
Post-install Configuration \\
MySQL Administration \\
Commands \\
Creating Users, and Giving Them Permissions \\
Passwords \\
Creating a Database \\
SQL Support in PostgreSQL and MySQL \\
Accessing MySQL Data from C \\
Connection Routines \\
Error Handling \\
Executing SQL Statements \\
Miscellaneous Functions \\
6: Tackling Bugs \\
Error Classes \\
Reporting Errors \\
Detecting Software Errors \\
Types of Software Error \\
Debug Statements \\
Assertions \\
Where Are You? \\
Backtrace \\
Preparing to Debug \\
Using the Debugger \\
Simple GDB Commands \\
Other GDB Features \\
7: LDAP Directory Services \\
What is a Directory Service? \\
X.500 and LDAP \\
Structure of a Directory Server \\
Naming of Parts \\
dn Naming \\
Object Components \\
LDAP Directory Tree \\
LDIF Files \\
Installing and Configuring an LDAP Server \\
Steps in Installing OpenLDAP \\
Configuring OpenLDAP \\
Running the Server \\
Accessing LDAP from C \\
Initialize the LDAP Library \\
Bind to the LDAP Server \\
LDAP Error Handling \\
First LDAP Client Program \\
Searching \\
Changing the Data \\
Adding a New Entry \\
Modifying an Entry \\
Deleting an Entry \\
Application \\
8: GUI Programming with GTK+/GNOME \\
GTK+/GNOME libraries \\
glib \\
Types \\
Macros \\
String functions \\
Memory Allocation \\
Lists \\
GTK+ \\
Widgets \\
gtk{\"o}init and gtk{\"o}main \\
Example GTK+ Application \\
GNOME Basics \\
Menus and Toolbars \\
Dialogs \\
Example GNOME Application \\
GNOME Source Tree \\
Configuration Saving \\
Session Management \\
Command Line Parsing Using popt \\
GNOME/GTK+ Resources \\
9: GUI Building with Glade and GTK+/GNOME \\
Overview of Glade \\
Word on GUI Design \\
Glade Tutorial \\
Main Window \\
Palette \\
Properties Window \\
Glade-built Source Tree \\
lookup{\"o}widget \\
Adding Code \\
Libglade \\
DVD Store GNOME GUI \\
Design \\
Compiling and Running dvdstore \\
Structure \\
Code \\
10: Flex and Bison \\
Input Structure \\
Scanners and Parsers \\
How Generators Work \\
Scanners \\
Simple Scanner \\
Scanner Specifications \\
Longest Match Principle \\
Regular Expressions \\
Actions \\
Redirecting Scanner Input and Output \\
Returning Tokens \\
Context Sensitive Scanners \\
Options to flex \\
Parsers \\
Generating Parsers \\
Creating a Syntax Tester \\
Token Types \\
Actions in Rules \\
Options to bison \\
Conflicts in Grammars \\
Arithmetic Expressions \\
11: Testing Tools \\
Testing Requirements Types \\
Application Architecture \\
Steps \\
General Testing \\
Regression Testing \\
Test Program \\
Testing the dvdstore Program \\
Scripting Tests \\
Expect \\
Memory Problems \\
Installing mpatrol \\
Using mpatrol \\
Testing Coverage \\
Performance Testing \\
12: Secure Programming \\
What is Secure Programming? \\
Why Secure Programming is Hard \\
Filesystem Security \\
Authenticating Users \\
Using Cryptography Securely \\
Secure Network Programming \\
Writing Protocols \\
Standard Network Cryptography Tools \\
Problems with the Environment \\
Python \\
PHP \\
13: GUI Programming with KDE/Qt \\
About Qt \\
About KDE \\
Installing Qt \\
Installing KDE \\
Libraries \\
Programming Applications Using Qt \\
Getting Started: Hello World \\
Simplifying Makefile Management with tmake \\
Signals and Slots \\
`Hello World' Revisited \\
Deriving From Base Classes \\
Widgets \\
Layouts \\
Programming Applications Using KDE \\
Simple Text Editor \\
14: Writing the DVD Store GUI Using KDE/Qt \\
Application Design \\
Main Window \\
Member Dialog \\
Rent Dialog \\
Rental Report Dialog \\
Search Window \\
Settings Manager \\
Adjusting the Code to KDE \\
KConfig and SettingsManager \\
15: Python \\
Python: The Right Tool for the Job \\
\ldots{} But Not Every Job! \\
Installing Python \\
Running Python \\
Interactive Interpreter \\
Command Argument \\
Script Argument \\
`Standalone' Executable \\
Details \\
Interpreter and Byte-compilation \\
Comment Syntax \\
Case Sensitivity \\
Built-in Data Types and Operators \\
Variables \\
Block Structure Syntax \\
Statement Syntax \\
Functions \\
Built-in Functions \\
Namespaces \\
Modules and Packages \\
Some Modules from the Standard Distribution \\
Classes and Objects \\
Extending Python \\
Example Program: Penny Pinching \\
16: Creating Web Interfaces with PHP \\
PHP and Server-side Scripting \\
Server-side Scripting \\
PHP Capabilities \\
Installing and Configuring PHP \\
Introducing PHP Syntax \\
Variables, Constants and Data Types \\
Operators in PHP \\
Statements \\
Functions \\
Arrays \\
Using PHP with the DVD Project \\
HTTP, HTML and PHP \\
Application \\
Login \\
Reservation Status \\
Search for Titles \\
Reserve Titles \\
Cancellation \\
dvdstorefunctions.php \\
dvdstorecommon.php \\
dvdstorelogin.php \\
dvdstoresearch.php \\
dvdstorestatus.php \\
dvdstorecancel.php \\
dvdstorereserve.php \\
17: Embedding and Extending Python with C/C++ \\
Extending Python with a C/C++ Extension Module \\
Embedding Python in a Host Program \\
Developing Extension Modules in C/C++ \\
Required Software Tools \\
Extending Python Using SWIG \\
Extending Python Using the C API \\
Python Object Types \\
Reference Counting and Ownership \\
Overview of Developing C Extension Modules \\
Simple Functions \\
Slightly More Complex Function \\
Global Interpreter Lock \\
Creating New Python Object Types \\
Encapsulating C++ Objects Using the C API \\
Embedding Python in C/C++ Programs \\
Embedding Development Environment \\
Embedding Python Using High-level Functions \\
Statically Linking a Host Program to an Extension
Module \\
Embedding Python Using Lower-level Calls \\
18: Remote Procedure Calls \\
Simple Networked DVD Store Database \\
BSD Sockets \\
Coding Issues Using the BSD Socket Interface \\
ONC RPC Architecture and Concepts \\
Why Use RPC in the DVD Store Application? \\
RPC Tools and Utilities \\
rpcgen \\
the RPC Protocol Compiler \\
Applying RPCs to the DVD Store \\
Functions Without Arguments or Return Types \\
Functions With Simple Arguments and Simple Return Types
\\
More Complex Examples \\
Returning Arrays \\
Client Timeouts \\
Authentication \\
AUTH{\"O}NONE \\
AUT{\"O}HUNIX \\
Client Side Authentication Support \\
Server Side Authentication Support \\
Using RPC Servers with /etc/inetd.conf \\
Other Methods to Simplify Network Programming \\
19: Multimedia and Linux \\
Current State of Affairs \\
Program Integration \\
Sound \\
Devices \\
Handling Standard Audio Formats \\
Do It Yourself \\
Moving Pictures \\
Software Players \\
Hardware Players \\
Hybrids \\
Political and Legal Issues \\
20: CORBA \\
Interface Definition Language (IDL) \\
Object Request Broker (ORB) \\
Interoperable Object Reference (IOR) \\
Object Adapter \\
Servers \\
Naming and Trading Services \\
Evaluating CORBA \\
CORBA and RPC \\
CORBA and Sockets \\
Systems Similar to CORBA \\
DCOM or COM+ \\
Java Remote Method Invocation (RMI) \\
Enterprise JavaBeans \\
IBM MQSeries \\
SOAP \\
IDL: Defining Interfaces \\
Modules \\
Interfaces \\
Basic Data Types \\
Template Types \\
Example DVD Application \\
Language Mappings \\
Language Mapping Components \\
C Mappings \\
Introductory Example: a Simple Messaging System \\
Simple Messaging \\
Using ORBit with the IDL \\
Message Client \\
Message Server \\
Compiling the ORBit Application \\
Running The Message Application \\
21: Implementing CORBA with ORBit \\
Using CORBA for the DVD Store Application \\
DVD Client \\
DVD Server \\
Logging Server \\
Validation Server \\
Client Code \\
Log Server \\
DVD Server \\
Using libgnorba \\
Configuring ORBit for Multi Host Use \\
GOAD \\
GNOME Object Activation Directory \\
Use of CORBA in GNOME \\
Advanced CORBA Functionality \\
Dynamic Interface Invocation \\
CORBAServices \\
CORBAFacilities \\
Designing and Running Scalable CORBA Services \\
22: Diskless Systems \\
Little History \\
What, No Disk? \\
Why Go Diskless? \\
How Does It Work? \\
Starting a Diskless System \\
Network Identification for Diskless Systems \\
Running an Operating System \\
Server Configuration \\
Boot Image Creation \\
Diskless Linux Kernel \\
Root File Systems \\
Client Applications \\
23: XML and libxml \\
XML Document Structure \\
XML Syntax \\
Well-formed XML \\
Valid XML \\
XML Parsing \\
DOM \\
SAX \\
libXML a.k.a. gnome-xml \\
Complete Parser \\
24: Beowulf Clusters \\
Hardware Setup \\
Software Configuration \\
Programming a Beowulf Cluster \\
Programming Using MPI \\
Basic Functionality of an MPI Program \\
Compiling and Executing a Simple MPI Program \\
Distributed MP3 Encoder \\
Communication Performance of a Beowulf Cluster \\
Review of Advanced Features of MPI \\
Some MPI Programming Examples \\
Programming with PVM \\
Comparison with MPI \\
Obtaining and Installing PVM \\
Review of PVM Library Routines \\
Sample PVM Program \\
25: Documentation \\
Defining the Audience \\
End User Documentation: GUIs \\
Documenting GUIs Running on the Local Machine \\
Documenting Web GUIs \\
Power User/System Administrator Documentation \\
Command-line Options: Providing-help \\
Manual Pages \\
Keeping Things Manageable \\
Fonts \\
Paragraphs \\
Writing Manual Pages for APIs \\
Next Generation Manpages \\
info Files \\
It's All About Structure: From Single Program to
Distributed Systems \\
Documentation Tools \\
Old, But Still Going Strong: TeX, LaTeX \\
New Breed: HTML, XML, and DocBook \\
Painting the Big Picture: HOWTO and FAQ Files \\
Developer Documentation \\
Perl's `pod' Method \\
Literary Programming \\
Lightweight Literary Programming \\
Document Interchange \\
PDF Files \\
26: Device Drivers \\
Execution Context \\
Module and Initialization Code \\
Linker Sections \\
Example Module Code \\
PCI Devices and Drivers \\
struct pci{\"o}dev \\
Finding PCI Devices \\
PCI Drivers \\
PCI Access Functions \\
Resource Allocation \\
Interrupt Handlers \\
Access to User Space Memory \\
kiobuf Architecture \\
Locking Primitives \\
Scheduling and Wait Queues \\
Module Use Counts \\
Making It Build \\
What to Do with Your New Driver \\
Submitting a New Driver \\
27: Distributing the Application \\
RPM Packages \\
RPM User \\
What Do I Have Installed? \\
RPM Database \\
Anatomy of an RPM Package \\
Source Packages \\
configure, autoconf and automake \\
Source RPM Packages \\
Building an RPM Package \\
Patches \\
Making a Patch \\
Applying a Patch \\
GNATS \\
28: Internationalization \\
I18N Terminology \\
Isn't Unicode the Answer? \\
Unicode \\
Character Encoding Problem \\
ISO 2022: Extension Techniques for Coded Character Sets
\\
Programming with Unicode \\
I18N Models and the System Environment \\
POSIX Locale Model \\
X/Open Portability Guide (XPG) \\
Output Formatting and Input Processing \\
X Window System \\
Practical Considerations of I18N Programming \\
I18N and Internal Text Processing \\
Programming with Locales \\
I18N and Xlib Programming \\
I18N and Linux GUIs \\
Status of I18N for Linux Software Development \\
I18N in Real Software Development Projects \\
Object Oriented Programming and I18N \\
Application Builders and I18N \\
Where Next for Linux I18N? \\
Appendix A: GTK+/GNOME Object Reference \\
GTK+ Widgets and Functions \\
GtkButton \\
GtkCheckButton \\
GtkCList \\
GtkCombo \\
GtkEntry \\
GtkFrame \\
GtkHBox \\
GtkHButtonBox \\
GtkHSeparator \\
GtkLabel \\
GtkMenu \\
GtkMenuBar \\
GtkMenultem \\
GtkNotebook \\
GtkOptionMenu \\
GtkPixmapMenultem \\
GtkScrolledWindow \\
GtkSpinButton \\
GtkTable \\
GtkText \\
GtkVBox \\
GtkWindow \\
GNOME Widgets and Functions \\
GnomeAbout \\
GnomeApp \\
GnomeAppBar \\
GnomeDateEdit \\
GnomeDialog \\
GnomeDock \\
GnomeDockItem \\
GnomeEntry \\
GnomePropertyBox \\
Appendix B: DVD Store RPC Protocol Definition \\
Appendix C: Open Source Licenses \\
Appendix D: Support, Errata, and P2P.Wrox.Com",
}
@Book{McGrath:2000:XPP,
author = "Sean McGrath",
title = "{XML} processing with {Python}",
publisher = pub-PH,
address = pub-PH:adr,
pages = "xxiv + 527",
year = "2000",
ISBN = "0-13-021119-2",
ISBN-13 = "978-0-13-021119-4",
LCCN = "QA76.76.H94 M3885 2000",
bibdate = "Tue Nov 07 06:37:21 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sgml2000.bib",
note = "Includes CD-ROM.",
price = "US\$44.99",
series = "The Charles F. Goldfarb series on open information
management",
URL = "http://www.phptr.com/ptrbooks/ptr_0130211192.html",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language); XML (document
markup language)",
subject = "XML (Document markup language); Python (Computer
program language); Python (Computer program language);
XML (Document markup language); XML.; Python
(programmeertaal); Python (Programmiersprache); XML.;
Python (Programmiersprache); XML.",
tableofcontents = "1: Introduction \\
2: Installing Python \\
3: Installing the XML Package \\
4: Tools of the Trade \\
5: Just Enough Python \\
6: Some Important Details \\
7: Processing XML with Regular Expressions \\
8: Event-driven XML Processing \\
9: Tree-driven XML Processing \\
10: Just Enough SAX \\
11: Just Enough DOM \\
12: Pyxie: an Open Source XML-Processing Library for
Python \\
13: xFS: Filesystem Information in XML \\
14: xMail: E-mail as XML \\
15: xMySQL: Relational Database Harvesting with Python
SAX \\
16: xTract: a Query-By-Example XML Retrieval System \\
17: The C3 XML Editor/Viewer \\
App. A: an Overview of Python for Java Programmers",
}
@Book{Mitchell:2000:DAS,
author = "Scott Mitchell",
title = "Designing {Active Server Pages}: {Scott Mitchell}'s
Guide to Writing Reusable Code",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xii + 348",
month = sep,
year = "2000",
ISBN = "0-596-00044-8",
ISBN-13 = "978-0-596-00044-8",
LCCN = "TK5105.8885.A26 M58 2000",
bibdate = "Mon Apr 18 15:02:00 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/;
z3950.loc.gov:7090/Voyager",
price = "US\$29.95",
URL = "http://catdir.loc.gov/catdir/enhancements/fy0715/00062331-d.html;
http://catdir.loc.gov/catdir/enhancements/fy0912/00062331-b.html;
http://catdir.loc.gov/catdir/enhancements/fy1008/00062331-t.html;
http://www.oreilly.com/catalog/9780596000448;
http://www.oreilly.com/catalog/designasp",
acknowledgement = ack-nhfb,
subject = "Active server pages; Web sites; Design; Web
publishing",
tableofcontents = "What Is Application Design? \\
What's Wrong with ASP Design? \\
Why Hasn't ASP Design Advanced? \\
What Can Be Done to Improve ASP Design? \\
Choosing a Server-Side Scripting Language \\
The Popularity of VBScript \\
Specifying the Scripting Language \\
Creating ASP Pages with JScript \\
Creating ASP Pages with PerlScript \\
Creating ASP Pages with Python \\
Exception Handling \\
A Bit of Terminology \\
Detecting When Exceptions Occur \\
Responding to Exceptions \\
Creating Custom HTTP Error Pages \\
Regular Expressions, Classes, and Dynamic Evaluation
and Execution \\
Using the RegExp Object \\
Using Object-Oriented Programming with VBScript \\
Using Dynamic Evaluation and Execution \\
Form Reuse \\
The Importance of Code Reuse \\
A Primer on Form Use \\
Form Validation \\
Creating Reusable Server-Side Form Validation Routines
\\
Developing Reusable Form Creation Routines \\
The Practicality of Reuse \\
Database Reuse \\
Examining Database Usage \\
The Building Blocks for Creating Reusable
Administration Pages \\
Creating Reusable Administration Pages \\
Using Components \\
COM--A Quick Overview \\
Lesser-Known Microsoft COM Components \\
Enhancing Microsoft's COM Components \\
Building Components \\
Enhancing Your Web Site with Third-Party Components \\
Executing DOS and Windows Applications on the Web
Server with ASPExec \\
Obtaining Detailed Information About Your Users's
Browsers \\
Grabbing Information from Other Web Servers \\
Encrypting Information \\
Uploading Files from the Browser to the Web Server",
}
@Article{Prechelt:2000:ECS,
author = "Lutz Prechelt",
title = "An Empirical Comparison of Seven Programming
Languages",
journal = j-COMPUTER,
volume = "33",
number = "10",
pages = "23--29",
month = oct,
year = "2000",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Mon Oct 30 17:20:21 MST 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://dlib.computer.org/co/books/co2000/pdf/rx023.pdf;
http://www.computer.org/computer/co2000/rx023abs.htm",
abstract = "The author takes a first step toward providing hard
data about the relative effectiveness of the C, C++,
Java, Perl, Python, Rexx and Tcl programming
languages",
acknowledgement = ack-nhfb,
fjournal = "Computer",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}
@Article{Pulleyn:2000:EPM,
author = "Ivan Pulleyn",
title = "Embedding {Python} in Multi-Threaded {C\slash C++}
Applications",
journal = j-LINUX-J,
volume = "73",
pages = "??--??",
month = may,
year = "2000",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Sep 21 07:44:12 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue73/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python provides a clean intuitive interface to
complex,threaded applications.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Ramu:2000:CCP,
author = "Chenna Ramu and Christina Gemuend",
title = "cgimodel: {CGI} Programming Made Easy with {Python}",
journal = j-LINUX-J,
volume = "75",
pages = "??--??",
month = jul,
year = "2000",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Sep 21 07:44:13 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue75/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Scherer:2000:SPV,
author = "David Scherer and Paul Dubois and Bruce Sherwood",
title = "Scientific Programming: {VPython}: {$3$D} Interactive
Scientific Graphics for Students",
journal = j-COMPUT-SCI-ENG,
volume = "2",
number = "5",
pages = "56--62",
month = sep # "\slash " # oct,
year = "2000",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Oct 13 14:31:09 2000",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://dlib.computer.org/cs/books/cs2000/pdf/c5056.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Talbot:2000:WGT,
author = "Hugues Talbot",
title = "{wxPython}, a {GUI} Toolkit",
journal = j-LINUX-J,
volume = "74",
pages = "??--??",
month = jun,
year = "2000",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Sep 21 07:44:13 MDT 2000",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue74/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Wilson:2000:PBP,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: {Python}, {C++}, and Other
Religions",
journal = j-DDJ,
volume = "25",
number = "8",
pages = "145--147",
month = aug,
year = "2000",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Nov 9 08:25:16 MST 2000",
bibsource = "http://www.ddj.com/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python, C++, and a lot more are on Greg's mind this
month, as he examines The Quick Python Book, by Daryl
Harms and Kenneth McDonald; Python Annotated Archives,
by Martin C. Brown; Python Essential Reference, by
David M. Beazley; Python Programming on Win32, by Mark
Hammond and Andy Robinson; Efficient C++: Performance
Programming Techniques by Dov Bulka and David Mayhew;
Exceptional C++, by Herb Sutter; Core Jini, by W. Keith
Edwards; Designing Web Usability, by Jakob Nielsen;
Understanding Search Engines, by Michael W. Berry and
Murray Browne; Toward Zero-Defect Programming, by Allan
M. Stavely; and Game Architecture and Design, by Andrew
Rollings and Dave Morris.",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Agoren:2001:KKL,
author = "Izzet Agoren",
title = "Kernel Korner: {Linux} Teleconferencing: Improving the
Wireless Network",
journal = j-LINUX-J,
volume = "85",
pages = "24, 26, 28, 30",
month = may,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Aug 30 10:41:31 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue85/index.html;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "See erratum \cite{Anonymous:2001:EIA}.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Anonymous:2001:EIA,
author = "Anonymous",
title = "Errata: {Izzet Agoren's Kernel Corner, May 2001},
{Mitch Chapman's ``Create User Interfaces with Glade''
(July 2001)}",
journal = j-LINUX-J,
volume = "89",
pages = "6--6",
month = sep,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Aug 30 06:06:53 MDT 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue89/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "See \cite{Agoren:2001:KKL,Chapman:2001:CUI}.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Anonymous:2001:PPS,
author = "Anonymous",
title = "Products: {ProxySource}'s Software Design and
Collaboration Application; {YesSoftware}'s Code
Generation Application; {Persistence Software}'s
Transactional Application Server; {Instantiation}'s
{Java} Productivity Tools; {JCanvas} Visual Rapid
Application {IDE}; {theKompany.com}'s {Python}
Development Environment; {NeuVis} Updates {E}-Business
Visual Modeling Tools; {LegacyJ}'s {Java}-Compliant
{Cobol} Compiler",
journal = j-COMPUTER,
volume = "34",
number = "3",
pages = "108--109",
month = mar,
year = "2001",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Wed Mar 14 07:01:26 MST 2001",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://dlib.computer.org/co/books/co2001/pdf/r3108.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computer",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}
@Article{Baxter:2001:BRC,
author = "Michael Baxter",
title = "Book Reviews: {{\em Core Python Programming}}",
journal = j-LINUX-J,
volume = "85",
pages = "100--101",
month = may,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Wed May 23 15:20:33 MDT 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue85/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://noframes.linuxjournal.com/lj-issues/issue85/4564.html",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Beazley:2001:PER,
author = "David M. Beazley",
title = "{Python} essential reference",
publisher = pub-NRP,
address = pub-NRP:adr,
edition = "Second",
pages = "xviii + 398",
year = "2001",
ISBN = "0-7357-1091-0",
ISBN-13 = "978-0-7357-1091-7",
LCCN = "QA76.73.P98 B43 2001",
bibdate = "Tue Mar 12 07:20:53 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
}
@Article{Bisca:2001:UPQ,
author = "Mihai Bisca",
title = "Using {Python} to Query {MySQL} over the Net",
journal = j-LINUX-J,
volume = "85",
pages = "104--106, 108",
month = may,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Wed May 23 15:20:33 MDT 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue85/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Use Python to upgrade your site's search.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Chapman:2001:CUI,
author = "Mitch Chapman",
title = "Create User Interfaces with {Glade}",
journal = j-LINUX-J,
volume = "87",
pages = "88, 90--92, 94",
month = jul,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Aug 30 10:40:31 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue87/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "See erratum \cite{Anonymous:2001:EIA}.",
URL = "http://noframes.linuxjournal.com/lj-issues/issue87/4702.html",
abstract = "Discover the joys of creating GUI apps with Glade and
Python--Chapman shows us how.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Chun:2001:CPP,
author = "Wesley Chun",
title = "Core {Python} programming",
publisher = pub-PHPTR,
address = pub-PHPTR:adr,
pages = "xxix + 771",
year = "2001",
ISBN = "0-13-026036-3",
ISBN-13 = "978-0-13-026036-9",
LCCN = "QA76.73.P98 C48 2001",
bibdate = "Tue Mar 12 07:20:53 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Prentice Hall PTR core series",
URL = "http://www.phptr.com/ptrbooks/ptr_0130260363.html",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
}
@Article{Dalke:2001:MCE,
author = "Andrew Dalke",
title = "Making {C} Extensions More {Pythonic}",
journal = j-DDJ,
volume = "26",
number = "1",
pages = "68, 70, 72, 74, 76",
month = jan,
year = "2001",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Feb 15 12:14:40 MST 2001",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2001/2001_01/cpython.txt;
http://www.ddj.com/ftp/2001/2001_01/cpython.zip",
abstract = "Andrew presents PyDaylight, an object-oriented wrapper
for Python that provides the low-level interface to the
underlying C libraries. Additional resources include
cpython.txt (listings) and cpython.zip (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Book{dosSantosLessa:2001:PDH,
author = "Andr{\'e} {dos Santos Lessa}",
title = "{Python} Developer's Handbook",
publisher = pub-SAMS,
address = pub-SAMS:adr,
pages = "xxv + 929",
year = "2001",
ISBN = "0-672-31994-2",
ISBN-13 = "978-0-672-31994-5",
LCCN = "QA76.73.P98 L47 2001",
bibdate = "Tue Mar 12 07:27:34 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
price = "US\$44.99",
abstract = "The \booktitle{Python Developer's Handbook} is
designed to expose experienced developers to Python and
its uses. Beginning with a brief introduction to the
language and its syntax, the book moves quickly into
more advanced programming topics.",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Object-oriented
programming (Computer science); Python (Computer
program language); Python (programmeertaal)",
tableofcontents = "Part I : Basic Programming \\
Main Technical Features / 13 \\
Python Distribution / 16 \\
Installing and Configuring Python / 18 \\
Python and Other Languages / 22 \\
Patches and Bugs List / 25 \\
PSA and the Python Consortium / 26 \\
2 : Language Review / 31 \\
The Shell Environment / 32 \\
Programs / 35 \\
Built-In Data Types / 40 \\
Operators / 47 \\
Expressions / 49 \\
Control Statements / 59 \\
Data Structures / 62 \\
Functions and Procedures / 71 \\
Modules and Packages / 77 \\
Input and Output / 82 \\
File Handling / 86 \\
3 : Python Libraries / 97 \\
Python Services / 99 \\
The String Group / 110 \\
Generic Operational System / 119 \\
Optional Operational System / 127 \\
Debugger / 130 \\
Profiler / 131 \\
Internet Protocol and Support / 131 \\
Internet Data Handling / 134 \\
Restricted Execution / 137 \\
Multimedia / 137 \\
Cryptographic / 139 \\
UNIX Specific / 140 \\
SGI IRIX Specific / 143 \\
Sun OS Specific / 145 \\
MS Windows Specific / 145 \\
Macintosh Specific / 145 \\
Undocumented Modules / 146 \\
4 : Exception Handling / 153 \\
Exception Handling / 153 \\
Standard Exceptions (Getting Help from Other Modules) /
157 \\
Raising Exceptions / 159 \\
Catching Exceptions / 165 \\
try/finally / 167 \\
Creating User-defined Exceptions / 168 \\
The Standard Exception Hierarchy / 169 \\
5 : Object-Oriented Programming / 179 \\
An Introduction to Python OOP / 180 \\
Python Classes and Instances / 183 \\
Methods Handling / 190 \\
Special Methods / 192 \\
Inheritance / 198 \\
Polymorphism / 201 \\
Encapsulation / 204 \\
Metaclasses / 206 \\
Part II : Advanced Programming \\
6 : Extending and Embedding Python / 221 \\
Extending and Embedding Python / 221 \\
The Python/C API / 223 \\
Extending / 223 \\
Compiling and Linking Extension Modules / 237 \\
SWIG \\
The Simple Wrapper Interface Generator / 243 \\
Other Wrappers / 245 \\
Embedding / 246 \\
7 : Objects Interfacing and Distribution / 259 \\
Interfacing Objects / 260 \\
Introduction to COM Objects / 261 \\
Implementing COM Objects in Python / 266 \\
Distributing Objects with Python / 285 \\
8 : Working with Databases / 305 \\
Working with Databases / 305 \\
Flat Databases / 306 \\
DBM (Database Managers) Databases / 309 \\
Object Serialization and Persistent Storage / 315 \\
The ODBC Module / 322 \\
ADO (ActiveX Data Objects) / 325 \\
Using SQL / 327 \\
Python DB API / 335 \\
9 : Other Advanced Topics / 351 \\
Manipulating Images / 352 \\
Working with Sounds / 355 \\
Restricted Execution Mode / 360 \\
Scientific Computing / 363 \\
Regular Expressions / 369 \\
Threads / 376 \\
Part III : Network Programming \\
10 : Basic Network Background / 391 \\
Networking / 391 \\
HTTP / 405 \\
Accessing URLs / 414 \\
FTP / 417 \\
SMTP/POP3/IMAP / 418 \\
Newsgroups \\
Telnet and Gopher / 421 \\
11 : Web Development / 427 \\
Web Development / 427 \\
Configuring Web Servers for Python/CGI Scripts / 428
\\
Third-Party Internet Applications / 433 \\
Other Applications / 439 \\
Site Management Tools / 442 \\
12 : Scripting Programming / 451 \\
Web Programming / 451 \\
An Introduction to CGI / 452 \\
The CGI Module / 454 \\
Creating, Installing, and Running Your Script / 456 \\
Python Active Scripting / 481 \\
13 : Data Manipulation / 491 \\
Parsing and Manipulating Data / 491 \\
XML Processing / 492 \\
XML-RPC / 510 \\
XDR Data Exchange Format / 512 \\
Handling Other Markup Languages / 517 \\
MIME Parsing and Manipulation / 530 \\
Generic Conversion Functions / 544 \\
Part IV : Graphical Interfaces \\
14 : Python and GUIs / 555 \\
Python GUI Toolkits / 555 \\
The Tkinter Module / 557 \\
Overview of Other GUI Modules / 558 \\
Designing a Good Interface / 571 \\
15 : Tkinter / 575 \\
Introduction to Tcl/Tk / 575 \\
Geometry Management / 580 \\
Handling Tkinter Events / 585 \\
Tkinter Widgets / 590 \\
Designing Applications / 624 \\
PMW \\
Python Mega Widgets / 630 \\
Part V : Developing with Python \\
16 : Development Environment / 635 \\
Building Python Applications / 635 \\
Development Strategy / 636 \\
Integrated Development Environments / 647 \\
IDLE / 647 \\
Pythonwin / 661 \\
17 : Development Tools / 673 \\
The Development Process of Python Programs / 673 \\
Compiling Python / 674 \\
Editing Code / 678 \\
Emacs / 679 \\
Python Scripts / 681 \\
Generating an Executable Python Bytecode / 685 \\
Interpreter / 686 \\
Debugging the Application / 689 \\
Profiling Python / 697 \\
Distributing Python Applications / 708 \\
Part VI : Python and Java \\
18 : JPython / 717 \\
Welcome to JPython / 717 \\
Java Integration / 722 \\
Downloading and Installing JPython / 723 \\
The Interpreter / 727 \\
The JPython Registry / 729 \\
Creating Graphical Interfaces / 731 \\
Embedding / 732 \\
jpythonc / 734 \\
Running JPython Applets / 736 \\
A Python/C API / 741 \\
Python/C API / 741 \\
The Very High Level Layer / 751 \\
Reference Counting / 753 \\
Exception Handling / 754 \\
Standard Exceptions / 757 \\
Utilities / 759 \\
Abstract Objects Layer / 762 \\
Concrete Objects Layer / 771 \\
Initialization, Finalization, and Threads / 789 \\
Memory Management / 800 \\
Defining New Object Types / 804 \\
B : Running Python on Specific Platforms / 807 \\
Python on Win32 Systems / 807 \\
Python on MacOS Systems / 810 \\
Python on UNIX Systems / 814 \\
Other Platforms / 815 \\
Python 1.6 or Python 2.0. Which One to Choose? / 828
\\
New Development Process / 828 \\
Enhancements / 828 \\
Expected Code Breaking / 831",
}
@Article{Esterbrook:2001:UMI,
author = "Chuck Esterbrook",
title = "Using Mix-ins with {Python}",
journal = j-LINUX-J,
volume = "84",
pages = "114, 116, 118, 120--121",
month = apr,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Apr 13 06:26:46 MDT 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue84/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://noframes.linuxjournal.com/lj-issues/issue84/4540.html",
abstract = "Python provides an ideal language for mix-in
development.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Hughes:2001:BRP,
author = "Phil Hughes",
title = "Book Reviews: {{\em Python Developer's Handbook}}",
journal = j-LINUX-J,
volume = "82",
pages = "180--180",
month = feb,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Feb 15 08:04:55 MST 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue82/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Lundh:2001:PSL,
author = "Fredrik Lundh",
title = "{Python} Standard Library",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xvi + 281",
month = may,
year = "2001",
ISBN = "0-596-00096-0",
ISBN-13 = "978-0-596-00096-7",
LCCN = "QA76.73.P98 L86 2001",
bibdate = "Tue Mar 12 07:28:12 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/",
price = "US\$29.95",
series = "Nutshell handbook",
URL = "http://www.oreilly.com/catalog/pythonsl",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
}
@Book{Lutz:2001:PPO,
author = "Mark Lutz",
title = "Programming {Python}: Object-Oriented Scripting",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xxxvii + 1255",
month = mar,
year = "2001",
ISBN = "0-596-00085-5",
ISBN-13 = "978-0-596-00085-1",
LCCN = "QA76.73.P98 L88 2001",
bibdate = "Mon Apr 18 15:02:28 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/;
z3950.loc.gov:7090/Voyager",
note = "Includes CD-ROM.",
price = "US\$54.95",
URL = "http://www.oreilly.com/catalog/9780596000851;
http://www.oreilly.com/catalog/python2",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Misc{Pelletier:2001:Z,
author = "Michel Pelletier",
title = "{Zope}",
year = "2001",
bibdate = "Tue Oct 15 15:38:06 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Unpublished invited talk, LISA 2001: 15th Systems
Administration Conference, December 2--7, 2001, Town
and Country Resort Hotel, San Diego, CA.",
URL = "http://db.usenix.org/publications/library/proceedings/lisa2001/tech/",
abstract = "Zope is an open-source Web application server written
in Python and C and published by Digital Creations.
Michel is a software developer and documentation writer
for DC who has worked with Zope for over two years and
is co-author of the New Riders publication {\em The
Zope Book}. He will be presenting some of the cooler
features Zope has to offer to the presentation
designer, content manager, programmer, and system
administrator.",
acknowledgement = ack-nhfb,
}
@Article{Rempt:2001:PPT,
author = "Boudewijn Rempt",
title = "{Python}'s {PyQt} Toolkit",
journal = j-DDJ,
volume = "26",
number = "1",
pages = "88, 90, 92, 94",
month = jan,
year = "2001",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Feb 15 12:14:40 MST 2001",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2001/2001_01/pyqt.txt",
abstract = "Boudewijn examines PyQt, one of the most advanced
Python GUI libraries, focusing on the innovative
signals-and-slots paradigm it offers you. Additional
resources include pyqt.txt (listings).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Rempt:2001:SJP,
author = "Boudewijn Rempt",
title = "Scripting With {Java} and {Python}: Building a
{Python} console window in a {Java} application",
journal = j-DDJ,
volume = "26",
number = "10",
pages = "56, 60--61",
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/python.bib",
URL = "http://www.ddj.com/ftp/2001/2001_10/pyconsol.txt;
http://www.ddj.com/ftp/2001/2001_10/pyconsol.zip",
abstract = "Boudewijn shows how you can embed a standard language
such as Python into a Java application. Additional
resources include {\tt pyconsol.txt} (listings) and
{\tt pyconsol.zip} (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Richardson:2001:LEO,
author = "Bruce Richardson and Anonymous and Nathan Hokanson and
Ken O. Burtch and Jim V. and Jerel Crosland and Paul
Taylor and Sheldon Dubrowin and Paul Dale Roberts and
Dean Provins and Kathy Lynn and Andre Lessa",
title = "Letters to the Editor: Offended; {A} Real Bastard;
Common Misconception; {Ada} Boy!; Wacky Names;
Penultimate {Linux} Box?; {SuSe} Too Loosa; {LJ}
Interactive; Sold on {{\em Soldier}}; {\tt groff} is
Great; What's up with {Ogg}?; Changes to the {{\em
Python Developer's Handook}}",
journal = j-LINUX-J,
volume = "83",
pages = "6, 141--142",
month = mar,
year = "2001",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Feb 20 11:49:34 2001",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue83/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Tan:2001:JWP,
author = "C. K. Tan",
title = "A {JDBC} Wrapper --- In {Python}!",
journal = j-DDJ,
volume = "26",
number = "8",
pages = "50, 52, 54",
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/python.bib",
URL = "http://www.ddj.com/ftp/2001/2001_08/jdbcpy.txt;
http://www.ddj.com/ftp/2001/2001_08/jdbcpy.zip",
abstract = "Database access via JDBC can be less than
straightforward. To simplify the process, C.K. presents
a Python-based framework that wraps around JDBC.
Additional resources include jdbcpy.txt (listings) and
jdbcpy.zip (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@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/python.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",
}
@Article{Anonymous:2002:CPF,
author = "Anonymous",
title = "Correction: {``Python and Finite Elements''}",
journal = j-DDJ,
volume = "27",
number = "4--4",
pages = "10--10",
month = apr,
year = "2002",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Tue Mar 5 07:08:41 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "See \cite{Pletzer:2002:PFE}.",
URL = "http://www.ddj.com/",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Baumgartner:2002:DIP,
author = "Florian Baumgartner and Torsten Braun and Bharat
Bhargava",
title = "Design and Implementation of a Python-Based Active
Network Platform for Network Management and Control",
journal = j-LECT-NOTES-COMP-SCI,
volume = "2546",
pages = "177--??",
year = "2002",
CODEN = "LNCSD9",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
bibdate = "Sat Nov 30 20:58:13 MST 2002",
bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2546.htm;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.de/link/service/series/0558/bibs/2546/25460177.htm;
http://link.springer.de/link/service/series/0558/papers/2546/25460177.pdf",
acknowledgement = ack-nhfb,
fjournal = "Lecture Notes in Computer Science",
}
@Book{Blaess:2002:LSS,
author = "Christophe Blaess",
title = "Langages de scripts sous {Linux}: {Shell Bash}, {Sed},
{Awk}, {Perl}, {Tcl}, {Tk}, {Python}, {Ruby}",
publisher = pub-EYROLLES,
address = pub-EYROLLES:adr,
pages = "xx + 733",
year = "2002",
ISBN = "2-212-11028-6",
ISBN-13 = "978-2-212-11028-9",
LCCN = "QA76.7 B4 2002",
bibdate = "Fri Jul 01 14:51:40 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Brinkmann:2002:GGG,
author = "Peter Brinkmann",
title = "{Gumbie}: a {GUI} Generator For {Jython}",
journal = j-DDJ,
volume = "27",
number = "4",
pages = "46--50",
month = apr,
year = "2002",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Tue Mar 5 07:08:41 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/ftp/2002/2002_04/gumbie.txt;
http://www.ddj.com/ftp/2002/2002_04/gumbie.zip",
abstract = "Jython is a 100 percent pure Java implementation of
Python that makes Java scriptable. Peter uses it to
build his Gumbie GUI tool. Additional resources include
gumbie.txt (listings) and gumbie.zip (source code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Book{Christopher:2002:PPP,
author = "Thomas W. Christopher",
title = "{Python} programming patterns",
publisher = pub-PHPTR,
address = pub-PHPTR:adr,
pages = "xix + 538",
year = "2002",
ISBN = "0-13-040956-1",
ISBN-13 = "978-0-13-040956-0",
LCCN = "QA76.73.P98 C47 2002",
bibdate = "Tue Mar 12 07:20:53 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.phptr.com/ptrbooks/ptr_0130409561.html",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
subject = "Python (Computer program language); Python
(Programmiersprache)",
tableofcontents = "1: Getting Started \\
2: Statements \\
3: Modules and Packages \\
4: Objects and Classes \\
5: Object-Oriented Patterns \\
6: Functions \\
7: Input/Output \\
8: Sequences \\
9: Strings \\
10: Dictionaries \\
11: Exceptions \\
12: Types \\
13: Programs and Run-Time Compilation \\
14: Abstract Data Types and Special Methods \\
15: Abstract Container Data Types \\
16: Priority Queues \\
17: Sets \\
18: Concurrency \\
19: Transactions \\
20: Run Queues \\
21: Regular Expressions \\
22: Parser \\
23: Wrap-Up",
}
@Article{Chun:2002:KPR,
author = "Wesley J. Chun",
title = "Keeping Up with {Python}: the 2.2 Release",
journal = j-LINUX-J,
volume = "99",
pages = "??--??",
month = jul,
year = "2002",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Apr 12 06:59:06 MDT 2003",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue99/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.linuxjournal.com/article/5597",
abstract = "Unification, iterators and more--the improvements to
the Python 2.2 release series.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Chun:2002:PQG,
author = "Wesley J. Chun",
title = "{Python 2.2} {Q\&A} with {Guido van Rossum}, Creator
of {Python}",
journal = j-LINUX-J,
volume = "98",
pages = "??--??",
month = jun,
year = "2002",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Apr 12 06:59:06 MDT 2003",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue98/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.linuxjournal.com/article.php?sid=5948",
abstract = "No full monty, just Guido's honest opinions.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Deitel:2002:PHP,
author = "Harvey M. Deitel and Paul Deitel and Jonathan Liperi
and Ben Wiedermann",
title = "{Python} How To Program",
publisher = pub-PHPTR,
address = pub-PHPTR:adr,
pages = "lviii + 1292 + 6",
year = "2002",
ISBN = "0-13-092361-3 (paperback), 0-13-092557-8 (CD-ROM)",
ISBN-13 = "978-0-13-092361-5 (paperback), 978-0-13-092557-2
(CD-ROM)",
LCCN = "QA76.73.P98 P98 2002",
bibdate = "Thu Oct 31 18:16:58 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
price = "US\$74.00",
URL = "http://www.phptr.com/ptrbooks/ptr_0130923613.html",
acknowledgement = ack-nhfb,
remark = "CD-ROM contents: Alice 99 interactive 3D graphics
programming system -- Python 2.2 (Windows/Linux) --
Apache web server 1.3.22 / from the Apache Software
Foundation -- Webware 0.6 for Python (Windows/Linux) --
Pixo Internet microbrowser 2.1 -- IBM WebSphere voice
server SDK 2.0 for Windows 2000 for evaluation.",
remark-2 = "System requirements for accompanying CD-ROM: Pentium
166 MHz or faster processor (366 MHz (or higher)
required for WebSphere Voice Server for Windows 2000);
64 MHz RAM (128 MHz for NT/2000); Windows 9x, Windows
NT (or later) (some software packages require
particular versions of Windows), or Red Hat Linux 6.2
(or later); 32 MB (48 MB recommended); CD-ROM drive;
Internet connection.",
subject = "Python (Computer program language)",
}
@Article{Farrell:2002:MP,
author = "Doug Farrell",
title = "Mediator\slash {Python}",
journal = j-LINUX-J,
volume = "98",
pages = "??--??",
month = jun,
year = "2002",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Apr 12 06:59:06 MDT 2003",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue98/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.linuxjournal.com/article.php?sid=5858",
abstract = "Sure it's no system for a basis of government, but
Python can help build smart dialog boxes.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Fehily:2002:VQG,
author = "Chris Fehily",
title = "Visual quickstart guide: {Python}",
publisher = pub-PEACHPIT,
address = pub-PEACHPIT:adr,
pages = "xxvi + 410",
year = "2002",
ISBN = "????",
ISBN-13 = "????",
LCCN = "A76.73.P98 F44 2002",
bibdate = "Thu Apr 16 11:52:32 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/0201748843",
acknowledgement = ack-nhfb,
}
@Book{Hetland:2002:PP,
author = "Magnus Lie Hetland",
title = "Practical {Python}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxi + 619",
year = "2002",
ISBN = "1-59059-006-6",
ISBN-13 = "978-1-59059-006-5",
LCCN = "QA76.73.P98 H47 2002",
bibdate = "Fri Nov 07 05:28:22 2003",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Hinsen:2002:HLS,
author = "K. Hinsen",
title = "High-Level Scientific Programming with {Python}",
journal = j-LECT-NOTES-COMP-SCI,
volume = "2331",
pages = "691--??",
year = "2002",
CODEN = "LNCSD9",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
bibdate = "Tue Sep 10 19:09:36 MDT 2002",
bibsource = "http://link.springer-ny.com/link/service/series/0558/tocs/t2331.htm;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer-ny.com/link/service/series/0558/bibs/2331/23310691.htm;
http://link.springer-ny.com/link/service/series/0558/papers/2331/23310691.pdf",
acknowledgement = ack-nhfb,
fjournal = "Lecture Notes in Computer Science",
}
@Article{Jackson:2002:PPI,
author = "Keith R. Jackson",
title = "{pyGlobus}: a {Python} interface to the {Globus
Toolkit TM}",
journal = j-CCPE,
volume = "14",
number = "13--15",
pages = "1075--1083",
month = nov # "\slash " # dec,
year = "2002",
CODEN = "CCPEBO",
DOI = "https://doi.org/10.1002/cpe.683",
ISSN = "1532-0626 (print), 1532-0634 (electronic)",
ISSN-L = "1532-0626",
bibdate = "Tue Jan 13 09:28:02 MST 2004",
bibsource = "http://www.interscience.wiley.com/jpages/1532-0626;
https://www.math.utah.edu/pub/tex/bib/python.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 = "8 Jan 2003",
}
@Book{Jones:2002:PX,
author = "Christopher A. Jones and Fred L. Drake",
title = "{Python} and {XML}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xvi + 360",
year = "2002",
ISBN = "0-596-00128-2",
ISBN-13 = "978-0-596-00128-5",
LCCN = "QA76.73.P98 J66 2002",
bibdate = "Tue Mar 12 07:20:53 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language); XML (document
markup language)",
}
@Book{Lutz:2002:PPR,
author = "Mark Lutz",
title = "{Python} Pocket Reference",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "iv + 124",
year = "2002",
ISBN = "0-596-00189-4",
ISBN-13 = "978-0-596-00189-6",
LCCN = "QA76.73.P98 L89 2002",
bibdate = "Mon Apr 18 15:03:38 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/prdindex.html;
z3950.loc.gov:7090/Voyager",
price = "US\$11.95",
URL = "http://safari.oreilly.com/0596001894;
http://www.oreilly.com/catalog/9780596001896;
http://www.oreilly.com/catalog/pythonpr2",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
publishersummary = "The Python Pocket Reference, 2nd Edition covers
the latest Python release 2.2. It is a short, concise
reference for the Python programming language, and its
most commonly used libraries and tools. Designed to be
a quick and easy to use resource for developers, this
book serves as a natural companion to O'Reilly's
Learning Python and Programming Python, 2nd Edition.
This edition includes new summary material for Python's
GUI, Internet, and database programming tools.",
subject = "Python (Computer program language)",
}
@Book{Martelli:2002:PC,
editor = "David Ascher Alex Martelli",
title = "{Python} Cookbook",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxix + 574",
year = "2002",
ISBN = "0-596-00167-3",
ISBN-13 = "978-0-596-00167-4",
LCCN = "QA76.73.P98 P983 2002 Stacks",
bibdate = "Wed Oct 30 16:15:17 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/prdindex.html",
price = "US\$39.95",
URL = "http://safari.oreilly.com/0596001673;
http://www.oreilly.com/catalog/pythoncook",
acknowledgement = ack-nhfb,
keywords = "Python (computer program language)",
publishersummary = "The Python Cookbook is a collection of problems,
solutions, and practical examples for Python
programmers, written by Python programmers. It contains
over two hundred recipes for text manipulation, object
oriented programming, XML processing, system
administration, and much more. This book is a treasure
trove of useful code for both novices and advanced
practitioners, with contributions from such Python
luminaries as Guido van Rossum, Tim Peters, Paul
Prescod, and Mark Hammond.",
}
@Article{Maurer:2002:CPL,
author = "W. Douglas Maurer",
title = "The comparative programming languages course: a new
chain of development",
journal = j-SIGCSE,
volume = "34",
number = "1",
pages = "336--340",
month = mar,
year = "2002",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/563517.563472",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Inroads: paving the way towards excellence in
computing education.",
abstract = "The programming language concepts which ought to be
presented in the comparative programming languages
course (either graduate or undergraduate) are all
covered by choosing C++, Java, Perl, and Python as the
languages to be compared. These include dynamic typing,
object orientation, multiple inheritance, interpreters
and compilers, keyword and default parameters,
generics, operator overloading, complex numbers,
universal hierarchies, exceptions, and garbage
collection. We describe such a course, which we have
given.",
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{Pedroni:2002:JE,
author = "Samuele Pedroni and Noel Rappin",
title = "Jython Essentials",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xx + 277",
year = "2002",
ISBN = "0-596-00247-5",
ISBN-13 = "978-0-596-00247-3",
LCCN = "QA76.73.J38 P43 2002 Stacks",
bibdate = "Wed Oct 30 16:15:17 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.oreilly.com/catalog/prdindex.html",
price = "US\$24.95",
URL = "http://www.oreilly.com/catalog/jythoness",
acknowledgement = ack-nhfb,
keywords = "Java (computer program language); Python (computer
program language)",
publishersummary = "Jython is an implementation of the Python
programming language written in Java, allowing Python
programs to integrate seamlessly with any Java code.
The secret to Jython's popularity lies in the
combination of Java's libraries and tools with Python's
rapid development capabilities. Jython Essentials
provides a solid introduction to the language, numerous
examples of Jython/Java interaction, and valuable
reference material on modules and libraries of use to
Jython programmers.",
}
@Article{Petrone:2002:DPP,
author = "Jason Petrone",
title = "{$3$-D} Programming with {Python}",
journal = j-LINUX-J,
volume = "94",
pages = "89--94",
month = feb,
year = "2002",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Feb 8 16:59:02 MST 2002",
bibsource = "http://noframes.linuxjournal.com/lj-issues/issue94/index.html;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Accessing PyOpenGL for faster 3-D programming.",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Pletzer:2002:PFE,
author = "Alexander Pletzer",
title = "{Python} and Finite Elements",
journal = j-DDJ,
volume = "27",
number = "3",
pages = "36, 38--40",
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/python.bib",
note = "See correction \cite{Anonymous:2002:CPF}.",
URL = "http://www.ddj.com/ftp/2002/2002_03/ellipt2d.txt;
http://www.ddj.com/ftp/2002/2002_03/ellipt2d.zip",
abstract = "ELLIPT2D is a finite element package written in Python
that's designed to solve elliptic equations in two
dimensions. Additional resources include {\tt
ellipt2d.txt} (listings) and {\tt ellipt2d.zip} (source
code).",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Sitaker:2002:PPW,
author = "Kragen Sitaker",
title = "{Python} or {Perl}: Which is Better?",
journal = j-LOGIN,
volume = "27",
number = "3",
pages = "??--??",
month = jun,
year = "2002",
CODEN = "LOGNEM",
ISSN = "1044-6397",
bibdate = "Tue Apr 11 10:52:16 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.usenix.org/publications/login/2002-06/index.html",
URL = "http://www.usenix.org/publications/login/2002-06/pdfs/sitaker.pdf",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Book{Thiruvathukal:2002:WPT,
author = "George K. (George Kuriakose) Thiruvathukal and John P.
Shafaee and Thomas W. Christopher",
title = "{Web} programming: techniques for integrating
{Python}, {Linux}, {Apache}, and {MySQL}",
publisher = pub-PHPTR,
address = pub-PHPTR:adr,
pages = "xviii + 745",
year = "2002",
ISBN = "0-13-041065-9",
ISBN-13 = "978-0-13-041065-8",
LCCN = "QA76.625 .T48 2002",
bibdate = "Tue Mar 12 07:20:53 MST 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.phptr.com/ptrbooks/ptr_0130410659.html",
acknowledgement = ack-nhfb,
keywords = "Internet programming; Web sites -- design",
}
@Article{Wilson:2002:PBS,
author = "Gregory V. Wilson",
title = "Programmer's Bookshelf: Sometimes You Get What You
Want",
journal = j-DDJ,
volume = "27",
number = "2",
pages = "107--170",
month = feb,
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/python.bib",
URL = "http://www.ddj.com/",
abstract = "The books Greg examines this month include C++
Footprint and Performance Optimization; Python Standard
Library; Applying Use Case Driven Object Modeling with
UML; and Structure and Interpretation of Classical
Mechanics.",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Blank:2003:PPB,
author = "Douglas Blank and Deepak Kumar and Lisa Meeden and
Holly Yanco",
title = "{Pyro}: a {Python}-based versatile programming
environment for teaching robotics",
journal = j-JERIC,
volume = "3",
number = "4",
pages = "1--15",
month = dec,
year = "2003",
CODEN = "????",
ISSN = "1531-4278",
bibdate = "Tue Apr 26 17:40:41 MDT 2005",
bibsource = "http://www.acm.org/pubs/contents/journals/jeric/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM Journal on Educational Resources in Computing
(JERIC)",
}
@Article{Blank:2003:PRE,
author = "Douglas Blank and Lisa Meeden and Deepak Kumar",
title = "{Python} robotics: an environment for exploring
robotics beyond {LEGOs}",
journal = j-SIGCSE,
volume = "35",
number = "1",
pages = "317--321",
month = jan,
year = "2003",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/792548.611996",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:56:59 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
abstract = "This paper describes Pyro, a robotics programming
environment designed to allow inexperienced
undergraduates to explore topics in advanced robotics.
Pyro, which stands for Python Robotics, runs on a
number of advanced robotics platforms. In addition,
programs in Pyro can abstract away low-level details
such that individual programs can work unchanged across
very different robotics hardware. Results of using Pyro
in an undergraduate course are discussed.",
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{Cottom:2003:USB,
author = "Teresa L. Cottom",
title = "Using {SWIG} to Bind {C++} to {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "5",
number = "2",
pages = "88--96, c3",
month = mar # "\slash " # apr,
year = "2003",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Jan 3 18:25:05 MST 2004",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/comp/mags/cs/2003/02/c2088abs.htm;
http://csdl.computer.org/dl/mags/cs/2003/02/c2088.htm;
http://csdl.computer.org/dl/mags/cs/2003/02/c2088.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Dawson:2003:PPA,
author = "Michael Dawson",
title = "{Python} programming for the absolute beginner",
publisher = "Premier Press Inc.",
address = "Boston, MA, USA",
pages = "xviii + 452",
year = "2003",
ISBN = "1-59200-073-8 (paperback), 1-59200-073-8,
1-59200-269-2 (e-book)",
ISBN-13 = "978-1-59200-073-9 (paperback), 978-1-59200-073-9,
978-1-59200-269-6 (e-book)",
LCCN = "QA76.73.P98 D387 2003",
bibdate = "Thu Apr 16 12:30:41 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/1592000738",
acknowledgement = ack-nhfb,
}
@Article{Guzdial:2003:MCC,
author = "Mark Guzdial",
title = "A media computation course for non-majors",
journal = j-SIGCSE,
volume = "35",
number = "3",
pages = "104--108",
month = sep,
year = "2003",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/961290.961542",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:03 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
abstract = "Computing may well become considered an essential part
of a liberal education, but introductory programming
courses will not look like the way that they do today.
Current CSI course are failing dramatically. We are
developing a new course, to be taught starting in
Spring 2003, which uses computation for communication
as a guiding principle. Students learn to program by
writing Python programs for manipulating sound, images,
and movies. This paper describes the course development
and the tools developed for the course. The talk will
include the first round of assessment results.",
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{Hightower:2003:PPJ,
author = "Richard Hightower",
title = "{Python} programming with the {Java} class libraries:
a tutorial for building {Web} and Enterprise
applications with {Jython}",
publisher = pub-AW,
address = pub-AW:adr,
pages = "xii + 620",
year = "2003",
ISBN = "0-201-61616-5",
ISBN-13 = "978-0-201-61616-3",
LCCN = "QA76.73.P98 H54 2003",
bibdate = "Tue May 6 05:26:58 MDT 2003",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2000.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This tutorial begins with coverage of some of the
basics of Python programming. Using plenty of
skill-building exercises and interactive programming
sessions, this book will help those new to programming
develop an understanding of concepts and practical
techniques. For experienced programmers, the book
demonstrates Python's breadth of capabilities and shows
the ways that Python interfaces with Java APIs for
professional application development.'' ``In addition,
the book contains instructions for downloading and
installing the Python language and the Java Development
Kit (JDK). Terminology, definitions, explanations, and
numerous code samples make this book a useful learning
experience.'' ``Whether you are sophisticated computer
user new to programming or a serious application
developer, Python Programming with the Java Class
Libraries will give you insight into the power of
Python and the know-how to put it to work.",
acknowledgement = ack-nhfb,
keywords = "application software -- development; Java (computer
program language); Python (computer program language)",
tableofcontents = "1: Jython Overview \\
2: Statements and Expressions \\
3: Operators and String Formatting \\
4: Control Flow \\
5: Organizing Your Code \\
6: Object-Oriented Programming \\
7: Errors and Exceptions \\
8: Working with Files \\
9: Built-In Functions \\
10: Working with Strings \\
11: Interfacing with Java \\
12: Working with Java Streams \\
13: JFC Fundamentals \\
14: First Swing Application, Layout, and Menus \\
15: Graphics and Events \\
16: Advanced Swing \\
17: SQL and JDBC \\
18: Applets \\
App. A: Installing Jython on Windows \\
App. B: Installing Jython on Linux / Jaysen Lorenzen
\\
App. C: The Power of Scripting \\
App. D: Java and Python: a Comparison \\
App. E: Regular Expressions / Jaysen Lorenzen",
}
@Article{Hinsen:2003:HLP,
author = "Konrad Hinsen",
title = "High-Level Parallel Software Development with {Python}
and {BSP}",
journal = j-PARALLEL-PROCESS-LETT,
volume = "13",
number = "3",
pages = "473--??",
month = sep,
year = "2003",
CODEN = "PPLTEE",
ISSN = "0129-6264 (print), 1793-642X (electronic)",
bibdate = "Sat Nov 6 18:06:31 MST 2004",
bibsource = "http://ejournals.wspc.com.sg/ppl/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Parallel Processing Letters",
journal-URL = "http://www.worldscientific.com/loi/ppl",
}
@InProceedings{Langtangen:2003:UDP,
author = "H. P. Langtangen and K.-A. Mardal",
title = "Using {Diffpack} from {Python} Scripts",
crossref = "Langtangen:2003:ATC",
volume = "33",
pages = "321--360",
year = "2003",
DOI = "https://doi.org/10.1007/978-3-642-18237-2_8",
bibdate = "Fri Dec 21 16:04:02 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/content/pdf/10.1007/978-3-642-18237-2_8",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/978-3-642-18237-2",
book-URL = "http://www.springerlink.com/content/978-3-642-18237-2",
}
@Book{Martelli:2003:PN,
author = "Alex Martelli",
title = "{Python} in a nutshell",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xv + 636",
year = "2003",
ISBN = "0-596-00188-6",
ISBN-13 = "978-0-596-00188-9",
LCCN = "QA76.73.P98 M37 2003",
bibdate = "Mon Apr 18 15:03:37 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.oreilly.com/catalog/9780596001889",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Part I: Getting Started with Python \\
1: Introduction to Python \\
2: Installation \\
3: The Python Interpreter \\
Part II: Core Python Language and Built-ins \\
4: The Python Language \\
5: Object-Oriented Python \\
6: Exceptions \\
7: Modules \\
8: Core Built-ins \\
9: Strings and Regular Expressions \\
Part III: Python Library and Extension Modules \\
10: File and Text Operations \\
11: Persistence and Databases \\
12: Time Operations \\
13: Controlling Execution \\
14: Threads and Processes \\
15: Numeric Processing \\
16: Tkinter GUIs \\
17: Testing, Debugging, and Optimizing \\
Part IV: Network and Web Programming \\
18: Client-Side Network Protocol Modules",
}
@Book{Mertz:2003:TPP,
author = "David Mertz",
title = "Text processing in {Python}",
publisher = pub-AW,
address = pub-AW:adr,
pages = "xix + 520",
year = "2003",
ISBN = "0-321-11254-7",
ISBN-13 = "978-0-321-11254-5",
LCCN = "QA76.9.T48 M47 2003",
bibdate = "Wed Oct 14 08:00:43 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "\booktitle{Text Processing in Python} is an
example-driven, hands-on tutorial that carefully
teaches programmers how to accomplish numerous text
processing tasks using the Python language. Filled with
concrete examples, this book provides efficient and
effective solutions to specific text processing
problems and practical strategies for dealing with all
types of text processing challenges.",
acknowledgement = ack-nhfb,
subject = "Text processing (Computer science); Python (Computer
program language); Python (Computer program language);
Text processing (Computer science); Python
(programmeertaal); Tekstverwerking.; Programming
Languages",
tableofcontents = "1: Python Basics \\
2: Basic String Operations \\
3: Regular Expressions \\
4: Parsers and State Machines \\
5: Internet Tools and Techniques \\
App. A: Selective and Impressionistic Short Review of
Python \\
App. B: Data Compression Primer \\
App. C: Understanding Unicode \\
App. D: a State Machine for Adding Markup to Text",
}
@Article{Miller:2003:OCP,
author = "W. W. Miller and C. Sontag and J. F. Rose",
title = "{OPUS}: a {CORBA} Pipeline for {Java}, {Python}, and
{Perl} Applications",
journal = "Astronomical Society of the Pacific Conference
Series",
volume = "295",
pages = "261--264",
year = "2003",
CODEN = "????",
ISSN = "1050-3390",
bibdate = "Tue Sep 2 06:25:03 MDT 2003",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
Ingenta database",
acknowledgement = ack-nhfb,
}
@Article{Porter:2003:MDX,
author = "Brett Porter",
title = "Managing Devices with {XML-RPC}",
journal = j-DDJ,
volume = "28",
number = "4",
pages = "66, 68--70",
month = apr,
year = "2003",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Thu Jun 12 05:46:22 MDT 2003",
bibsource = "http://www.ddj.com/articles/2003/0304/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.ddj.com/documents/s=7827/ddj0304h/",
abstract = "Brett presents a client-side monitor application
(written in Python) that uses XML-RPC to monitor the
state of a simulated device.",
acknowledgement = ack-nhfb,
fjournal = "Dr. Dobb's Journal of Software Tools",
}
@Article{Prechelt:2003:SLG,
author = "L. Prechelt",
title = "Are Scripting Languages Any Good? {A} Validation of
{Perl}, {Python}, {Rexx}, and {Tcl} against {C}, {C}++,
and {Java}",
journal = "Advances in Computers",
volume = "57",
publisher = "Academic Press, Inc.",
pages = "207--271",
year = "2003",
CODEN = "????",
ISSN = "0065-2458",
bibdate = "Tue Aug 5 06:56:44 MDT 2003",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
Ingenta database",
acknowledgement = ack-nhfb,
}
@Article{Shannon:2003:ABF,
author = "Christine Shannon",
title = "Another breadth-first approach to {CS I} using
{Python}",
journal = j-SIGCSE,
volume = "35",
number = "1",
pages = "248--251",
month = jan,
year = "2003",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/792548.611980",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:56:59 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
abstract = "In an effort to serve the needs of both majors and
non-majors, the Computer Science Department at Centre
College has restructured the CS I course so that it
uses the language Python, devotes more attention to the
Internet and the World Wide Web, addresses ethical and
societal issues, and introduces students to
programmable robots and an SQL database. This diverse
course has been attractive to the students while still
maintaining a strong emphasis on 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{Stubblebine:2003:REP,
author = "Tony Stubblebine",
title = "Regular expression pocket reference",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "vi + 93",
year = "2003",
ISBN = "0-596-00415-X",
ISBN-13 = "978-0-596-00415-6",
LCCN = "QA76.9.T48 S78 2003",
bibdate = "Mon Apr 18 15:06:11 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.oreilly.com/catalog/9780596004156",
acknowledgement = ack-nhfb,
remark = "``Regular expressions for Perl, C, PHP, Python, Java,
and .NET'' --- cover.",
subject = "Text processing (Computer science); Programming
languages (Electronic computers); Syntax",
}
@Book{vanRossum:2003:IPR,
editor = "Guido van Rossum and Fred L. {Drake, Jr.}",
title = "An introduction to {Python}: release 2.2.2",
publisher = pub-NETWORK-THEORY,
address = pub-NETWORK-THEORY:adr,
pages = "ii + 115",
year = "2003",
ISBN = "0-9541617-6-9",
ISBN-13 = "978-0-9541617-6-7",
LCCN = "????",
bibdate = "Mon Jul 4 16:13:06 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE",
acknowledgement = ack-nhfb,
remark = "Reissued in 2006 as release 2.6, but with same ISBN.",
subject = "Python (Computer program language)",
}
@Book{Blaess:2004:SSL,
author = "Christophe Blaess",
title = "Scripts sous {Linux}: {Shell Bash}, {Sed}, {Awk},
{Perl}, {TCL}, {Tk}, {Python}, {Ruby}",
publisher = pub-EYROLLES,
address = pub-EYROLLES:adr,
edition = "Second",
pages = "xxi + 761",
year = "2004",
ISBN = "2-212-11405-2",
ISBN-13 = "978-2-212-11405-8",
LCCN = "QA76.76O63; QA76.7",
bibdate = "Fri Jul 01 14:51:40 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Blank:2004:PPB,
author = "Douglas Blank and Deepak Kumar and Lisa Meeden and
Holly Yanco",
title = "{Pyro}: a python-based versatile programming
environment for teaching robotics",
journal = j-JERIC,
volume = "4",
number = "3",
pages = "1--15",
month = sep,
year = "2004",
CODEN = "????",
ISSN = "1531-4278",
bibdate = "Sat Sep 17 14:21:54 MDT 2005",
bibsource = "http://www.acm.org/pubs/contents/journals/jeric/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM Journal on Educational Resources in Computing
(JERIC)",
}
@Article{Decaluwe:2004:MPB,
author = "Jan Decaluwe",
title = "{MyHDL}: a {Python}-based hardware description
language",
journal = j-LINUX-J,
volume = "2004",
number = "127",
pages = "??--??",
month = nov,
year = "2004",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Dec 24 17:46:02 MST 2005",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Gutschmidt:2004:GPP,
author = "Tom Gutschmidt",
title = "Game programming with {Python}, {Lua}, and {Ruby}",
publisher = "Premier Press",
address = "Boston, MA, USA",
pages = "xxvi + 437",
year = "2004",
ISBN = "1-59200-077-0, 1-59200-408-3 (e-book)",
ISBN-13 = "978-1-59200-077-7, 978-1-59200-408-9 (e-book)",
LCCN = "QA76.76.C672 G88 2004b",
bibdate = "Thu Apr 16 12:29:09 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/1592000770",
acknowledgement = ack-nhfb,
}
@Article{Kirby:2004:AFN,
author = "Robert C. Kirby",
title = "{Algorithm 839}: {FIAT}, a new paradigm for computing
finite element basis functions",
journal = j-TOMS,
volume = "30",
number = "4",
pages = "502--516",
month = dec,
year = "2004",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1039813.1039820",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Apr 12 06:34:31 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Much of finite element computation is constrained by
the difficulty of evaluating high-order nodal basis
functions. While most codes rely on explicit formulae
for these basis functions, we present a new approach
that allows us to construct a general class of finite
element basis functions from orthonormal polynomials
and evaluate and differentiate them at any points. This
approach relies on fundamental ideas from linear
algebra and is implemented in Python using several
object-oriented and functional programming
techniques.",
acknowledgement = ack-nhfb,
fjournal = "ACM Transactions on Mathematical Software",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Book{Lutz:2004:LP,
author = "Mark Lutz and David Ascher",
title = "Learning {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xxvi + 591",
year = "2004",
ISBN = "0-596-00281-5",
ISBN-13 = "978-0-596-00281-7",
LCCN = "QA76.73.P98 L877 2004",
bibdate = "Mon Apr 18 15:04:41 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.oreilly.com/catalog/9780596002817",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Pilgrim:2004:DP,
author = "Mark Pilgrim",
title = "Dive into {Python}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xviii + 413",
year = "2004",
ISBN = "1-59059-356-1 (paperback)",
ISBN-13 = "978-1-59059-356-1 (paperback)",
LCCN = "QA76.73.P98 P55 2004",
bibdate = "Tue Mar 10 17:27:28 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "The expert's voice in open source.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Installing Python \\
Your first Python program \\
Native datatypes \\
The power of introspection \\
Objects and object-orientation \\
Exceptions and file handling \\
Regular expressions \\
HTML processing \\
XML processing \\
Scripts and streams \\
HTTP web services \\
SOAP web services \\
Unit testing \\
Test-first programming \\
Refactoring \\
Functional programming \\
Dynamic functions \\
Performance tuning",
}
@Article{Reed:2004:RAD,
author = "David Reed",
title = "Rapid application development with {Python} and
{Glade}",
journal = j-LINUX-J,
volume = "2004",
number = "123",
pages = "??--??",
month = jul,
year = "2004",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Dec 24 17:45:58 MST 2005",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Stubblebine:2004:SHD,
author = "Tony Stubblebine and Junko Mishima",
title = "Seiki hyogen desukutoppu rifarensu: regular
expressions for {Perl}, {C}, {PHP}, {Python}, {Java},
and {.NET}",
publisher = "Orairi Japan",
address = "Tokyo, Japan",
pages = "vi + 96",
year = "2004",
ISBN = "4-87311-170-6",
ISBN-13 = "978-4-87311-170-4",
LCCN = "????",
bibdate = "Wed Oct 14 08:00:43 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Broker:2005:UPL,
author = "Oliver Br{\"o}ker and Oscar Chinellato and Roman
Geus",
title = "Using {Python} for large scale linear algebra
applications",
journal = j-FUT-GEN-COMP-SYS,
volume = "21",
number = "6",
pages = "969--979",
month = jun,
year = "2005",
CODEN = "FGSEVI",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Fri Jul 15 08:00:46 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/0167739X",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Cai:2005:PPP,
author = "Xing Cai and Hans Petter Langtangen and Halvard Moe",
title = "On the performance of the {Python} programming
language for serial and parallel scientific
computations",
journal = j-SCI-PROG,
volume = "13",
number = "1",
pages = "31--56",
month = "????",
year = "2005",
CODEN = "SCIPEV",
ISSN = "1058-9244 (print), 1875-919X (electronic)",
ISSN-L = "1058-9244",
bibdate = "Wed Sep 1 14:50:28 MDT 2010",
bibsource = "http://www.iospress.nl/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Scientific Programming",
journal-URL = "http://iospress.metapress.com/content/1058-9244",
}
@Article{Dalcin:2005:MP,
author = "Lisandro Dalc{\'\i}n and Rodrigo Paz and Mario
Storti",
title = "{MPI} for {Python}",
journal = j-J-PAR-DIST-COMP,
volume = "65",
number = "9",
pages = "1108--1115",
month = sep,
year = "2005",
CODEN = "JPDCER",
ISSN = "0743-7315 (print), 1096-0848 (electronic)",
ISSN-L = "0743-7315",
bibdate = "Fri Jul 11 20:32:33 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/07437315",
acknowledgement = ack-nhfb,
fjournal = "Journal of Parallel and Distributed Computing",
journal-URL = "http://www.sciencedirect.com/science/journal/07437315",
}
@Article{Dubois:2005:NP,
author = "Paul F. Dubois",
title = "A Nest of {Pythons}",
journal = j-COMPUT-SCI-ENG,
volume = "7",
number = "6",
pages = "81--84",
month = nov # "\slash " # dec,
year = "2005",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2005.108",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Mon Apr 3 09:37:32 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Hetland:2005:BPN,
author = "Magnus Lie Hetland",
title = "Beginning {Python}: from novice to professional",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxx + 604",
year = "2005",
ISBN = "1-59059-519-X",
ISBN-13 = "978-1-59059-519-0",
LCCN = "QA76.73.P98 H48 2005",
bibdate = "Mon Jun 26 17:17:50 MDT 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "The expert's voice in Open Source.",
subject = "Python (Computer program language)",
}
@Article{Kinder:2005:EDP,
author = "Ken Kinder",
title = "Event-driven programming with {Twisted} and {Python}",
journal = j-LINUX-J,
volume = "2005",
number = "131",
pages = "??--??",
month = mar,
year = "2005",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Dec 24 17:46:05 MST 2005",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Lutz:2005:PPR,
author = "Mark Lutz",
title = "{Python} pocket reference",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
edition = "Third",
pages = "ix + 148",
year = "2005",
ISBN = "0-596-00940-2 (paperback)",
ISBN-13 = "978-0-596-00940-3 (paperback)",
LCCN = "QA76.73.P98 L89 2005",
bibdate = "Thu Sep 22 19:02:42 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.oreilly.com/catalog/9780596009403",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Martelli:2005:PC,
editor = "Alex Martelli and Anna {Martelli Ravenscroft} and
David Ascher",
title = "{Python} cookbook",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
edition = "Second",
pages = "xxxiii + 807",
year = "2005",
ISBN = "0-596-00797-3",
ISBN-13 = "978-0-596-00797-3",
LCCN = "QA76.73.P98 P983 2005",
bibdate = "Thu Oct 6 07:23:24 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
acknowledgement = ack-nhfb,
remark = "Recipes from the Python community. Covers Python 2.3
and 2.4---Cover.",
subject = "Python (Computer program language)",
}
@Article{Orr:2005:RDP,
author = "Mike Orr",
title = "Review: {{\em Dive into Python}}",
journal = j-LINUX-J,
volume = "2005",
number = "130",
pages = "??--??",
month = feb,
year = "2005",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Dec 24 17:46:04 MST 2005",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{vanRossum:2005:PLR,
author = "Guido van Rossum and Fred L. {Drake, Jr.}",
title = "{Python} Language Reference Manual",
publisher = pub-NETWORK-THEORY,
address = pub-NETWORK-THEORY:adr,
pages = "ii + 112",
year = "2005",
ISBN = "0-9541617-8-5",
ISBN-13 = "978-0-9541617-8-1",
LCCN = "QA76.73.P98",
bibdate = "Mon Jul 04 16:02:34 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE",
URL = "http://www.network-theory.co.uk/python/language/",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{vanRossum:2005:PTI,
author = "Guido van Rossum and Fred L. {Drake, Jr.}",
title = "The {Python} Tutorial --- An Introduction to
{Python}",
publisher = pub-NETWORK-THEORY,
address = pub-NETWORK-THEORY:adr,
pages = "124 (est.)",
year = "2005",
ISBN = "0-9541617-6-9",
ISBN-13 = "978-0-9541617-6-7",
LCCN = "????",
bibdate = "Mon Jul 04 16:04:19 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Book{Wilson:2005:DCS,
author = "Greg Wilson",
title = "Data crunching: solve everyday problems using {Java},
{Python} and more",
publisher = "Pragmatic Bookshelf",
address = "Raleigh, NC, USA",
pages = "viii + 193",
year = "2005",
ISBN = "0-9745140-7-1",
ISBN-13 = "978-0-9745140-7-9",
LCCN = "QA63 .W55 2005",
bibdate = "Thu Oct 6 07:25:06 MDT 2005",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
series = "The pragmatic programmers",
acknowledgement = ack-nhfb,
subject = "Problem solving; Data processing; Java (Computer
program language); Python (Computer program language)",
}
@Book{Andersson:2006:PSN,
author = "Mats Andersson and Robert Wedin",
title = "{Python} scripting for network management:
{PyMIP--TeMIP} made simple",
howpublished = "Examensarbete",
publisher = "Lule{\aa} tekniska universitet",
address = "Skellefte{\aa}, Sweden",
year = "2006",
ISSN = "1404-5494",
bibdate = "Thu Apr 16 08:24:40 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Examensarbete, H{\"o}gskoleingenj{\"o}rsprogrammet",
URL = "http://epubl.ltu.se/1404-5494/2006/043/;
http://epubl.ltu.se/1404-5494/2006/043/LTU-HIP-EX-06043-SE.pdf",
acknowledgement = ack-nhfb,
language = "Swedish",
}
@Book{Beazley:2006:PER,
author = "David M. Beazley",
title = "{Python} essential reference",
publisher = pub-SAMS,
address = pub-SAMS:adr,
edition = "Third",
pages = "xiii + 625",
year = "2006",
ISBN = "0-672-32862-3 (paperback)",
ISBN-13 = "978-0-672-32862-6 (paperback)",
LCCN = "QA76.73.P98 B43 2006",
bibdate = "Thu Apr 16 08:47:14 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "Previous ed.: Indianapolis, Ind.: New Riders, 2001.",
subject = "Python (Computer program language)",
}
@Article{Briggs:2006:IER,
author = "Keith Briggs",
title = "Implementing exact real arithmetic in {python}, {C++}
and {C}",
journal = j-THEOR-COMP-SCI,
volume = "351",
number = "1",
pages = "74--81",
day = "14",
month = feb,
year = "2006",
CODEN = "TCSCDI",
ISSN = "0304-3975 (print), 1879-2294 (electronic)",
ISSN-L = "0304-3975",
bibdate = "Tue Mar 29 06:48:55 MDT 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/03043975",
abstract = "I discuss the design and performance issues arising in
the efficient implementation of the scaled-integer
exact real arithmetic model introduced by Boehm and
others. This system represents a real number with a
automatically controlled level of precision by a
rational with implicit denominator. I describe three
practical codes, in python, C++ and C. These allow the
convenient use of this computational paradigm in
commonly used imperative languages.",
acknowledgement = ack-nhfb,
fjournal = "Theoretical Computer Science",
journal-URL = "http://www.sciencedirect.com/science/journal/03043975",
}
@Book{Browning:2006:DLP,
author = "James Burton Browning",
title = "Design, logic, and programming with {Python}: a
hands-on approach",
publisher = "iUniverse",
address = "New York, NY, USA",
pages = "xii + 214",
year = "2006",
ISBN = "0-595-40810-9",
ISBN-13 = "978-0-595-40810-8",
LCCN = "????",
bibdate = "Thu Apr 16 09:29:02 2009",
bibsource = "http://copac.ac.uk/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
remark = "Edited by C. Anne Joyner.",
}
@InProceedings{Cai:2006:PPS,
author = "Xing Cai and Hans Petter Langtangen",
title = "Parallelizing {PDE} Solvers Using the {Python}
Programming Language",
crossref = "Bruaset:2006:NSP",
volume = "51",
pages = "295--325",
year = "2006",
DOI = "https://doi.org/10.1007/3-540-31619-1_9",
bibdate = "Fri Dec 21 16:46:42 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/content/pdf/10.1007/3-540-31619-1_9",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/3-540-31619-1",
book-URL = "http://www.springerlink.com/content/978-3-540-31619-0",
}
@Book{Dawson:2006:PPA,
author = "Mike Dawson",
title = "{Python} programming for the absolute beginner",
publisher = "Thomson Course Technology",
address = "Boston, MA, USA",
edition = "Second",
pages = "xxiv + 447",
year = "2006",
ISBN = "1-59863-112-8",
ISBN-13 = "978-1-59863-112-8",
LCCN = "QA76.73.P98 D39 2006",
bibdate = "Thu Apr 16 08:48:00 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Fettig:2006:TNP,
author = "Abe Fettig and Glyph Lefkowitz",
title = "Twisted network programming essentials",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xix + 213",
year = "2006",
ISBN = "0-596-10032-9",
ISBN-13 = "978-0-596-10032-2",
LCCN = "QA76.73.P98 F48 2005eb; QA76.73.P98",
bibdate = "Tue Aug 5 17:47:55 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596100322",
acknowledgement = ack-nhfb,
remark = "Foreword by Glyph Lefkowitz, creator of Twisted",
subject = "Python (Computer program language); Internet
programming; Computer networks; Design and
construction; Open source software",
}
@Book{Goebel:2006:BPT,
author = "John A. Goebel and Adil Hasan and Francesco Safai
Tehran",
title = "The book of {Python}: from the tip of the tongue to
the end of the tale",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "1000",
year = "2006",
ISBN = "1-59327-103-4 (paperback)",
ISBN-13 = "978-1-59327-103-9 (paperback)",
LCCN = "QA76.73.P98",
bibdate = "Thu Apr 16 09:18:13 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.tcd.ie:210/advance; z3950.gbv.de:20011/gvk",
URL = "http://www.loc.gov/catdir/toc/ecip064/2005034382.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Harrison:2006:MSP,
author = "Guy Harrison and Steven Feuerstein",
title = "{MySQL} stored procedure programming: building
high-performance web applications with {PHP}, {Perl},
{Python}, {Java} \& {.NET}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxiii + 609",
year = "2006",
ISBN = "0-596-10089-2",
ISBN-13 = "978-0-596-10089-6",
LCCN = "QA76.73.S67 H377 2006eb; QA76.73.S67",
bibdate = "Tue Aug 5 17:49:10 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596100896",
acknowledgement = ack-nhfb,
subject = "SQL (Computer program language); Database management",
}
@Article{Hinsen:2006:UBP,
author = "Konrad Hinsen and Hans Petter Langtangen and Ola
Skavhaug and {\AA}smund {\O}deg{\aa}rd",
title = "Using {BSP} and {Python} to simplify parallel
programming",
journal = j-FUT-GEN-COMP-SYS,
volume = "22",
number = "1--2",
pages = "123--157",
month = jan,
year = "2006",
CODEN = "FGSEVI",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Sat Sep 11 13:08:05 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/0167739X",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Holt:2006:IPF,
author = "Alexander Holt and Sarah Rauchas and Ian Sanders",
title = "Introducing {Python} into the first year curriculum at
{Wits}",
journal = j-SIGCSE,
volume = "38",
number = "3",
pages = "335--335",
month = sep,
year = "2006",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1140123.1140243",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:28 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
abstract = "Since 1999 the School of Computer Science (CS) at the
University of Witwatersrand (Wits) has been using
Scheme as the first programming language our students
encounter [2]. We chose Scheme because it is a language
unfamiliar to most of the first year students, so that
the students with imperative programming experience
from school would not have an advantage over those who
did not. Also, it has a simple syntax which we felt
that students without prior programming experience
could easily learn. Finally, the functional paradigm
allows a more direct mapping of mathematical concepts
to programs, which fits with the mathematical emphasis
in our curriculum.",
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{Howard:2006:MYS,
author = "Mike Howard",
title = "Maybe You Should Use {Python}",
journal = j-LOGIN,
volume = "31",
number = "5",
pages = "??--??",
month = oct,
year = "2006",
CODEN = "LOGNEM",
ISSN = "1044-6397",
ISSN-L = "1044-6397",
bibdate = "Fri Dec 7 11:34:26 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/usenix2000.bib;
https://www.usenix.org/publications/login",
URL = "https://www.usenix.org/publications/login/october-2006-volume-31-number-5/maybe-you-should-use-python",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@MastersThesis{Lacheiner:2006:EPB,
author = "Hermann Lacheiner",
title = "{Entwicklung einer auf Python basierenden Rich Client
Platform f{\"u}r Linux}. ({German}) [{Development} of a
{Python}-based {Rich Client Platform} for {Linux}]",
type = "{Diplome-Arbeit}",
school = "Universit{\"a}t Linz",
address = "Linz, Austria",
pages = "v + 86",
year = "2006",
bibdate = "Thu Apr 16 09:12:12 2009",
bibsource = "http://meteor.bibvb.ac.at/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "German",
}
@Book{Langtangen:2006:PSC,
author = "Hans Petter Langtangen",
title = "{Python} scripting for computational science",
volume = "3",
publisher = pub-SV,
address = pub-SV:adr,
edition = "Second",
pages = "xxiv + 736",
year = "2006",
DOI = "https://doi.org/10.1007/3-540-31269-2",
ISBN = "3-540-29415-5",
ISBN-13 = "978-3-540-29415-3",
LCCN = "????",
bibdate = "Thu Apr 16 08:29:23 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.bibsys.no:2100/BIBSYS",
series = "Texts in computational science and engineering",
acknowledgement = ack-nhfb,
subject = "Python",
}
@Book{Lindblad:2006:PP,
author = "Erik Lindblad",
title = "Programmering i {Python}",
publisher = pub-STUDENTLITTERATUR,
address = pub-STUDENTLITTERATUR:adr,
pages = "406",
year = "2006",
ISBN = "91-44-04520-4",
ISBN-13 = "978-91-44-04520-7",
LCCN = "????",
bibdate = "Thu Apr 16 08:22:02 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.bibsys.no:2100/BIBSYS",
acknowledgement = ack-nhfb,
language = "Swedish",
subject = "Python",
}
@Book{Lingl:2006:PKC,
author = "Gregor Lingl",
title = "{Python f{\"u}r Kids: [mit CD ; auf CD: aktuelles
Python 2.5, das Grafik-Modul xturtle und alle
Programmbeispiele]}",
publisher = "bhv, Redline",
address = "Heidelberg, Germany",
edition = "Second",
pages = "416",
year = "2006",
ISBN = "3-8266-8622-5",
ISBN-13 = "978-3-8266-8622-1",
LCCN = "????",
bibdate = "Thu Apr 16 09:07:47 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 19.95",
acknowledgement = ack-nhfb,
language = "German",
subject = "Python (Programmiersprache); Kindersachbuch; CD-ROM
f{\"u}r Kinder",
}
@Book{Lutz:2006:PP,
author = "Mark Lutz",
title = "Programming {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Third",
pages = "xlii + 1552",
year = "2006",
ISBN = "0-596-00925-9",
ISBN-13 = "978-0-596-00925-0",
LCCN = "QA76.73.P98 L88 2006eb; QA76.73.P98 L88 2006;
QA76.73.P98",
bibdate = "Tue Aug 5 17:45:53 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596009250",
abstract = "This third edition has been updated to reflect current
best practices and the abundance of changes introduced
by the latest version of the language, Python 2.5.
Whether you're a novice or an advanced practitioner,
you'll find this refreshed book more than lives up to
its reputation. Programming Python, 3rd Edition,
teaches you the right way to code. It explains Python
language syntax and programming techniques in a clear
and concise manner, with numerous examples that
illustrate both correct usage and common idioms. By
reading this comprehensive guide, you'll learn how to
apply Python in real-world problem domains such as: GUI
programming, Internet scripting, parallel processing,
database management, networked applications. You'll
also learn how to use the Python language in
realistically scaled programs--concepts such as
Object-Oriented Programming (OOP) and code reuse are
recurring side themes throughout this text.",
acknowledgement = ack-nhfb,
remark = "Previous edition 2001.",
subject = "Python (Computer program language)",
tableofcontents = "Part I: The Beginning \\
1: Introducing Python / 3 \\
``And Now for Something Completely Different'' / 3 \\
Python Philosophy 101 / 3 \\
The Life of Python / 8 \\
Signs of the Python Times / 9 \\
The Compulsory Features List / 15 \\
What's Python Good For? / 17 \\
What's Python Not Good For? / 20 \\
Truth in Advertising / 22 \\
2: a Sneak Preview / 24 \\
``Programming Python: The Short Story'' / 24 \\
The Task / 24 \\
Step 1: Representing Records / 25 \\
Step 2: Storing Records Persistently / 35 \\
Step 3: Stepping Up to OOP / 47 \\
Step 4: Adding Console Interaction / 57 \\
Step 5: Adding a GUI / 60 \\
Step 6: Adding a Web Interface / 70 \\
The End of the Demo / 86 \\
Part II: System Programming \\
3: System Tools / 89 \\
``The os.path to Knowledge'' / 89 \\
System Scripting Overview / 90 \\
Introducing the sys Module / 100 \\
Introducing the os Module / 104 \\
Script Execution Context / 113 \\
Current Working Directory / 114 \\
Command-Line Arguments / 117 \\
Shell Environment Variables / 119 \\
Standard Streams / 123 \\
4: File and Directory Tools / 142 \\
``Erase Your Hard Drive in Five Easy Steps!'' / 142 \\
File Tools / 142 \\
Directory Tools / 159 \\
5: Parallel System Tools / 175 \\
``Telling the Monkeys What to Do'' / 175 \\
Forking Processes / 176 \\
Threads / 183 \\
Program Exits / 201 \\
Interprocess Communication / 208 \\
Pipes / 209 \\
Signals / 218 \\
Other Ways to Start Programs / 221 \\
A Portable Program-Launch Framework / 230 \\
Other System Tools / 235 \\
6: System Examples: Utilities / 236 \\
``Splits and Joins and Alien Invasions'' / 236 \\
Splitting and Joining Files / 237 \\
Generating Forward-Link Web Pages / 247 \\
A Regression Test Script / 251 \\
Packing and Unpacking Files / 254 \\
Automated Program Launchers / 265 \\
7: System Examples: Directories / 294 \\
``The Greps of Wrath'' / 294 \\
Fixing DOS Line Ends / 294 \\
Fixing DOS Filenames / 307 \\
Searching Directory Trees / 311 \\
Visitor: Walking Trees Generically / 317 \\
Copying Directory Trees / 339 \\
Deleting Directory Trees / 345 \\
Comparing Directory Trees / 349 \\
Part III: GUI Programming \\
8: Graphical User Interfaces / 365 \\
``Here's Looking at You, Kid'' / 365 \\
Python GUI Development Options / 367 \\
Tkinter Overview / 371 \\
Climbing the GUI Learning Curve / 375 \\
Tkinter Coding Basics / 377 \\
Tkinter Coding Alternatives / 380 \\
Adding Buttons and Callbacks / 386 \\
Adding User-Defined Callback Handlers / 389 \\
Adding Multiple Widgets / 401 \\
Customizing Widgets with Classes / 406 \\
Reusable GUI Components with Classes / 408 \\
The End of the Tutorial / 414 \\
Python/Tkinter for Tcl/Tk Converts / 416 \\
9: a Tkinter Tour, Part 1 / 418 \\
``Widgets and Gadgets and GUIs, Oh My!'' / 418 \\
Configuring Widget Appearance / 419 \\
Top-Level Windows / 422 \\
Dialogs / 427 \\
Binding Events / 443 \\
Message and Entry / 448 \\
Checkbutton, Radiobutton, and Scale / 456 \\
Running GUI Code Three Ways / 468 \\
Images / 478 \\
Viewing and Processing Images with PIL / 483 \\
10: a Tkinter Tour, Part 2 / 499 \\
``On Today's Menu: Spam, Spam, and Spam'' / 499 \\
Menus / 499 \\
Listboxes and Scrollbars / 511 \\
Text / 517 \\
Canvas / 529 \\
Grids / 543 \\
Time Tools, Threads, and Animation / 559 \\
The End of the Tour / 570 \\
The PyDemos and PyGadgets Launchers / 571 \\
11: GUI Coding Techniques / 583 \\
``Building a Better Mouse Trap'' / 583 \\
GuiMixin: Common Tool Mixin Classes / 584 \\
GuiMaker: Automating Menus and Toolbars / 586 \\
ShellGui: GUIs for Command-Line Tools / 597 \\
GuiStreams: Redirecting Streams to Widgets / 605 \\
Reloading Callback Handlers Dynamically / 609 \\
Wrapping Up Top-Level Window Interfaces / 611 \\
GUIs, Threads, and Queues / 616 \\
More Ways to Add GUIs to Non-GUI Code / 624 \\
12: Complete GUI Programs / 636 \\
``Python, Open Source, and Camaros'' / 636 \\
PyEdit: a Text Editor Program/Object / 638 \\
PyPhoto: an Image Viewer and Resizer / 657 \\
PyView: an Image and Notes Slideshow / 668 \\
PyDraw: Painting and Moving Graphics / 676 \\
PyClock: an Analog/Digital Clock Widget / 685 \\
PyToe: a Tic-Tac-Toe Game Widget / 700 \\
Where to Go from Here / 704 \\
Part IV: Internet Programming \\
13: Network Scripting / 709 \\
``Tune In, Log On, and Drop Out'' / 709 \\
Plumbing the Internet / 713 \\
Socket Programming / 720 \\
Handling Multiple Clients / 732 \\
A Simple Python File Server / 753 \\
14: Client-Side Scripting / 766 \\
``Socket to Me!'' / 766 \\
FTP: Transferring Files over the Net / 767 \\
Processing Internet Email / 808 \\
POP: Fetching Email / 809 \\
SMTP: Sending Email / 817 \\
email: Parsing and Composing Mails / 826 \\
pymail: a Console-Based Email Client / 831 \\
The mailtools Utility Package / 839 \\
NNTP: Accessing Newsgroups / 862 \\
HTTP: Accessing Web Sites / 866 \\
Module urllib Revisited / 869 \\
Other Client-Side Scripting Options / 874 \\
15: The PyMailGUI Client / 876 \\
``Use the Source, Luke'' / 876 \\
A PyMailGUI Demo / 883 \\
PyMailGUI Implementation / 911 \\
16: Server-Side Scripting / 962 \\
``Oh What a Tangled Web We Weave'' / 962 \\
What's a Server-Side CGI Script? / 962 \\
Running Server-Side Examples / 966 \\
Climbing the CGI Learning Curve / 971 \\
Saving State Information in CGI Scripts / 1011 \\
The Hello World Selector / 1020 \\
Refactoring Code for Maintainability / 1029 \\
More on HTML and URL Escapes / 1038 \\
Transferring Files to Clients and Servers / 1046 \\
17: The PyMailCGI Server / 1063 \\
``Things to Do When Visiting Chicago'' / 1063 \\
The PyMailCGI Web Site / 1064 \\
The Root Page / 1070 \\
Sending Mail by SMTP / 1073 \\
Reading POP Email / 1080 \\
Processing Fetched Mail / 1097 \\
Utility Modules / 1106 \\
CGI Script Trade-Offs / 1121 \\
18: Advanced Internet Topics / 1129 \\
``Surfing on the Shoulders of Giants'' / 1129 \\
Zope: a Web Application Framework / 1130 \\
HTMLgen: Web Pages from Objects / 1145 \\
Jython: Python for Java / 1150 \\
Grail: a Python-Based Web Browser / 1161 \\
XML Processing Tools / 1164 \\
Windows Web Scripting Extensions / 1169 \\
Python Server Pages / 1186 \\
Rolling Your Own Servers in Python / 1189 \\
And Other Cool Stuff / 1190 \\
Part V: Tools and Techniques \\
19: Databases and Persistence / 1197 \\
``Give Me an Order of Persistence, but Hold the
Pickles'' / 1197 \\
Persistence Options in Python / 1197 \\
DBM Files / 1198 \\
Pickled Objects / 1201 \\
Shelve Files / 1207 \\
The ZODB Object-Oriented Database / 1216 \\
SQL Database Interfaces / 1227 \\
PyForm: a Persistent Object Viewer / 1254 \\
20: Data Structures / 1280 \\
``Roses Are Red, Violets Are Blue; Lists Are Mutable,
and So Is Set Foo'' / 1280 \\
Implementing Stacks / 1281 \\
Implementing Sets / 1293 \\
Subclassing Built-In Types / 1304 \\
Binary Search Trees / 1307 \\
Graph Searching / 1312 \\
Reversing Sequences / 1316 \\
Permuting Sequences / 1318 \\
Sorting Sequences / 1320 \\
Data Structures Versus Python Built-Ins / 1322 \\
PyTree: a Generic Tree Object Viewer / 1323 \\
21: Text and Language / 1336 \\
``See Jack Hack. Hack, Jack, Hack'' / 1336 \\
Strategies for Parsing Text in Python / 1336 \\
String Method Utilities / 1337 \\
Regular Expression Pattern Matching / 1346 \\
Advanced Language Tools / 1357 \\
Handcoded Parsers / 1359 \\
PyCalc: a Calculator Program/Object / 1377 \\
Part VI: Integration \\
22: Extending Python / 1405 \\
``I Am Lost at C'' / 1405 \\
Integration Modes / 1406 \\
C Extensions Overview / 1408 \\
A Simple C Extension Module / 1409 \\
Extension Module Details / 1412 \\
The SWIG Integration Code Generator / 1422 \\
Wrapping C Environment Calls / 1428 \\
A C Extension Module String Stack / 1434 \\
A C Extension Type String Stack / 1439 \\
Wrapping C++ Classes with SWIG / 1451 \\
Other Extending Tools / 1460 \\
23: Embedding Python / 1463 \\
``Add Python. Mix Well. Repeat.'' / 1463 \\
C Embedding API Overview / 1463 \\
Basic Embedding Techniques / 1466 \\
Registering Callback Handler Objects / 1478 \\
Using Python Classes in C / 1483 \\
A High-Level Embedding API: ppembed / 1486 \\
Other Integration Topics / 1499 \\
24: Conclusion: Python and the Development Cycle / 1507
\\
``That's the End of the Book, Now Here's the Meaning of
Life'' / 1507 \\
``Something's Wrong with the Way We Program Computers''
/ 1507 \\
The ``Gilligan Factor'' / 1508 \\
Doing the Right Thing / 1509 \\
Enter Python / 1510 \\
But What About That Bottleneck? / 1512 \\
On Sinking the Titanic / 1516 \\
So What's ``Python: The Sequel''? / 1518 \\
In the Final Analysis / 1519",
}
@Book{Martelli:2006:PN,
author = "Alex Martelli",
title = "{Python} in a nutshell",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xiv + 695",
year = "2006",
ISBN = "0-596-10046-9",
ISBN-13 = "978-0-596-10046-9",
LCCN = "QA76.73.P98 M37 2006eb; QA76.73.P98 M37 2006;
QA76.73.P98",
bibdate = "Tue Aug 5 17:48:02 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596100469",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Martelli:2006:PPE,
author = "Alex Martelli and Anna Martelli Ravensroft and David
Ascher",
title = "{Python} par l'exemple",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxv + 525",
year = "2006",
ISBN = "2-84177-379-5",
ISBN-13 = "978-2-84177-379-4",
LCCN = "????",
bibdate = "Thu Apr 16 08:54:26 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "French translation by {\'E}ric Jacoboni.",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{Maruch:2006:PD,
author = "Stef Maruch and Aahz Maruch",
title = "{Python} for dummies",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xx + 410",
year = "2006",
ISBN = "0-471-77864-8 (paperback)",
ISBN-13 = "978-0-471-77864-6 (paperback)",
LCCN = "QA76.73.P98 M374 2006",
bibdate = "Thu Apr 16 08:38:44 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/enhancements/fy0741/2006924031-b.html;
http://www.loc.gov/catdir/enhancements/fy0741/2006924031-d.html;
http://www.loc.gov/catdir/toc/fy0713/2006924031.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Article{Nagel:2006:EPY,
author = "William Nagel",
title = "Embedding {Python} in your {C} programs",
journal = j-LINUX-J,
volume = "2006",
number = "142",
pages = "8--8",
month = feb,
year = "2006",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Mar 9 06:03:10 MST 2006",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Radenski:2006:PFL,
author = "Atanas Radenski",
title = "``{Python} first'': a lab-based digital introduction
to computer science",
journal = j-SIGCSE,
volume = "38",
number = "3",
pages = "197--201",
month = sep,
year = "2006",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1140123.1140177",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:28 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
abstract = "The emphasis on Java and other commercial languages in
CS1 has established the perception of computer science
as a dry and technically difficult discipline among
undecided students who are still seeking careers. This
may not be a big problem during an enrolment boom, but
in times of decreased enrolment such negative
perception may have a devastating effect on computer
science programs and therefore should not be ignored.
We have made our CS1 course offerings more attractive
to students (1) by introducing an easy to learn yet
effective scripting language --- Python, (2) by making
all course resources available in a comprehensive
online study pack, and (3) by offering an extensive set
of detailed and easy to follow self-guided labs. Our
custom-designed online study pack comprises a wealth of
new, original learning modules: extensive e-texts,
detailed self-guided labs, numerous sample programs,
quizzes, and slides. Our recent student survey
demonstrates that students like and prefer Python as a
first language and that they also perceive the online
study pack as very beneficial. Our ``Python First''
course, originally required for computer science
majors, has been so well received that it has been
recently approved as a general education science
elective, thus opening new recruitment opportunities
for the computer science major. Our ``Python First''
digital pack is published online at
http://studypack.com.",
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{Ranum:2006:SAT,
author = "David Ranum and Bradley Miller and John Zelle and Mark
Guzdial",
title = "Successful approaches to teaching introductory
computer science courses with {Python}",
journal = j-SIGCSE,
volume = "38",
number = "1",
pages = "396--397",
month = mar,
year = "2006",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1124706.1121465",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:23 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
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{Rickett:2006:RPF,
author = "Christopher D. Rickett and Sung-Eun Choi and Craig E.
Rasmussen and Matthew J. Sottile",
title = "Rapid prototyping frameworks for developing scientific
applications: a case study",
journal = j-J-SUPERCOMPUTING,
volume = "36",
number = "2",
pages = "123--134",
month = may,
year = "2006",
CODEN = "JOSUED",
DOI = "https://doi.org/10.1007/s11227-006-7953-6",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Wed Jul 9 17:32:28 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=36&issue=2&spage=123",
acknowledgement = ack-nhfb,
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
keywords = "CCA; Components; Python",
}
@Book{Schroeder:2006:VTO,
author = "Will Schroeder and Ken Martin and Bill Lorensen",
title = "The visualization toolkit: an object-oriented approach
to {3D} graphics [visualize data in {3D} --- medical,
engineering or scientific; build your own applications
with {C}++, Tcl, Java or Python; includes source code
for {VTK} (supports {UNIX}, Windows and Mac)]",
publisher = "Kitware",
address = "Clifton Park, NY",
edition = "Fourth",
pages = "xvi + 512",
year = "2006",
ISBN = "1-930934-19-X",
ISBN-13 = "978-1-930934-19-1",
LCCN = "????",
bibdate = "Thu Apr 16 09:20:47 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.bibsys.no:2100/BIBSYS",
acknowledgement = ack-nhfb,
subject = "Visualisering; Datamaskinassistert presentasjon;
Python",
}
@Article{Stelter:2006:BHA,
author = "Fred Stelter",
title = "Building a home automation and security system with
{Python}",
journal = j-LINUX-J,
volume = "2006",
number = "142",
pages = "4--4",
month = feb,
year = "2006",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Thu Mar 9 06:03:10 MST 2006",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Tanimoto:2006:IPA,
author = "Steven L. Tanimoto",
title = "Introduction to {Python} for Artificial Intelligence",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "????",
year = "2006",
ISBN = "????",
ISBN-13 = "????",
LCCN = "????",
bibdate = "Tue Mar 07 16:44:55 2006",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
price = "US\$19.00",
URL = "http://www.computer.org/portal/pages/ieeecs/ReadyNotes/tanimotoabstract.html",
acknowledgement = ack-nhfb,
}
@Book{Telles:2006:PPC,
author = "Matthew A. Telles",
title = "{Python} power!: the comprehensive guide",
publisher = "Thomson Course Technology PTR",
address = "Boston, MA, USA",
pages = "xx + 508",
year = "2006",
ISBN = "1-59863-158-6",
ISBN-13 = "978-1-59863-158-6",
LCCN = "QA76.73.P98 T45 2006",
bibdate = "Thu Apr 16 08:20:41 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "Reissued in 2008 with same ISBN.",
subject = "Python (Computer program language)",
}
@Book{Weigend:2006:OPP,
author = "Michael Weigend",
title = "{Objektorientierte Programmierung mit Python:
[Klassen, Objekte, Vererbung und Polymorphie praktisch
angewendet; XML, GUI-Programmierung, Threads und
CGI-Scripting; {\"U}bungen mit Musterl{\"o}sungen zu
jedem Kapitel]}",
publisher = "mitp",
address = "Bonn, Germany",
edition = "Third",
pages = "700",
year = "2006",
ISBN = "3-8266-1660-X",
ISBN-13 = "978-3-8266-1660-0",
LCCN = "????",
bibdate = "Thu Apr 16 09:07:41 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 36.95",
series = "Programmierung",
URL = "http://www.gbv.de/dms/ilmenau/toc/510475221.PDF",
acknowledgement = ack-nhfb,
subject = "Python <Programmiersprache>",
}
@Book{Weigend:2006:PGP,
author = "Michael Weigend",
title = "{Python Ge-Packt: [schneller Zugriff auf Module,
Klassen und Funktionen; XML, Tkinter, Datenbanken,
Internet-Programmierung; objektorientierte
Programmierung und New-Style-Klassen]}",
publisher = "mitp",
address = "Heidelberg, Germany",
edition = "Third",
pages = "618",
year = "2006",
ISBN = "3-8266-1659-6",
ISBN-13 = "978-3-8266-1659-4",
LCCN = "????",
bibdate = "Thu Apr 16 09:01:14 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 17.95",
series = "Ge-Packte Referenz",
URL = "http://www.gbv.de/dms/bsz/toc/bsz254799760inh.pdf",
acknowledgement = ack-nhfb,
language = "German",
subject = "Python 2.5",
}
@Book{Ziade:2006:PP,
author = "Tarek Ziad{\'e}",
title = "Programmation {Python}",
publisher = pub-EYROLLES,
address = pub-EYROLLES:adr,
pages = "xxxviii + 537",
year = "2006",
ISBN = "2-212-11677-2",
ISBN-13 = "978-2-212-11677-9",
LCCN = "????",
bibdate = "Thu Apr 16 08:48:15 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "French",
}
@Article{Backer:2007:CPE,
author = "Arnd B{\"a}cker",
title = "Computational Physics Education with {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "30--33",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.48",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Bienstman:2007:PNR,
author = "Peter Bienstman and Lieven Vanholme and Wim Bogaerts
and Pieter Dumon and Peter Vandersteegen",
title = "{Python} in Nanophotonics Research",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "46--47",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.59",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Borcherds:2007:PLC,
author = "P. H. Borcherds",
title = "{Python}: a language for computational physics",
journal = j-COMP-PHYS-COMM,
volume = "177",
number = "1--2",
pages = "199--201",
month = jul,
year = "2007",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2007.02.019",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Feb 13 23:42:20 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465507000732",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Chun:2007:ACPa,
author = "Wesley J. Chun",
title = "Au coeur de {Python}: Notions fondamentales.
({French}) [{Core Python}: Fundamental ideas]",
publisher = "CampusPress",
address = "Paris, France",
pages = "xxviii + 645",
year = "2007",
ISBN = "2-7440-2148-2",
ISBN-13 = "978-2-7440-2148-0",
LCCN = "????",
bibdate = "Thu Apr 16 09:56:12 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{Chun:2007:ACPb,
author = "Wesley J. Chun",
title = "Au coeur de {Python}: Notions avanc{\'e}es. ({French})
[{Core Python}: Advanced ideas]",
publisher = "CampusPress",
address = "Paris, France",
pages = "xxii + 337",
year = "2007",
ISBN = "2-7440-2195-4",
ISBN-13 = "978-2-7440-2195-4",
LCCN = "????",
bibdate = "Thu Apr 16 09:56:12 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{Chun:2007:CPP,
author = "Wesley J. Chun",
title = "Core {Python} programming",
publisher = pub-PH,
address = pub-PH:adr,
edition = "Second",
pages = "xxxvii + 1077",
year = "2007",
ISBN = "0-13-226993-7 (paperback)",
ISBN-13 = "978-0-13-226993-3 (paperback)",
LCCN = "QA76.73.P98 C48 2007",
bibdate = "Thu Apr 16 10:01:59 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Prentice Hall core series",
URL = "http://www.loc.gov/catdir/toc/ecip0615/2006019559.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "1: Welcome to Python! \\
2: Getting started \\
3: Python basics \\
4: Python objects \\
5: Numbers \\
6: Sequences : strings, lists, and tuples \\
7: Mapping and set types \\
8: Conditionals and loops \\
9: Files and input/output \\
10: Errors and exceptions \\
11: Functions and functional programming \\
12: Modules \\
13: Object-oriented programming \\
14: Execution environment \\
15: Regular expressions \\
16: Network programming \\
17: Internet client programming \\
18: Multithreaded programming \\
19: GUI programming \\
20: Web programming \\
21: Database programming \\
22: Extending Python \\
23: Miscellaneous",
}
@Article{Cooper:2007:ERH,
author = "Jonathan Cooper and Steve McKeever",
title = "Experience report: a {Haskell} interpreter for
{cellML}",
journal = j-SIGPLAN,
volume = "42",
number = "9",
pages = "247--250",
month = sep,
year = "2007",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1291151.1291190",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Jun 18 10:59:28 MDT 2008",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "In this paper we present our use of functional
programming (FP), specifically Haskell, to provide an
operational semantics for a domain-specific language,
CellML, that describes mathematical models of
biological processes. We analyse the benefits and
shortcomings of this approach, in comparison with other
semantic definitions for CellML.\par
It is our claim that using FP for our semantics results
in a more concise and useful artifact for describing
what such a model means. The use of lazy evaluation
removes the need to explicitly determine an evaluation
order for the model, resulting in a more elegant
interpreter. Crucially, using FP enables us to prove
the correctness of optimisation techniques for such
models. This gives us more confidence in scientific
deductions from simulation results. We compare the
Python implementation of these optimisation techniques
with our use of Haskell in proving their correctness.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "cellML; Haskell",
}
@Book{Daly:2007:NGW,
author = "Liza Daly",
title = "Next-generation web frameworks in {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
year = "2007",
ISBN = "0-596-51371-2",
ISBN-13 = "978-0-596-51371-9",
LCCN = "QA76.73.P98 L59 2007eb; QA76.73.P98",
bibdate = "Tue Aug 5 17:55:28 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596513719",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Dayley:2007:PPE,
author = "Brad Dayley",
title = "{Python} phrasebook: essential code and commands",
publisher = pub-SAMS,
address = pub-SAMS:adr,
pages = "v + 275",
year = "2007",
ISBN = "0-672-32910-7 (paperback)",
ISBN-13 = "978-0-672-32910-4 (paperback)",
LCCN = "QA76.73.P98 D395 2007",
bibdate = "Thu Apr 16 08:47:38 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Developer's library",
URL = "http://www.loc.gov/catdir/toc/fy0706/2006922308.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Terminology",
}
@Book{Dayley:2007:PTC,
author = "Brad Dayley",
title = "{Python} in tasca: codice e commandi in tasca",
publisher = "Pearson Education",
address = "Milano, Italy",
pages = "vi + 277",
year = "2007",
ISBN = "88-7192-405-3",
ISBN-13 = "978-88-7192-405-2",
LCCN = "????",
bibdate = "Thu Apr 16 10:29:01 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "Italian",
}
@Article{Dubois:2007:GEI,
author = "Paul F. Dubois",
title = "{Guest Editor}'s Introduction: {Python}: Batteries
Included",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "7--9",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.51",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/comp/mags/cs/2007/03/c3007.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Goldwasser:2007:INP,
author = "Michael H. Goldwasser and David Letscher",
title = "Introducing network programming into a {CS1} course",
journal = j-SIGCSE,
volume = "39",
number = "3",
pages = "19--22",
month = sep,
year = "2007",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1269900.1268793",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:36 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of the 12th Annual SIGCSE Conference on
Innovation and Technology in Computer Science Education
(ITiCSE'07).",
abstract = "Incorporating advanced programming concepts into an
introductory programming course has to be done
carefully to avoid overwhelming the students. We
describe our experiences doing network programming in a
CS1 course taught in Python. The simplicity of the
built-in libraries allowed a fair amount of networking
to be introduced in a week-long module of the course.
In this short time we had the students writing both
multithreaded clients and servers.",
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{Goldwasser:2007:TOO,
author = "Michael H. Goldwasser and David Letscher",
title = "Teaching object-oriented programming in {Python}",
journal = j-SIGCSE,
volume = "39",
number = "3",
pages = "365--366",
month = sep,
year = "2007",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1269900.1268937",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:36 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of the 12th Annual SIGCSE Conference on
Innovation and Technology in Computer Science Education
(ITiCSE'07).",
abstract = "Python's use in education has grown rapidly, due to
its elegantly simple syntax. Though often viewed as a
``scripting language,'' Python is a fully
object-oriented language with an extremely consistent
object model and a rich set of built-in classes. In
this tutorial, we share our experiences using Python in
the context of an object-oriented CS1 course. We will
begin with an overview of the language, with particular
emphasis on the object-orientation. We then present
several coherent teaching strategies and a variety of
graphical and non-graphical projects. Both new and
experienced Python users are welcome.",
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{Greenfield:2007:RSP,
author = "Perry Greenfield",
title = "Reaching for the Stars with {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "38--40",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.62",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Harris:2007:GPL,
author = "Andy Harris",
title = "Game programming: the {L Line}: the express line to
learning",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxv + 570",
year = "2007",
ISBN = "0-470-06822-1 (paperback)",
ISBN-13 = "978-0-470-06822-9 (paperback)",
LCCN = "QA76.76.C672",
bibdate = "Thu Apr 16 10:36:13 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
URL = "http://www.loc.gov/catdir/enhancements/fy0741/2006936755-b.html;
http://www.loc.gov/catdir/enhancements/fy0741/2006936755-d.html;
http://www.loc.gov/catdir/enhancements/fy0741/2006936755-t.html",
acknowledgement = ack-nhfb,
subject = "Computer games; Programming; Python",
}
@Article{Hinsen:2007:PSP,
author = "Konrad Hinsen",
title = "Parallel Scripting with {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "6",
pages = "82--89",
month = nov # "\slash " # dec,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.117",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:40 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Krauss:2007:PMM,
author = "Ryan W. Krauss and Wayne J. Book",
title = "A {Python} Module for Modeling and Control Design of
Flexible Robots",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "41--45",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.44",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Langtangen:2007:PSC,
author = "Hans Petter Langtangen",
title = "{Python} scripting for computational science",
volume = "3",
publisher = pub-SV,
address = pub-SV:adr,
edition = "Third",
pages = "????",
year = "2007",
ISBN = "3-540-73915-7",
ISBN-13 = "978-3-540-73915-9",
LCCN = "????",
bibdate = "Thu Apr 16 10:03:45 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Texts in computational science and engineering",
acknowledgement = ack-nhfb,
}
@Article{Luszczek:2007:HPD,
author = "Piotr Luszczek and Jack Dongarra",
title = "High Performance Development for High End Computing
With {Python Language Wrapper (PLW)}",
journal = j-IJHPCA,
volume = "21",
number = "3",
pages = "360--369",
month = aug,
year = "2007",
CODEN = "IHPCFL",
DOI = "https://doi.org/10.1177/1094342007078444",
ISSN = "1094-3420 (print), 1741-2846 (electronic)",
ISSN-L = "1094-3420",
bibdate = "Tue Aug 31 09:59:45 MDT 2010",
bibsource = "http://hpc.sagepub.com/content/21/3.toc;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://hpc.sagepub.com/content/21/3/360.full.pdf+html",
acknowledgement = ack-nhfb,
journal-URL = "http://hpc.sagepub.com/content/by/year",
}
@Book{Lutz:2007:EPM,
author = "Mark Lutz and David Ascher and Dinu C.. Gherman",
title = "{Einf{\"u}hrung in Python: [moderne OO-Programmierung;
behandelt Python 2.5]}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xxvii + 624",
year = "2007",
ISBN = "3-89721-488-1",
ISBN-13 = "978-3-89721-488-0",
LCCN = "????",
bibdate = "Thu Apr 16 10:09:57 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 39.90",
URL = "http://www.gbv.de/dms/ilmenau/toc/527924601.PDF",
acknowledgement = ack-nhfb,
language = "German",
}
@Article{Mardal:2007:UPS,
author = "Kent-Andre Mardal and Ola Skavhaug and Glenn T. Lines
and Gunnar A. Staff and {\AA}smund {\O}deg{\aa}rd",
title = "Using {Python} to Solve Partial Differential
Equations",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "48--51",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.64",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Martelli:2007:PC,
author = "Alex Martelli",
title = "{Python} en concentr{\'e}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xvi + 802",
year = "2007",
ISBN = "2-84177-452-X",
ISBN-13 = "978-2-84177-452-4",
LCCN = "????",
bibdate = "Thu Apr 16 09:49:46 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "French translation by {\'E}ric Jacoboni and Yann
Serra.",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{McGugan:2007:BGD,
author = "Will McGugan",
title = "Beginning game development with {Python} and {Pygame}:
from novice to professional",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxiii + 316",
year = "2007",
DOI = "https://doi.org/10.1007/978-1-4302-0325-4",
ISBN = "1-59059-872-5",
ISBN-13 = "978-1-59059-872-6",
LCCN = "????",
bibdate = "Thu Apr 16 10:36:14 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "The expert's voice in open source",
acknowledgement = ack-nhfb,
}
@Book{McGuire:2007:GSP,
author = "Paul McGuire",
title = "Getting started with {{\tt pyparsing}}",
publisher = pub-ORA,
address = pub-ORA:adr,
year = "2007",
ISBN = "0-596-51423-9",
ISBN-13 = "978-0-596-51423-5",
LCCN = "QA76.76.A65 M33 2007eb; QA76.76.A65",
bibdate = "Tue Aug 5 17:57:21 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
series = "O'Reilly shortcuts",
URL = "http://www.oreilly.com/catalog/9780596514235",
acknowledgement = ack-nhfb,
subject = "Application software; Python (Computer program
language)",
}
@Book{Miller:2007:CSP,
author = "Bradley N. Miller and David L. Ranum",
title = "Computer science: the {Python} programming language",
publisher = "Jones and Bartlett Publishers",
address = "Sudbury, MA, USA",
pages = "59",
year = "2007",
ISBN = "0-7637-4316-X",
ISBN-13 = "978-0-7637-4316-1",
LCCN = "QA76.73.P98 M537 2007",
bibdate = "Thu Apr 16 10:04:41 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Article{Millman:2007:AFM,
author = "K. Jarrod Millman and Matthew Brett",
title = "Analysis of Functional Magnetic Resonance Imaging in
{Python}",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "52--55",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.46",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Moore:2007:PPF,
author = "Dana Moore and Raymond Budd and William Wright",
title = "Professional {Python} frameworks: {Web 2.0}
programming with {Django} and {TurboGears}",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxvii + 420",
year = "2007",
ISBN = "0-470-13809-2 (paperback)",
ISBN-13 = "978-0-470-13809-0 (paperback)",
LCCN = "TK5105.888 .M663 2007",
bibdate = "Thu Apr 16 09:37:39 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Wrox professional guides",
URL = "http://www.loc.gov/catdir/enhancements/fy0741/2007032138-d.html;
http://www.loc.gov/catdir/enhancements/fy0741/2007032138-t.html;
http://www.loc.gov/catdir/enhancements/fy0804/2007032138-b.html",
acknowledgement = ack-nhfb,
subject = "Web site development; Python (Computer program
language)",
}
@Article{Myers:2007:PEC,
author = "Christopher R. Myers and James P. Sethna",
title = "{Python} for Education: Computational Methods for
Nonlinear Systems",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "75--79",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.56",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Myers:2007:PUS,
author = "Christopher R. Myers and Ryan N. Gutenkunst and James
P. Sethna",
title = "{Python} Unleashed on Systems Biology",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "34--37",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.60",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Nilsen:2007:MIQ,
author = "Jon Kristian Nilsen",
title = "{MontePython}: Implementing Quantum {Monte Carlo}
using {Python}",
journal = j-COMP-PHYS-COMM,
volume = "177",
number = "10",
pages = "799--814",
day = "15",
month = nov,
year = "2007",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2007.06.013",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Feb 13 23:42:26 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465507003141",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Nilsen:2007:PSC,
author = "Jon K. Nilsen",
title = "{Python} in scientific computing: Applications to
{Bose--Einstein} condensates",
journal = j-COMP-PHYS-COMM,
volume = "177",
number = "1--2",
pages = "45--45",
month = jul,
year = "2007",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2007.02.093",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Feb 13 23:42:20 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465507001312",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Oliphant:2007:PSC,
author = "Travis E. Oliphant",
title = "{Python} for Scientific Computing",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "10--20",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.58",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Perez:2007:ISI,
author = "Fernando P{\'e}rez and Brian E. Granger",
title = "{IPython}: a System for Interactive Scientific
Computing",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "21--29",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.53",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Ramm:2007:RWA,
author = "Mark Ramm and Kevin Dangoor and Gigi Sayfan",
title = "Rapid {Web} applications with {TurboGears}: using
{Python} to create {Ajax}-powered sites",
publisher = pub-PH,
address = pub-PH:adr,
pages = "xxvii + 472",
year = "2007",
ISBN = "0-13-243388-5 (paperback)",
ISBN-13 = "978-0-13-243388-4 (paperback)",
LCCN = "TK5105.888 .R355 2007",
bibdate = "Thu Apr 16 10:13:01 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Prentice Hall open source software development
series",
acknowledgement = ack-nhfb,
subject = "Web site development; Python (Computer program
language); TurboGears (Computer file); Ajax (Web site
development technology)",
tableofcontents = "Preface xxiii \\
Acknowledgments xxv \\
Part I: TurboGears Fundamentals \\
Chapter 1: Introduction to TurboGears / 3 \\
Chapter 2 Getting Started with TurboGears / 13 \\
Chapter 3: The Architecture of a TurboGears Application
/ 25 \\
Part II: Building a Simple TurboGears Application \\
Chapter 4: Creating a Simple Application / 43 \\
Chapter 5: Enhancing Our Bookmark Application / 59 \\
Part III: Exploring a Real World TurboGears Application
\\
Chapter 6: Exploring More Complex Models in WhatWhat
Status / 83 \\
Chapter 7: Controllers, Views, and JavaScript in the
WhatWhat Status / 97 \\
Chapter 8: RSS, Cookies, and Dynamic Views in WhatWhat
Status / 115 \\
Chapter 9: Ajax and WhatWhat Status Projects / 133 \\
Part IV: SQLObject and TurboGears Models \\
Chapter 10: SQLObject Basics / 151 \\
Chapter 11: Mastering SQLObject / 165 \\
Chapter 12: Customizing SQLObject Behavior / 183 \\
Part V: TurboGears View Technologies \\
Chapter 13: Dynamic Templates with Kid / 209 \\
Chapter 14: Creating Better JavaScript with MochiKit /
225 \\
Chapter 15: Effective Ajax with MochiKit / 273 \\
Chapter 16: TurboGears Widgets: Bringing CSS, XHTML,
and JavaScript Together in Reusable Components 309 Part
VI: CherryPy and TurboGears Controller Technologies \\
Chapter 17: CherryPy and TurboGears Decorators / 335
\\
Chapter 18: TurboGears Deployment 355 Part VII:
TurboGears Extras \\
Chapter 19 The TurboGears Toolbox and Other Tools / 371
\\
Chapter 20: Internationalization / 383 \\
Chapter 21: Testing a TurboGears Application / 397 \\
Chapter 22: TurboGears Identity and Security / 417 \\
Part VIII: Appendix \\
Appendix: SQLAlchemy / 431 \\
Index / 449",
}
@Article{Sanders:2007:SMM,
author = "Ian Douglas Sanders and Vashti C. Galpin",
title = "Students' mental models of recursion at {Wits}",
journal = j-SIGCSE,
volume = "39",
number = "3",
pages = "317--317",
month = sep,
year = "2007",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1269900.1268883",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 16:57:36 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of the 12th Annual SIGCSE Conference on
Innovation and Technology in Computer Science Education
(ITiCSE'07).",
abstract = "Recursion is a concept which all computer scientists
should understand and be able to use but novices find
it difficult to master. In the School of Computer
Science at the University of the Witwatersrand (Wits)
we have for a long time been concerned about how we can
assist our students with recursion [4, 1, 3]. One
thrust of our research is the study of the mental
models of recursion (c.f. Kahney [2]) which our first
year students develop. Most of our students encounter
recursion for the first time in our Fundamental
Algorithmic Concepts (FAC) course. When we originally
investigated the mental models of our students we noted
that although many of them seem to develop the viable
copies model there are still many that develop models
which are non-viable (i.e., that cannot be relied on to
lead to a correct result) [1]. Thus we adapted the way
in which recursion was introduced in FAC in 2003, 2004
and 2005 by introducing more complex recursive
algorithms earlier to help in the development of the
copies mental model. We then compared the mental models
developed by the 2003, 2004 and 2005 students to those
developed by the earlier group [3]. The results
indicate that more of the students were developing
viable mental models of recursion and thus that the
changes to our teaching were benefitting our students.
In 2006 we changed the programming language in which
our students implement algorithms to Python (from
Scheme). In essence the programming language was the
only change made as the course was still taught in a
``functional'' style to emphasize the link between the
formal specification of a problem, the solution to the
problem and the program. We did, however, feel it was
important to assess the impact of the change on our
students' mental models of recursion. We thus did a
similar study on the 2006 students to that on earlier
cohorts. The students' traces from two recursive
algorithms were categorised into the mental models
previously observed [1,3] by identifying how the
student deals with the active flow, base case and
passive flow in their trace and then by combining this
information into an overall categorisation of the trace
for that algorithm. Overall the results are in line
with our previous results which showed that the copies
model is the dominant model for a recurrence relation
type of recursive function but that for list
manipulation problems some students showed an active or
looping model. These results indicate that our teaching
approach, even with the switch to Python, is assisting
our students in developing a viable copies mental model
of recursion. Such a mental model is more likely to
lead to correct traces of recursive algorithms. An
interesting new result was the emergence of a passive
mental model. Here the students recognised that the
recursive algorithm would somehow get to the base case
and then used the base case plus the implicit
definition of the function in the algorithm to build up
the required solution. This model may have arisen
because the students were given a recurrence in
Tutorial 1 and asked to calculate what value would be
returned. Solving the recurrence essentially meant
working up from the value where the result is defined
directly until the desired answer is found. Some
students may have adopted this as their model of
recursion.",
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{Scheible:2007:MPR,
author = "J{\"u}rgen Scheible and Ville Tuulos and others",
title = "Mobile {Python}: rapid prototyping of applications on
the mobile platform",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xx + 327",
year = "2007",
ISBN = "0-470-51505-8 (paperback)",
ISBN-13 = "978-0-470-51505-1 (paperback)",
LCCN = "QA76.73.P98 S34 2007",
bibdate = "Thu Apr 16 09:39:06 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/enhancements/fy0739/2007029113-d.html;
http://www.loc.gov/catdir/enhancements/fy0833/2007029113-b.html;
http://www.loc.gov/catdir/enhancements/fy0833/2007029113-t.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Nokia smartphones;
Symbian OS (Computer file); Cellular telephones;
Programming",
}
@Book{Segaran:2007:PCI,
author = "Toby Segaran",
title = "Programming collective intelligence: building {Smart
Web 2.0} applications",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxi + 334",
year = "2007",
ISBN = "0-596-52932-5, 0-596-55068-5",
ISBN-13 = "978-0-596-52932-1, 978-0-596-55068-4",
LCCN = "T58.5 .S43 2007",
bibdate = "Tue Aug 5 18:11:14 MDT 2008",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596529321",
abstract = "Want to tap the power behind search rankings, product
recommendations, social bookmarking, and online
matchmaking? This fascinating book demonstrates how you
can build Web 2.0 applications to mine the enormous
amount of data created by people on the Internet. With
the sophisticated algorithms in this book, you can
write smart programs to access interesting datasets
from other web sites, collect data from users of your
own applications, and analyze and understand the data
once you've found it.Programming Collective
Intelligence takes you into the world of machine
learning and statistics, and ex.",
acknowledgement = ack-nhfb,
remark = "Description based upon print version of record.",
subject = "Computer science; Information technology; Social
aspects; Programming; Internet programming",
tableofcontents = "Programming Collective Intelligence \\
preface \\
Style of Examples \\
Why Python? \\
Significant Whitespace \\
List comprehensions \\
Open Apis \\
Overview of the Chapters \\
Conventions \\
Using Code Examples \\
How to Contact Us \\
Safari\? Books Online \\
Acknowledgments \\
1. Introduction to Collective Intelligence \\
What Is Machine Learning? \\
Limits of Machine Learning \\
Real-Life Examples \\
Other Uses for Learning Algorithms \\
2. Making Recommendations \\
Collecting Preferences \\
Finding Similar Users \\
Pearson Correlation Score \\
Which Similarity Metric Should You Use? \\
Ranking the Critics \\
Recommending Items \\
Matching Products \\
Building a del.icio.us Link Recommender \\
Building the Dataset \\
Recommending Neighbors and Links \\
Item-Based Filtering \\
Getting Recommendations \\
Using the MovieLens Dataset \\
User-Based or Item-Based Filtering? \\
Exercises \\
3. Discovering Groups \\
Word Vectors \\
Counting the Words in a Feed \\
Hierarchical Clustering \\
Drawing the Dendrogram \\
Column Clustering \\
K-Means Clustering \\
Clusters of Preferences \\
Beautiful Soup \\
Scraping the Zebo Results \\
Defining a Distance Metric \\
Clustering Results \\
Viewing Data in Two Dimensions \\
Other Things to Cluster \\
Exercises \\
4. Searching and Ranking \\
A Simple Crawler \\
Crawler Code \\
Building the Index \\
Finding the Words on a Page \\
Adding to the Index \\
Querying \\
Content-Based Ranking \\
Word Frequency \\
Document Location \\
Word Distance \\
Using Inbound Links \\
The PageRank Algorithm \\
Using the Link Text \\
Learning from Clicks \\
Setting Up the Database \\
Feeding Forward \\
Training with Backpropagation \\
Training Test \\
Connecting to the Search Engine \\
Exercises \\
5. Optimization \\
Representing Solutions \\
The Cost Function \\
Random Searching \\
Hill Climbing \\
Simulated Annealing \\
Genetic Algorithms \\
Real Flight Searches \\
The minidom PackageFlight Searches \\
Optimizing for Preferences \\
The Cost Function \\
Running the Optimization \\
Network Visualization \\
Counting Crossed Lines \\
Drawing the Network \\
Other Possibilities \\
Exercises \\
6. Document Filtering \\
Documents and Words \\
Training the Classifier \\
Calculating Probabilities \\
A Na{\~A}ve Classifier \\
A Quick Introduction to Bayes and Theorem \\
Choosing a Category \\
The Fisher Method \\
Combining the Probabilities \\
Classifying Items \\
Persisting the Trained Classifiers \\
Filtering Blog Feeds \\
Improving Feature Detection \\
Using Akismet \\
Alternative Methods \\
Exercises \\
7. Modeling with Decision Trees\\
Introducing Decision Trees \\
Training the Tree \\
Choosing the Best Split \\
Entropy \\
Recursive Tree Building \\
Displaying the Tree \\
Classifying New Observations \\
Pruning the Tree \\
Dealing with Missing Data \\
Dealing with Numerical Outcomes \\
Modeling Home Prices \\
Modeling ``Hotness'' \\
When to Use Decision Trees \\
Exercises \\
8. Building Price Models \\
k-Nearest Neighbors \\
Defining Similarity \\
Code for k-Nearest Neighbors \\
Weighted Neighbors \\
Subtraction Function \\
Gaussian Function \\
Weighted kNn \\
Cross-Validation \\
Heterogeneous Variables \\
Scaling Dimensions \\
Optimizing the Scale",
}
@Article{Shi:2007:PIG,
author = "Xuan Shi",
title = "{Python} for {Internet} {GIS} Applications",
journal = j-COMPUT-SCI-ENG,
volume = "9",
number = "3",
pages = "56--59",
month = may # "\slash " # jun,
year = "2007",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2007.57",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:16:39 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Stubblebine:2007:REP,
author = "Tony Stubblebine",
title = "Regular expression pocket reference: Regular
expressions for {Perl}, {Ruby}, {PHP}, {Python}, {C},
{Java}, and {.NET}.",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "vii + 117",
year = "2007",
ISBN = "0-596-51427-1 (paperback)",
ISBN-13 = "978-0-596-51427-3 (paperback)",
LCCN = "QA76.9.T48 S78 2007",
bibdate = "Thu Apr 16 10:31:52 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://proquest.safaribooksonline.com/9780596514273;
http://www.loc.gov/catdir/toc/fy0802/2007281074.html",
acknowledgement = ack-nhfb,
subject = "Text processing (Computer science); Programming
languages (Electronic computers); Syntax",
}
@Book{Tidwell:2007:XMX,
author = "Doug Tidwell",
title = "{XSLT}: mastering {XML} transformations",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xviii + 965",
year = "2007",
ISBN = "0-596-52721-7 (paperback)",
ISBN-13 = "978-0-596-52721-1 (paperback)",
LCCN = "QA76.73.X58 T53 2008",
bibdate = "Mon Oct 13 15:15:17 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.tcd.ie:210/advance",
price = "US\$31.99",
acknowledgement = ack-nhfb,
keywords = "Extensible Markup Language; Extensible Style sheet
Language for Transformation (XSLT); HTM Web pages; HTML
CSS markup language; HTML home pages; HTML hypertext;
HTML markup language; XHTML; XML hypertext markup
language; XML Python; XML SVG markup language",
subject = "XSLT (Computer program language)",
}
@Book{Walerowski:2007:PSV,
editor = "Peter Walerowski",
title = "{Python: 5 Stunden Video-Training: PC, Mac und TV}",
volume = "6080",
publisher = pub-AW,
address = pub-AW:adr,
year = "2007",
ISBN = "3-8273-6080-3",
ISBN-13 = "978-3-8273-6080-9",
LCCN = "????",
bibdate = "Thu Apr 16 10:10:11 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
note = "One DVD.",
price = "EUR 49.95",
series = "Video2Brain; Addison-Wesley; Open source library",
acknowledgement = ack-nhfb,
language = "German",
}
@Book{Bailly:2008:IPA,
author = "Yves Bailly",
title = "Initiation {\`a} la programmation avec {Python} et
{C++}",
publisher = "Pearson Education France",
address = "Paris, France",
pages = "xi + 255",
year = "2008",
LCCN = "????",
bibdate = "Thu Apr 16 11:04:16 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{Bassi:2008:PB,
author = "Sebastian Bassi",
title = "{Python} for bioinformatics",
publisher = pub-CHAPMAN-HALL-CRC,
address = pub-CHAPMAN-HALL-CRC:adr,
pages = "????",
year = "2008",
ISBN = "1-58488-929-2 (paperback)",
ISBN-13 = "978-1-58488-929-8 (paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 11:46:17 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.tcd.ie:210/advance",
series = "Chapman and Hall/CRC mathematical and computational
biology series",
acknowledgement = ack-nhfb,
remark = "Includes CD-ROM.",
subject = "Python (Computer program language); Bioinformatics",
}
@Book{Bennett:2008:PDP,
author = "James Bennett",
title = "Practical {Django} projects",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xvii + 237",
year = "2008",
ISBN = "1-59059-996-9",
ISBN-13 = "978-1-59059-996-9",
LCCN = "TK5105.888.B4512; TK5105.888.B4512 2008",
bibdate = "Thu Apr 16 11:21:25 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.mit.edu:9909/mit01",
series = "The expert's voice in Web development",
acknowledgement = ack-nhfb,
keywords = "Python",
subject = "Django (Electronic resource); Web site development",
tableofcontents = "Ch. 1. Welcome to Django \\
Ch. 2. Your First Django Site: a Simple CMS \\
Ch. 3. Customizing the Simple CMS \\
Ch. 4. A Django-Powered Weblog \\
Ch. 5. Expanding the Weblog \\
Ch. 6. Templates for the Weblog \\
Ch. 7. Finishing the Weblog \\
Ch. 8. A Social Code-Sharing Site \\
Ch. 9. Form Processing in the Code-Sharing Application
\\
Ch. 10. Finishing the Code-Sharing Application \\
Ch. 11. Writing Reusable Django Applications",
}
@Book{Chun:2008:PF,
author = "Wesley Chun",
title = "{Python} fundamentals",
publisher = pub-PH,
address = pub-PH:adr,
pages = "vi + 94",
year = "2008",
ISBN = "0-13-714341-9 (paperback)",
ISBN-13 = "978-0-13-714341-2 (paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 11:00:33 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE",
acknowledgement = ack-nhfb,
remark = "Based on Core Python Programming, Second Edition. 7+
Hours of Video Instruction.",
subject = "Python (Computer program language)",
}
@Book{Copeland:2008:ES,
author = "Rick Copeland",
title = "Essential {SQLAlchemy}",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xi + 215",
year = "2008",
ISBN = "0-596-51614-2",
ISBN-13 = "978-0-596-51614-7",
LCCN = "QA76.9.W43 C67 2008",
bibdate = "Sat Nov 13 10:17:02 MST 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90;
prodorbis.library.yale.edu:7090/voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); SQL (Computer
program language); Web databases",
}
@Article{Dalcin:2008:MPP,
author = "Lisandro Dalc{\'\i}n and Rodrigo Paz and Mario Storti
and Jorge D'El{\'\i}a",
title = "{MPI} for {Python}: Performance improvements and
{MPI-2} extensions",
journal = j-J-PAR-DIST-COMP,
volume = "68",
number = "5",
pages = "655--662",
month = may,
year = "2008",
CODEN = "JPDCER",
ISSN = "0743-7315 (print), 1096-0848 (electronic)",
ISSN-L = "0743-7315",
bibdate = "Fri Jul 11 20:32:36 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/07437315",
acknowledgement = ack-nhfb,
fjournal = "Journal of Parallel and Distributed Computing",
journal-URL = "http://www.sciencedirect.com/science/journal/07437315",
}
@Article{Doring:2008:ESL,
author = "Holger D{\"o}ring",
title = "Evaluating Scripting Languages: How {Python} Can Help
Political Methodologists",
journal = "The Political Methodologist",
volume = "16",
number = "1",
institution = "Bibliothek der Universit{\"a}t Konstanz",
pages = "8--12",
year = "2008",
bibdate = "Thu Apr 16 11:32:19 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Book{Ernesti:2008:PUH,
author = "Johannes Ernesti and Peter Kaiser",
title = "{Python: das umfassende Handbuch; [aktuell zu Python
2.5; Einf{\"u}hrung, Praxis, Referenz;
Sprachgrundlagen, Objektorientierung, Modularisierung;
Web-Programmierung mit Django, GUIs,
Netzwerkkommunikation u.v.m.] }",
publisher = "Galileo Press",
address = "Bonn, Germany",
pages = "????",
year = "2008",
ISBN = "3-8362-1110-6",
ISBN-13 = "978-3-8362-1110-9",
LCCN = "????",
bibdate = "Thu Apr 16 11:34:36 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Book{Flaig:2008:BPP,
author = "Ruediger-Marcus Flaig",
title = "Bioinformatics programming in {Python}: a practical
course for beginners",
publisher = "Wiley-VCH",
address = "Weinheim, Germany",
pages = "ix + 418",
year = "2008",
ISBN = "3-527-32094-6 (paperback)",
ISBN-13 = "978-3-527-32094-3 (paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 11:45:12 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.tcd.ie:210/advance",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Bioinformatics",
}
@Book{Gift:2008:PUL,
author = "Noah Gift and Jeremy M. Jones",
title = "{Python} for {Unix} and {Linux} system
administration",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xix + 433",
year = "2008",
ISBN = "0-596-51582-0",
ISBN-13 = "978-0-596-51582-9",
LCCN = "????",
bibdate = "Thu Apr 16 10:53:11 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.bibsys.no:2100/BIBSYS",
acknowledgement = ack-nhfb,
}
@Book{Goebel:2008:BPR,
author = "John A. Goebel and Adil Hasan and Francesco Safai
Tehrani",
title = "The book of {Python}: a real-world reference",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "????",
year = "2008",
ISBN = "1-59327-103-4",
ISBN-13 = "978-1-59327-103-9",
LCCN = "QA76.73.P98 G62 2008",
bibdate = "Thu Apr 16 11:26:33 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/toc/ecip064/2005034382.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Goldwasser:2008:OOP,
author = "Michael H. Goldwasser and David Letscher",
title = "Object-oriented programming in {Python}",
publisher = "Pearson Prentice Hall",
address = "Upper Saddle River, NJ, USA",
pages = "xxii + 666",
year = "2008",
ISBN = "0-13-615031-4",
ISBN-13 = "978-0-13-615031-2",
LCCN = "QA76.73.P98.G65; QA76.73.P98.G65 2008",
bibdate = "Thu Apr 16 10:06:48 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.mit.edu:9909/mit01",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Object-oriented
programming languages",
tableofcontents = "I. Fundamental Topics \\
1. Cornerstones of Computing \\
2. Getting Started in Python \\
3. Getting Started with Graphics \\
4. Elementary Control Structures \\
5. Additional Control Structures \\
6. Defining Our Own Classes \\
7. Good Software Practices \\
8. Input, Output, and Files \\
9. Inheritance \\
II. Advanced Topics \\
10. Deeper Understanding of the Management of Objects
\\
11. Recursion \\
12. More Python Containers \\
13. Implementing Data Structures \\
14. Sorting Algorithms \\
15. Event-Driven Programming \\
16. Network Programming \\
App. A. Using IDLE \\
App. B. Python, Java, and C++: a Transition Guide \\
App. C. Solutions to Practice Exercises \\
App. D. Glossary",
}
@Article{Goldwasser:2008:PGP,
author = "Michael H. Goldwasser and David Letscher",
title = "A {Python} graphics package for the first day and
beyond",
journal = j-SIGCSE,
volume = "40",
number = "3",
pages = "326--326",
month = sep,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1597849.1384369",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '08.",
abstract = "We demonstrate the use of a new Python graphics
package named cs1graphics, while discussing its impact
on pedagogy and showcasing the recent work of our
students. Our package was originally developed with two
goals in mind. First, we insisted that it be intuitive
enough that students can sit down and make use of it
from the very first day of an introductory class.
Second, we wanted to provide seamless support for
intermediate and advanced lessons as students progress.
The resulting package is freely available at
www.cs1graphics.org. We find its combination of
simplicity and functionality unmatched by existing
packages.",
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{Goldwasser:2008:TOO,
author = "Michael H. Goldwasser and David Letscher",
title = "Teaching an object-oriented {CS1} -: with {Python}",
journal = j-SIGCSE,
volume = "40",
number = "3",
pages = "42--46",
month = sep,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1597849.1384285",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '08.",
abstract = "There is an ongoing debate regarding the role of
object orientation in the introductory programming
sequence. While the pendulum swings to and fro between
the ``objects first'' and ``back to basics'' extremes,
there is general agreement that object-oriented
programming is central to modern software development
and therefore integral to a computer science
curriculum. Developing effective approaches to teach
these principles raises challenges that have been
exacerbated by the use of Java or C++ as the first
instructional language. In this paper, we recommend
Python as an excellent choice for teaching an
object-oriented CS1. Although often viewed as a
``scripting'' language, Python is a fully
object-oriented language with a consistent object model
and a rich set of built-in classes. Based upon our
experiences, we describe aspects of the language that
help support a balanced introduction to object
orientation in CS1. We also discuss the downstream
effects on our students' transition to Java and C++ in
subsequent courses.",
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{Hajji:2008:PPE,
author = "Farid Hajji",
title = "{Das Python Praxisbuch --- eBook: Der gro{\ss}e
Profi-Leitfaden f{\"u}r Programmierer}",
publisher = "Addison Wesley in Pearson Education Deutschland",
address = "M{\"u}nchen, Germany",
pages = "1328 (est.)",
year = "2008",
ISBN = "3-8273-6182-6",
ISBN-13 = "978-3-8273-6182-0",
LCCN = "????",
bibdate = "Thu Apr 16 11:54:01 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Henderson:2008:AMC,
author = "Peter B. Henderson",
title = "Abstraction, model checking and software correctness",
journal = j-SIGCSE,
volume = "40",
number = "2",
pages = "23--24",
month = jun,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1383602.1383624",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:13 MST 2012",
bibsource = "DBLP;
http://dblp.uni-trier.de/db/journals/sigcse/sigcse40.html#Henderson08;
http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.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/2008.bib",
abstract = "I hope you were able to read the contribution from
Maria and Gary Litvin, Pre-college Math Concepts vs
Skills --- Preparation for Computing Studies, in my
last column. This article addressed one of the most
important issues our discipline faces, the preparation
and motivation of young people to pursue a career in
computing. To repeat, here is a quote from the back
cover of their book for high school students
Mathematics for the Digital Age and Programming in
Python: ``The vision behind this book is that math and
computer science should help each other. A programmer
needs to be comfortable with abstractions, and that is
precisely what math teaches. Computer science
reciprocates by providing models and hands-on exercises
that help clarify and illustrate more abstract math.''
This columns contribution ``Reflections on Teaching
Abstraction and Other Soft Ideas'' by Orit Hazzan,
which can be found on page?? of this issue of Inroads,
further reinforces the relevance of abstraction for
software developers.",
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{Hetland:2008:BPN,
author = "Magnus Lie Hetland",
title = "Beginning {Python}: from novice to professional",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
pages = "xxx + 656",
year = "2008",
ISBN = "1-59059-982-9",
ISBN-13 = "978-1-59059-982-2",
LCCN = "A76.73.P98 H48 2008eb",
bibdate = "Thu Apr 16 10:25:57 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Book{Holovaty:2008:DGD,
author = "Adrian Holovaty and Jacob Kaplan-Moss",
title = "The Definitive Guide to {Django}: {Web} Development
Done Right",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxxii + 447",
year = "2008",
DOI = "https://doi.org/10.1007/978-1-4302-0331-5",
ISBN = "1-59059-725-7",
ISBN-13 = "978-1-59059-725-5",
LCCN = "TK5105.888",
bibdate = "Thu Apr 16 11:18:13 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "Springer eBook Collection Professional and Applied
Computing [Dig. Serial]; Springer-12059 [Dig. Serial]",
abstract = "Provides information on using the Python-based
framework to create Web sites.",
acknowledgement = ack-nhfb,
subject = "software engineering; computer science; special
purpose and application-based systems",
}
@Book{Johnson:2008:EPC,
author = "Mark Johnson",
title = "Essential {Python} for corpus linguistics",
publisher = "Blackwell",
address = "Oxford, UK",
pages = "208",
year = "2008",
ISBN = "1-4051-4563-3 (hardcover), 1-4051-4564-1 (paperback)",
ISBN-13 = "978-1-4051-4563-3 (hardcover), 978-1-4051-4564-0
(paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 08:40:14 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computational
linguistics",
}
@Book{Kak:2008:SOC,
author = "Avinash C. Kak",
title = "Scripting with objects: a comparative presentation of
object-oriented scripting with {Perl} and {Python}",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxxiv + 1279",
year = "2008",
ISBN = "0-470-17923-6 (paperback)",
ISBN-13 = "978-0-470-17923-9 (paperback)",
LCCN = "QA76.64.K3555; QA76.64.K3555 2008",
bibdate = "Thu Apr 16 10:56:33 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.mit.edu:9909/mit01",
price = "US\$89.95",
URL = "http://www.loc.gov/catdir/enhancements/fy0743/2007035480-d.html;
http://www.loc.gov/catdir/enhancements/fy0808/2007035480-b.html;
http://www.loc.gov/catdir/enhancements/fy0835/2007035480-t.html",
acknowledgement = ack-nhfb,
subject = "Object-oriented programming (Computer science);
Scripting languages (Computer science); Perl (Computer
program language); Python (Computer program language)",
}
@Book{Knowlton:2008:PCM,
author = "Jim Knowlton",
title = "{Python}: create-modify-reuse",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxv + 261",
year = "2008",
ISBN = "0-470-25932-9",
ISBN-13 = "978-0-470-25932-0",
LCCN = "????",
bibdate = "Thu Apr 16 10:53:44 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.bibsys.no:2100/BIBSYS",
series = "Wrox programmer to programmer",
acknowledgement = ack-nhfb,
subject = "Python; Multimedia; {\AA}pen-Kildekode?",
}
@Book{Langtangen:2008:PSC,
author = "Hans Petter Langtangen",
title = "{Python} Scripting for Computational Science",
volume = "3",
publisher = pub-SV,
address = pub-SV:adr,
edition = "Third",
pages = "xxiv + 750",
year = "2008",
DOI = "https://doi.org/10.1007/978-3-540-73916-6",
ISBN = "3-540-73915-7, 3-540-73916-5",
ISBN-13 = "978-3-540-73915-9, 978-3-540-73916-6",
LCCN = "????",
bibdate = "Thu Apr 16 11:07:58 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "Springer eBook Collection Mathematics and Statistics
[Dig. Serial]; Springer-11649 [Dig. Serial]; Texts in
Computational Science and Engineering",
acknowledgement = ack-nhfb,
subject = "Computer science; Engineering; Physics; Software
engineering; Mathematics; Computational Science and
Engineering; Numerical and Computational Methods;
Numerical and Computational Methods in Engineering;
Software Engineering/Programming and Operating
Systems",
}
@Book{Litvin:2008:MDA,
author = "Maria Litvin and Gary Litvin",
title = "Mathematics for the digital age and programming in
{Python}",
publisher = "Skylight Pub.",
address = "Andover, MA, USA",
pages = "????",
year = "2008",
ISBN = "0-9727055-8-9",
ISBN-13 = "978-0-9727055-8-5",
LCCN = "????",
bibdate = "Thu Apr 16 11:20:57 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://lccn.loc.gov/2007930214",
acknowledgement = ack-nhfb,
}
@Article{Long:2008:SAR,
author = "Philip D. Long",
title = "Scalable apprenticeships: reconnecting students
through technology",
journal = j-SIGCSE,
volume = "40",
number = "3",
pages = "3--4",
month = sep,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1597849.1384273",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '08.",
abstract = "Today's students are typically over scheduled and
hyper-connected, yet increasingly disconnected with
their education. The classroom into which they step for
core science, technology and engineering subjects is
often removed from both the practice of the disciplines
being taught and the technology tools which pervade
other aspects of their life. A significant challenge is
to reconnect the excitement and discovery that drew
faculty into their disciplines back to the learning
environments of STEM and CSE students they teach. Peer
Instruction (inserting discussion and formative
assessment into lecture) and project-based learning are
two promising attempts at recapturing the process of
science and engineering in introductory courses. Recent
experiments in freshman project-based seminars such as
nanoscale engineering and a major redesign of the
introductory Course 6 (Computer Science and Electrical
Engineering) at MIT are exploring ways to bring
apprenticeship back to both small and large classes.
Through Python-based tutoring tools, layered mentoring
that includes just-in-time ``guest laboratory
assistants'' to achieve 1:4 instructor-student ratios
in large courses, and careful attention to learning
space design new strategies for scaled apprenticeships
are being forged.",
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{Lutz:2008:LP,
author = "Mark Lutz",
title = "Learning {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Third",
pages = "xliv + 700",
year = "2008",
ISBN = "0-596-51398-4, 0-596-51398-4",
ISBN-13 = "978-0-596-51398-6, 978-0-596-51398-6",
LCCN = "QA76.73.P98 L877 2008; QA76.73.P98 L877 2008eb;
QA76.73.P98 L8798 2008; QA76.73.P98",
bibdate = "Tue Aug 5 17:56:24 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
URL = "http://www.oreilly.com/catalog/9780596513986",
abstract = "Describes the features of the Python 2.5 programming
language, covering such topics as types and operations,
statements and syntax, functions, modules, classes and
OOP, and exceptions and tools.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
tableofcontents = "1. A Python Q and A Session \\
2. How Python Runs Programs \\
3. How You Run Programs \\
4. Introducing Python Object Types \\
5. Numbers \\
6. The Dynamic Typing Interlude \\
7. Strings \\
8. Lists and Dictionaries \\
9. Tuples, Files, and Everything Else \\
10. Introducing Python Statements \\
11. Assignment, Expressions, and print \\
12. If Tests \\
13. While and for Loops \\
14. The Documentation Interlude \\
15. Function Basics \\
16. Scopes and Arguments \\
17. Advanced Function Topics \\
18. Modules: The Big Picture \\
19. Module Coding Basics \\
20. Module Packages \\
21. Advanced Module Topics \\
22. OOP: The Big Picture \\
23. Class Coding Basics \\
24. Class Coding Details \\
25. Designing with Classes \\
26. Advanced Class Topics \\
27. Exception Basics \\
28. Exception Objects \\
29. Designing with Exceptions",
}
@Article{Meinke:2008:SVS,
author = "Jan H. Meinke and Sandipan Mohanty and Frank
Eisenmenger and Ulrich H. E. Hansmann",
title = "{SMMP v. 3.0} --- Simulating proteins and protein
interactions in {Python} and {Fortran}",
journal = j-COMP-PHYS-COMM,
volume = "178",
number = "6",
pages = "459--470",
day = "15",
month = mar,
year = "2008",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2007.11.004",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Feb 13 23:42:29 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2000.bib;
https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465507004614",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Mount:2008:PRF,
author = "Sarah Mount and James Shuttleworth and Russel
Winder",
title = "{Python} for Rookies: a first course in programming",
publisher = "Thomson Learning (EMEA)",
address = "London, UK",
pages = "xxi + 454",
year = "2008",
ISBN = "1-84480-701-0",
ISBN-13 = "978-1-84480-701-7",
LCCN = "QA76.73.P98 M68 2008",
bibdate = "Thu Apr 16 11:37:01 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.libris.kb.se:210/libr",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
programming; Python (programspr{\aa}k)",
}
@Book{Nguyen:2008:CSL,
author = "Quan Nguyen",
title = "{CAD} scripting language: a collection of {Perl},
{Ruby}, {Python}, {TCL} and {Skill} scripts",
publisher = "Ramacad",
address = "San Jose, CA, USA",
pages = "????",
year = "2008",
ISBN = "0-9777812-2-4",
ISBN-13 = "978-0-9777812-2-5",
LCCN = "????",
bibdate = "Thu Apr 16 11:25:24 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
}
@TechReport{Nguyen:2008:IPCa,
author = "Binh Q. Nguyen",
title = "The Implementation of a {Python} Class for Structuring
Network Data Collected in a Test Bed",
type = "Technical report",
number = "D-arl-tr-4423, AD-a479 698",
institution = "United States Army Research Lab",
address = "Adelphi, MD, USA",
pages = "30",
year = "2008",
LCCN = "T1 U59 AD-a479 698",
bibdate = "Thu Apr 16 11:11:19 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This report documents an internally developed Python
class that takes in a set of data files and organizes
them into effective data structures that are suitable
for the subsequent extraction, processing, and
analysis. The report includes usage examples by
describing Python snippets that perform statistical
calculations and that transform the data into
comma-separated values. Sample input and output data
are appended to the report.",
acknowledgement = ack-nhfb,
}
@TechReport{Nguyen:2008:IPCb,
author = "Binh Q. Nguyen",
title = "An Introduction to {Python} (a One-Hour Tour)",
type = "Technical report",
number = "AD-arl-tn-0328, AD-a484 316",
institution = "United States Army Research Lab",
address = "Adelphi, MD, USA",
pages = "20",
year = "2008",
LCCN = "T1 U59 AD-a484 316",
bibdate = "Thu Apr 16 11:11:19 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This tutorial highlights and goes over essential
features of the Python programming language while it is
still evolving, but sufficiently stable and mature for
the development of diverse solutions to computational,
networking, and visualization problems. Although the
technical details are kept to a minimum to fit diverse
background and interests of the audience, they can be
used as review materials for experienced and occasional
developers of Python applications. The tutorial was
presented to a team of engineers, scientists, and
summer students on Wednesday 18 June 2008 at the U.S.
Army Research Laboratory in Adelphi, MD.",
acknowledgement = ack-nhfb,
}
@TechReport{Nguyen:2008:PPE,
author = "Binh Q. Nguyen",
title = "{pyGFC} --- a {Python} Extension to the {C++ Geodesy
Foundation Classes}",
type = "Technical report",
number = "AD-arl-tr-4623, AD-a488 020",
institution = "United States Army Research Lab",
address = "Adelphi, MD, USA",
year = "2008",
bibdate = "Thu Apr 16 11:14:47 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This report describes the results of the development
of the pyGFC module, including the multi-step procedure
and the implemented computer code. The pyGFC module is
a Python extension to the C++ Geodesy Foundation Class,
which has been used in the range model of the Mobile
Ad-hoc Network (MANET) Emulation (MANE) software system
that enables the dynamic connectivity of a MANET system
in the Wireless Emulation Laboratory of the U.S. Army
Research Laboratory (ARL). The pyGFC module was created
to support the visualization of network topologies
using the ARL Topodef tool, a graphical design and
animation tool for custom-designing and editing a
mobility scenario to create specific network
topologies.",
acknowledgement = ack-nhfb,
}
@Book{Nguyen:2008:SLC,
editor = "Quan Nguyen",
title = "Scripting languages: a collection of {Perl}, {Ruby},
{Python}, {TCL} and {Unix}",
publisher = "Ramacad",
address = "San Jose, CA, USA",
pages = "????",
year = "2008",
ISBN = "0-9777812-3-2",
ISBN-13 = "978-0-9777812-3-2",
LCCN = "????",
bibdate = "Thu Apr 16 11:25:48 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
}
@Article{Radenski:2008:DCS,
author = "Atanas Radenski",
title = "Digital {CS1} study pack based on {Moodle} and
{Python}",
journal = j-SIGCSE,
volume = "40",
number = "3",
pages = "325--325",
month = sep,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1597849.1384368",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '08.",
abstract = "We believe that CS1 courses can be made more
attractive to students: by teaching a highly
interactive scripting language --- Python by using an
open source course management system --- such as Moodle
--- to make all course resources available in a
comprehensive digital study pack, and by offering
detailed self-guided online labs . We have used Moodle
[1] and Python [2] to develop a ``Python First''
digital study pack [3] which comprises a wealth of new,
original learning modules: extensive e-texts, detailed
self-guided labs, numerous sample programs, quizzes,
and slides. Our digital study pack pedagogy is
described in recent ITiCSE and SIGCSE papers [4, 5].
``Python First'' digital packs instances have already
been adopted by instructors at several universities.
This demonstration reveals instructor and student
perspectives to the ``Python First'' digital pack. In
particular, we demonstrate how instructors can use
standard Moodle functionality to customize and manage
digital packs. We also demonstrate several
Moodle-supported, Python-based self-guided labs.",
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{Rosenberg:2008:DCT,
author = "Scott Rosenberg",
title = "Dreaming in code: Two dozen Programmers, three years,
4,732 bugs, and one quest for transcendent software",
publisher = "Three Rivers Press",
address = "New York, NY, USA",
pages = "403",
year = "2008",
ISBN = "????",
ISBN-13 = "????",
LCCN = "????",
bibdate = "Thu Apr 16 11:19:24 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Python",
}
@Article{Sala:2008:PHP,
author = "Marzio Sala and W. F. Spotz and M. A. Heroux",
title = "{PyTrilinos}: {High-performance} distributed-memory
solvers for {Python}",
journal = j-TOMS,
volume = "34",
number = "2",
pages = "7:1--7:33",
month = mar,
year = "2008",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1326548.1326549",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Thu Jun 12 12:47:31 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/bibnet/subjects/domain-decomp.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "PyTrilinos is a collection of Python modules that are
useful for serial and parallel scientific computing.
This collection contains modules that cover serial and
parallel dense linear algebra, serial and parallel
sparse linear algebra, direct and iterative linear
solution techniques, domain decomposition and
multilevel preconditioners, nonlinear solvers, and
continuation algorithms. Also included are a variety of
related utility functions and classes, including
distributed I/O, coloring algorithms, and matrix
generation. PyTrilinos vector objects are integrated
with the popular NumPy Python module, gathering
together a variety of high-level distributed computing
operations with serial vector
operations.\par
PyTrilinos is a set of interfaces to existing, compiled
libraries. This hybrid framework uses Python as
front-end, and efficient precompiled libraries for all
computationally expensive tasks. Thus, we take
advantage of both the flexibility and ease of use of
Python, and the efficiency of the underlying C++, C,
and FORTRAN numerical kernels. Out numerical results
show that, for many important problem classes, the
overhead required by the Python interpreter is
negligible.\par
To run in parallel, PyTrilinos simply requires a
standard Python interpreter. The fundamental MPI calls
are encapsulated under an abstract layer that manages
all interprocessor communications. This makes serial
and parallel scripts using PyTrilinos virtually
identical.",
acknowledgement = ack-nhfb,
articleno = "7",
fjournal = "ACM Transactions on Mathematical Software",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
keywords = "direct solvers; multilevel preconditioners; nonlinear
solvers; object-oriented programming; script
languages",
}
@Article{Sanders:2008:SPP,
author = "Ian D. Sanders and Sasha Langford",
title = "Students' perceptions of {Python} as a first
programming language at {Wits}",
journal = j-SIGCSE,
volume = "40",
number = "3",
pages = "365--365",
month = sep,
year = "2008",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1597849.1384407",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '08.",
abstract = "The first year curriculum at the University of the
Witwatersrand (Wits) is a breadth-first curriculum
where students are introduced to a variety of topics in
Computer Science (see Sanders and Mueller [5] for
details). As part of the course the students are
expected to come to terms with a number of basic
algorithms and data structures which they are required
to implement. When the curriculum was designed we chose
Scheme as the implementation language. One reason for
doing so was because the main entrance requirement for
our course is a solid mathematics background as
evidenced by good marks at school level. Our students
thus have a good understanding of functions and we felt
that Scheme?s functional style would make it accessible
to all of our students. Another reason for choosing
Scheme was because it is a language which would be new
to all of our students. Scheme was well received by
those students who had never programmed before and
proved to be a good language for meeting our teaching
objectives but there was resistance to the language
from the students who could already program as they
considered it a waste of time to learn a language which
was not (as they believed) used in the real world [3].
In addition, the use of Scheme did not really reduce
the performance gap between the students with and
without prior programming experience [2]. Python has
been found to be a good first language for both
experienced and inexperienced users [4] and its simple
syntax and support of different programming paradigms
seemed to make it an attractive option for our first
year course. We believed that using Python would still
allow us to meet our educational objectives ? it would
be easily accessible to those students who had never
programmed before and would support our approach of
formulating algorithms Python has been found to be a
good first language for both experienced and
inexperienced users [4] and its simple syntax and
support of different programming paradigms seemed to
make it an attractive option for our first year course.
We believed that using Python would still allow us to
meet our educational objectives ? it would be easily
accessible to those students who had never programmed
before and would support our approach of formulating
algorithms In late 2007 we did a survey to assess the
first year students? impressions of Python. The
students were asked to indicate agreement, disagreement
or neutrality to a number of questions about the use of
Python. 55 students completed the survey ? 27 of these
had no prior programming experience and 28 had
programmed before. The Wilcoxon signed rank test was
used to test the hypotheses that both groups believed
that Python was a good first year language. The results
show strong evidence that the students feel that Python
is a suitable language. There are. however, still some
students with prior programming experience who are
resistant to new 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{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/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 9.90",
series = "O'Reillys Taschenbibliothek",
acknowledgement = ack-nhfb,
}
@Book{Summerfield:2008:RGP,
author = "Mark Summerfield",
title = "Rapid {GUI} programming with {Python} and {Qt}: the
definitive guide to {PyQt} programming",
publisher = pub-PH,
address = pub-PH:adr,
pages = "xiv + 625",
year = "2008",
ISBN = "0-13-235418-7 (hardcover)",
ISBN-13 = "978-0-13-235418-9 (hardcover)",
LCCN = "QA76.9.U83 S89 2008",
bibdate = "Thu Apr 16 10:48:43 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Prentice Hall open source software development
series",
acknowledgement = ack-nhfb,
subject = "Qt (Electronic resource); Graphical user interfaces
(Computer systems); Python (Computer program
language)",
}
@Article{Vallisneri:2008:PXA,
author = "Michele Vallisneri and Stanislav Babak",
title = "{Python} and {XML} for Agile Scientific Computing",
journal = j-COMPUT-SCI-ENG,
volume = "10",
number = "1",
pages = "80--87",
month = jan # "\slash " # feb,
year = "2008",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2008.20",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 3 11:24:18 MDT 2008",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{VanHensbergen:2008:HAR,
author = "Eric {Van Hensbergen} and Charles Forsyth and Jim
McKie and Ron Minnich",
title = "Holistic aggregate resource environment",
journal = j-OPER-SYS-REV,
volume = "42",
number = "1",
pages = "85--91",
month = jan,
year = "2008",
CODEN = "OSRED8",
DOI = "https://doi.org/10.1145/1341312.1341327",
ISSN = "0163-5980 (print), 1943-586X (electronic)",
ISSN-L = "0163-5980",
bibdate = "Fri Jun 20 17:19:29 MDT 2008",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Within a few short years, we can expect to be dealing
with multi-million-thread programs running on
million-core systems [16]. This will no doubt stress
the contemporary HPC software model which was developed
in a time when 512 cores was a large number. Historical
approaches have been further challenged by the
increased desire of developers and end users for
supercomputer light weight kernels (LWKs) to support
the same environment, libraries, and tools as their
desktops. As a result, the emerging workloads of today
are far more sophisticated than those of the last two
decades when much of the HPC infrastructure was
developed, and feature the use of scripting
environments such as Python, dynamic libraries, and
complex multi-scale physics frameworks. Complicating
this picture is the overwhelming management, monitoring
and reliability problem created by the huge number of
nodes in a system of that magnitude.\par
We believe that a re-evaluation and exploration of
distributed system principals is called for in order to
address the challenges of ultrascale. To that end we
will be evaluating and extending the Plan 9 [21]
distributed system on the largest machines available to
us, namely the BG/L [28] and BG/P [10] supercomputers.
We have chosen Plan 9 based on our previous experiences
with it in combination with previous research [17]
which determined Plan 9 was a `right weight kernel',
balancing trade offs between LWKs and more general
purpose operating systems such as Linux. To deal with
issues of scale, we plan on leveraging the use of the
high-performance interconnects by system services as
well as exploring aggregation as more of a first-class
system construct -- providing dynamic hierarchical
organization and management of all resources. Our plan
is to evaluate the viability of these concepts at scale
as well as create an alternative development and
execution environment which compliments the features
and capabilities of the existing system software and
run time options. Our intent is to broaden the
application base as well as make the system as a whole
more approachable to a larger class of developers and
end-users.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGOPS Operating Systems Review",
}
@Book{Younker:2008:FAP,
author = "Jeff Younker",
title = "Foundations of agile {Python} development: [{Python},
agile project methods, and a comprehensive open source
tool chain!]",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxi + 393",
year = "2008",
ISBN = "1-59059-981-0",
ISBN-13 = "978-1-59059-981-5",
LCCN = "QA76.73.P98",
bibdate = "Thu Apr 16 11:22:52 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "The expert's voice in open source",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Ziade:2008:EPP,
author = "Tarek Ziad{\'e} and Paul Kennedy and Shannon Behrens
and Wendy Langer and Siddharth Mangarole",
title = "Expert {Python} programming: learn best practices to
designing, coding, and distributing your {Python}
software",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2008",
ISBN = "1-84719-494-X, 1-84719-495-8 (e-book)",
ISBN-13 = "978-1-84719-494-7, 978-1-84719-495-4 (e-book)",
LCCN = "A76.73.P98 Z53 2008",
bibdate = "Thu Apr 16 10:17:37 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781847194947",
acknowledgement = ack-nhfb,
}
@Book{Alchin:2009:PD,
author = "Marty Alchin",
title = "Pro {Django}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "????",
year = "2009",
DOI = "https://doi.org/10.1007/978-1-4302-1048-1",
ISBN = "1-4302-1048-6",
ISBN-13 = "978-1-4302-1048-1",
LCCN = "????",
bibdate = "Thu Apr 16 12:30:58 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "Springer eBook Collection Professional and Applied
Computing [Dig. Serial]; Springer-12059 [Dig. Serial]",
acknowledgement = ack-nhfb,
keywords = "Python",
subject = "Computer science",
}
@Book{Beazley:2009:PER,
author = "David M. Beazley",
title = "{Python} essential reference",
publisher = pub-AW,
address = pub-AW:adr,
edition = "Fourth",
pages = "xxi + 717",
year = "2009",
ISBN = "0-672-32978-6",
ISBN-13 = "978-0-672-32978-4",
LCCN = "????",
bibdate = "Thu Apr 16 13:03:27 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "\booktitle{Python Essential Reference} is the
definitive reference guide to the Python programming
language --- the one authoritative handbook that
reliably untangles and explains both the core Python
library. Designed for the practicing programmer, the
book is concise, to the point, and highly accessible.
It also includes detailed information on the Python
library and many advanced subjects that is not
available in either the official Python documentation
or any other single reference source. Thoroughly
updated to reflect the significant new programming
language features and library modules that have been
introduced in Python 2.6 and Python 3, the fourth
edition of Python Essential Reference is the complete
guide for programmers who need to modernize existing
Python code or who are planning an eventual migration
to Python 3.",
acknowledgement = ack-nhfb,
tableofcontents = "A tutorial introduction \\
Lexical conventions and syntax \\
Types and objects \\
OPerators and expressions \\
Program structure and control flow \\
Functions and functional programming \\
Classes and object-oriented programming \\
Modules, packages, and distribution \\
Input and output \\
Execution environment \\
Testing, debugging, profiling, and tuning \\
Built-in functions \\
Python runtime services \\
Mathematics \\
Data structures, algorithms, and code simplification
\\
String and text handling \\
Python database access \\
File and directory handling \\
Operating system services \\
Threads and concurrency \\
Network programming and sockets \\
Internet application programming \\
Web programming \\
Internet data handling and encoding \\
Miscellaneous library modules \\
Extending and embedding python",
}
@Article{Beazley:2009:PGB,
author = "David Beazley",
title = "{Python 3}: The Good, the Bad, and the Ugly",
journal = j-LOGIN,
volume = "34",
number = "2",
pages = "??--??",
month = apr,
year = "2009",
CODEN = "LOGNEM",
ISSN = "1044-6397",
ISSN-L = "1044-6397",
bibdate = "Fri Dec 7 11:34:39 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/usenix2000.bib;
https://www.usenix.org/publications/login",
URL = "https://www.usenix.org/publications/login/april-2009-volume-34-number-2/python-3-good-bad-and-ugly",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Book{Bird:2009:NLP,
author = "Steven Bird and Ewan Klein and Edward Loper",
title = "Natural Language Processing with {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "500 (est)",
year = "2009",
ISBN = "0-596-51649-5",
ISBN-13 = "978-0-596-51649-9",
LCCN = "????",
bibdate = "Thu Apr 16 13:05:00 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Boland:2009:IPD,
author = "Michael G. Boland and Curtis Clifton",
title = "Introducing {PyLighter}: dynamic code highlighter",
journal = j-SIGCSE,
volume = "41",
number = "1",
pages = "489--493",
month = mar,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1539024.1509037",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:19 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of SIGCSE '09.",
abstract = "Like a screenplay, a program is both a static artifact
and instructions for a dynamic performance. This
duality can keep laypeople from appreciating the
complexity of software systems and can be a stumbling
block for novice programmers. PyLighter lets laypeople
and novice programmers perceive the relationship
between static Python code and its execution. PyLighter
works with everything from simple console applications
to arcade-style games, and because PyLighter is easy to
adopt and use, instructors can integrate it into any
Python-based introductory course without changing the
rest of their syllabus.",
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{Brune:2009:PUR,
author = "Corey Brune",
title = "{Python}: an Untapped Resource in System
Administration",
journal = j-LOGIN,
volume = "34",
number = "1",
pages = "??--??",
month = feb,
year = "2009",
CODEN = "LOGNEM",
ISSN = "1044-6397",
ISSN-L = "1044-6397",
bibdate = "Fri Dec 7 11:34:38 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/usenix2000.bib;
https://www.usenix.org/publications/login",
URL = "https://www.usenix.org/publications/login/february-2009-volume-34-number-1/python-untapped-resource-system-administration",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Article{Choirat:2009:EP,
author = "Christine Choirat and Raffello Seri",
title = "Econometrics with {Python}",
journal = j-J-APPL-ECONOMETRICS,
volume = "24",
number = "4",
pages = "698--704",
month = jun # "--" # jul,
year = "2009",
CODEN = "JAECET",
DOI = "https://doi.org/10.1002/jae.1088",
ISSN = "0883-7252 (print), 1099-1255 (electronic)",
ISSN-L = "0883-7252",
bibdate = "Sat Mar 9 10:20:24 MST 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jappleconometrics.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Applied Econometrics",
journal-URL = "https://onlinelibrary.wiley.com/journal/10991255;
https://www.jstor.org/journal/japplecon",
onlinedate = "27 April 2009",
}
@Book{Donaldson:2009:P,
author = "Toby Donaldson",
title = "{Python}",
publisher = pub-PEACHPIT,
address = pub-PEACHPIT:adr,
edition = "Second",
pages = "vi + 185",
year = "2009",
ISBN = "0-321-58544-5 (paperback)",
ISBN-13 = "978-0-321-58544-8 (paperback)",
LCCN = "X09.F00872",
bibdate = "Thu Apr 16 10:54:00 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE",
series = "Visual quickstart guide",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Book{Downey:2009:PSD,
author = "Allen Downey",
title = "{Python} for software design: how to think like a
computer scientist",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "????",
year = "2009",
ISBN = "0-521-89811-0, 0-521-72596-8",
ISBN-13 = "978-0-521-89811-9, 978-0-521-72596-5",
LCCN = "QA76.73.P98 D693 2009",
bibdate = "Thu Apr 16 12:09:42 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Article{Drummond:2009:PPB,
author = "L. Anthony Drummond and Vicente Galiano and Violeta
Migall{\'o}n and Jose Penad{\'e}s",
title = "{PyACTS}: a {Python} Based Interface to {ACTS} Tools
and Parallel Scientific Applications",
journal = j-INT-J-PARALLEL-PROG,
volume = "37",
number = "1",
pages = "58--77",
month = feb,
year = "2009",
CODEN = "IJPPE5",
ISSN = "0885-7458 (print), 1573-7640 (electronic)",
ISSN-L = "0885-7458",
bibdate = "Wed Sep 1 16:06:47 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0885-7458&volume=37&issue=1&spage=58",
acknowledgement = ack-nhfb,
fjournal = "International Journal of Parallel Programming",
journal-URL = "http://link.springer.com/journal/10766",
}
@Article{Enbody:2009:PCP,
author = "Richard J. Enbody and William F. Punch and Mark
McCullen",
title = "{Python CS1} as preparation for {C++ CS2}",
journal = j-SIGCSE,
volume = "41",
number = "1",
pages = "116--120",
month = mar,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1539024.1508907",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:19 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of SIGCSE '09.",
abstract = "How suitable is a Python-based CS1 course as
preparation for a C++-based CS2 course? After fifteen
years of using C++ for both CS1 and CS2, the Computer
Science Department at Michigan State University changed
the CS1 course to Python. This paper examines the
impact of that change on the second course in the
sequence, CS2, which kept C++ as its primary language.
We report results on a CS2 class which had a mixture of
students who had used either C++ or Python from our CS1
course. The CS2 class covered the same topics as
previously, though with some changes, and even gave the
same final exam as a previous offering. Independent
samples t-tests were used to compare students from the
Python group with students from the non-Python group on
three outcomes: final exam grade, programming projects
scores, and final grade for the course. The main result
was that there were no significant differences between
the groups for all three outcomes. In addition,
multiple regression analysis showed that students' past
performance (overall GPA) in the University predicted
final grades, final exam scores, and programming
project scores for the course, but there was no effect
of the programming language feature: Python or
non-Python. We feel this shows that the Python-based
CS1 course prepared students for the C++-based CS2
course as well as the C++-based CS1 course did---while
exposing them to a different, powerful and useful
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",
}
@Book{Ernesti:2009:PUH,
author = "Johannes Ernesti and Peter Kaiser",
title = "{Python 3: Das umfassende Handbuch}",
publisher = "Galileo Press GmbH",
address = "Bonn, Germany",
edition = "Second",
pages = "870 (est.)",
year = "2009",
ISBN = "3-8362-1412-1",
ISBN-13 = "978-3-8362-1412-4",
LCCN = "????",
bibdate = "Thu Apr 16 12:01:42 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 39.90",
series = "Galileo Computing",
acknowledgement = ack-nhfb,
language = "German",
}
@Book{Forcier:2009:PWD,
author = "Jeff Forcier and Paul Bissex and Wesley Chun",
title = "{Python Web} development with {Django}",
publisher = pub-AW,
address = pub-AW:adr,
pages = "377",
year = "2009",
ISBN = "0-13-235613-9 (paperback)",
ISBN-13 = "978-0-13-235613-8 (paperback)",
LCCN = "TK5105.8885.D54 F68 2009",
bibdate = "Thu Apr 16 12:09:18 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Developer's library",
acknowledgement = ack-nhfb,
subject = "Web site development; Django (Electronic resource);
Python (Computer program language); Web sites;
Authoring programs",
tableofcontents = "Introduction / 1 \\
Part I: Getting Started \\
1: Practical Python for Django / 7 \\
\\
2: Django for the Impatient: Building a Blog / 57 \\
3: Starting Out / 77 \\
Part II: Django in Depth \\
4: Defining and Using Models / 89 \\
5: URLs, HTTP Mechanisms, and Views / 117 \\
6: Templates and Form Processing / 135 \\
Part III: Django Applications by Example \\
7: Photo Gallery / 159 \\
8: Content Management System / 181 \\
9: Liveblog / 205 \\
10: Pastebin / 221 \\
Part IV: Advanced Django Techniques and Features \\
11: Advanced Django Programming / 235 \\
12: Advanced Django Deployment / 261 \\
Part V: Appendices \\
Appendix A: Command Line Basics / 285 \\
Appendix B: Installing and Running Django / 295 \\
Appendix C: Tools for Practical Django Development /
313 \\
Appendix D: Finding, Evaluating, and Using Django
Applications / 321 \\
Appendix E: Django on the Google App Engine / 325 \\
Appendix F: Getting Involved in the Django Project /
337 \\
Index / 339 \\
Colophon / 375",
}
@Article{Furr:2009:PGS,
author = "Michael Furr and Jong-hoon (David) An and Jeffrey S.
Foster",
title = "Profile-guided static typing for dynamic scripting
languages",
journal = j-SIGPLAN,
volume = "44",
number = "10",
pages = "283--300",
month = oct,
year = "2009",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1640089.1640110",
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/python.bib",
abstract = "Many popular scripting languages such as Ruby, Python,
and Perl include highly dynamic language constructs,
such as an eval method that evaluates a string as
program text. While these constructs allow terse and
expressive code, they have traditionally obstructed
static analysis. In this paper we present PRuby, an
extension to Diamondback Ruby (DRuby), a static type
inference system for Ruby. PRuby augments DRuby with a
novel dynamic analysis and transformation that allows
us to precisely type uses of highly dynamic constructs.
PRuby's analysis proceeds in three steps. First, we use
run-time instrumentation to gather per-application
profiles of dynamic feature usage. Next, we replace
dynamic features with statically analyzable
alternatives based on the profile. We also add
instrumentation to safely handle cases when subsequent
runs do not match the profile. Finally, we run DRuby's
static type inference on the transformed code to
enforce type safety.\par
We used PRuby to gather profiles for a benchmark suite
of sample Ruby programs. We found that dynamic features
are pervasive throughout the benchmarks and the
libraries they include, but that most uses of these
features are highly constrained and hence can be
effectively profiled. Using the profiles to guide type
inference, we found that DRuby can generally statically
type our benchmarks modulo some refactoring, and we
discovered several previously unknown type errors.
These results suggest that profiling and transformation
is a lightweight but highly effective approach to bring
static typing to highly dynamic languages.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "profile guided analysis; RIL; ruby; scripting
languages",
}
@Book{Gaddis:2009:SP,
author = "Tony Gaddis",
title = "Starting out with {Python}",
publisher = "Pearson Addison Wesley",
address = "Boston, MA, USA",
pages = "xv + 482",
year = "2009",
ISBN = "0-321-53711-4",
ISBN-13 = "978-0-321-53711-9",
LCCN = "QA76.73.P98 G34 2009",
bibdate = "Thu Apr 16 08:59:10 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/toc/fy0804/2008001684.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Introduction to computers and programming \\
Input, processing, and output \\
Simple functions \\
Decision structures and Boolean logic \\
Repetition structures \\
Value-returning functions and modules \\
Files and exceptions \\
Working with sequences: strings and lists \\
Classes and object-oriented programming \\
Inheritance \\
Recursion \\
GUI programming \\
Appendix A: Installing Python \\
Appendix B: Introduction to IDLE \\
Appendix C: The ASCII character set",
}
@Book{Gardner:2009:DGP,
author = "James Gardner",
title = "The definitive guide to {Pylons}: [{Pylons} is a
lightweight web framework emphasizing flexibility and
rapid development using standard tools from the
{Python} community; includes {SQLAlchemy},
{JavaScript}, and {WSG}!]",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxv + 536",
year = "2009",
ISBN = "1-59059-934-9 (paperback)",
ISBN-13 = "978-1-59059-934-1 (paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 12:30:45 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "US\$46,99",
series = "The expert's voice in web development; Books for
professionals by professionals",
acknowledgement = ack-nhfb,
}
@Article{Goldwasser:2009:GPF,
author = "Michael H. Goldwasser and David Letscher",
title = "A graphics package for the first day and beyond",
journal = j-SIGCSE,
volume = "41",
number = "1",
pages = "206--210",
month = mar,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1539024.1508945",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:19 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of SIGCSE '09.",
abstract = "We describe cs1graphics, a new Python drawing package
designed with pedagogy in mind. The package is simple
enough that students can sit down and make use of it
from the first day of an introductory class. Yet it
provides seamless support for intermediate and advanced
lessons as students progress. In this paper, we discuss
its versatility in the context of an introductory
course. The package is available at
www.cs1graphics.org.",
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{Guyer:2009:FPD,
author = "Jonathan E. Guyer and Daniel Wheeler and James A.
Warren",
title = "{FiPy}: Partial Differential Equations with {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "11",
number = "3",
pages = "6--15",
month = may # "\slash " # jun,
year = "2009",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2009.52",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu May 13 11:08:14 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Gvero:2009:BRPb,
author = "Igor Gvero",
title = "Book Review: {{\booktitle{Python for Software Design}}
by Allen B. Downey, and published by Cambridge
University Press, 2009, 978-0-521-72596-5, 251pp.}",
journal = j-SIGSOFT,
volume = "34",
number = "6",
pages = "31--32",
month = nov,
year = "2009",
CODEN = "SFENDP",
DOI = "https://doi.org/10.1145/1640162.1640181",
ISSN = "0163-5948 (print), 1943-5843 (electronic)",
ISSN-L = "0163-5948",
bibdate = "Wed Aug 1 17:15:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.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{Hambrusch:2009:MAT,
author = "Susanne Hambrusch and Christoph Hoffmann and John T.
Korb and Mark Haugan and Antony L. Hosking",
title = "A multidisciplinary approach towards computational
thinking for science majors",
journal = j-SIGCSE,
volume = "41",
number = "1",
pages = "183--187",
month = mar,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1539024.1508931",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:19 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of SIGCSE '09.",
abstract = "This paper describes the development and initial
evaluation of a new course ``Introduction to
Computational Thinking'' taken by science majors to
fulfill a college computing requirement. The course was
developed by computer science faculty in collaboration
with science faculty and it focuses on the role of
computing and computational principles in scientific
inquiry. It uses Python and Python libraries to teach
computational thinking via basic programming concepts,
data management concepts, simulation, and
visualization. Problems with a computational aspect are
drawn from different scientific disciplines and are
complemented with lectures from faculty in those areas.
Our initial evaluation indicates that the
problem-driven approach focused on scientific discovery
and computational principles increases the student's
interest in computing.",
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{Kinser:2009:PB,
author = "Jason M. Kinser",
title = "{Python} for bioinformatics",
publisher = "Jones and Bartlett Publishers",
address = "Sudbury, MA, USA",
pages = "xvii + 417",
year = "2009",
ISBN = "0-7637-5186-3",
ISBN-13 = "978-0-7637-5186-9",
LCCN = "QH324.2.K55; QH324.2.K55 2009",
bibdate = "Thu Apr 16 12:32:38 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.mit.edu:9909/mit01",
series = "Jones and Bartlett series in biomedical informatics",
acknowledgement = ack-nhfb,
remark = "Ch. 1. Introduction \\
Ch. 2. NumPy and SciPy \\
Ch. 3. Image Manipulation \\
Ch. 4. The Akando and Dancer Modules \\
Ch. 5. Statistics \\
Ch. 6. Parsing DNA Data Files \\
Ch. 7. Sequence Alignment \\
Ch. 8. Dynamic Programming \\
Ch. 9. Tandem Repeats \\
Ch. 10. Hidden Markov Models \\
Ch. 11. Genetic Algorithms \\
Ch. 12. Multiple Sequence Alignment \\
Ch. 13. Gapped Alignments \\
Ch. 14. Trees \\
Ch. 15. Text Mining \\
Ch. 16. Measuring Complexity \\
Ch. 17. Clustering \\
Ch. 18. Self-Organizing Maps \\
Ch. 19. Principal Component Analysis \\
Ch. 20. Species Identification \\
Ch. 21. Fourier Transforms \\
Ch. 22. Correlations \\
Ch. 23. Numerical Sequence Alignment \\
Ch. 24. Gene Expression Array Files \\
Ch. 25. Spot Finding and Measurement \\
Ch. 26. Spreadsheet Arrays and Data Displays \\
Ch. 27. Applications with Expression Arrays",
subject = "Bioinformatics",
}
@Book{Langtangen:2009:PSP,
author = "Hans Petter Langtangen",
title = "A primer on scientific programming with {Python}",
volume = "6",
publisher = pub-SV,
address = pub-SV:adr,
pages = "xxvii + 693",
year = "2009",
DOI = "https://doi.org/10.1007/978-3-642-02475-7",
ISBN = "3-642-02475-0, 3-642-02474-2",
ISBN-13 = "978-3-642-02475-7, 978-3-642-02474-0",
ISSN = "1611-0994",
LCCN = "QA76.73.P98 L286 2009",
bibdate = "Mon Jul 12 16:17:14 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.mit.edu:9909/mit01",
series = "Texts in computational science and engineering",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); mathematics;
computer science; software engineering; physics",
}
@Article{LeVeque:2009:PTR,
author = "Randall J. LeVeque",
title = "{Python} Tools for Reproducible Research on Hyperbolic
Problems",
journal = j-COMPUT-SCI-ENG,
volume = "11",
number = "1",
pages = "19--27",
month = jan # "\slash " # feb,
year = "2009",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2009.13",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu May 13 11:08:14 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Lewis:2009:HPP,
author = "Andrew Lewis",
title = "High performance {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "????",
year = "2009",
ISBN = "0-596-15996-X",
ISBN-13 = "978-0-596-15996-2",
LCCN = "????",
bibdate = "Thu Apr 16 13:02:33 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Lister:2009:FER,
author = "Raymond Lister and Colin Fidge and Donna Teague",
title = "Further evidence of a relationship between explaining,
tracing and writing skills in introductory
programming",
journal = j-SIGCSE,
volume = "41",
number = "3",
pages = "161--165",
month = sep,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1595496.1562930",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '09.",
abstract = "This paper reports on a replication of earlier studies
into a possible hierarchy of programming skills. In
this study, the students from whom data was collected
were at a university that had not provided data for
earlier studies. Also, the students were taught the
programming language ``Python'', which had not been
used in earlier studies. Thus this study serves as a
test of whether the findings in the earlier studies
were specific to certain institutions, student cohorts,
and programming languages. Also, we used a
non-parametric approach to the analysis, rather than
the linear approach of earlier studies. Our results are
consistent with the earlier studies. We found that
students who cannot trace code usually cannot explain
code, and also that students who tend to perform
reasonably well at code writing tasks have also usually
acquired the ability to both trace code and explain
code.",
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{Lutz:2009:LPa,
author = "Mark Lutz",
title = "Learning {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Fourth",
pages = "xlix + 1160",
year = "2009",
ISBN = "0-596-15806-8 (paperback)",
ISBN-13 = "978-0-596-15806-4 (paperback)",
LCCN = "QA76.73.P98 L877 2009",
bibdate = "Sat Nov 13 10:06:19 MST 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
acknowledgement = ack-nhfb,
remark = "Covers Python 2.6 and 3.x.",
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
}
@Book{Lutz:2009:LPb,
author = "Mark Lutz",
title = "Learning {Python}",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
edition = "Fourth",
pages = "????",
year = "2009",
ISBN = "0-596-80539-X",
ISBN-13 = "978-0-596-80539-5",
LCCN = "QA76.73.P98 L877 2009",
bibdate = "Sat Nov 13 10:06:19 MST 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90;
prodorbis.library.yale.edu:7090/voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
}
@Article{Martins:2009:POO,
author = "Joaquim R. R. A. Martins and Christopher Marriage and
Nathan Tedford",
title = "{pyMDO}: an Object-Oriented Framework for
Multidisciplinary Design Optimization",
journal = j-TOMS,
volume = "36",
number = "4",
pages = "20:1--20:25",
month = aug,
year = "2009",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1555386.1555389",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Mon Aug 31 15:04:00 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "We present pyMDO, an object-oriented framework that
facilitates the usage and development of algorithms for
multidisciplinary optimization (MDO). The resulting
implementation of the MDO methods is efficient and
portable. The main advantage of the proposed framework
is that it is flexible, with a strong emphasis on
object-oriented classes and operator overloading, and
it is therefore useful for the rapid development and
evaluation of new MDO methods. The top layer interface
is programmed in Python and it allows for the layers
below the interface to be programmed in C, C++,
Fortran, and other languages. We describe an
implementation of pyMDO and demonstrate that we can
take advantage of object-oriented programming to obtain
intuitive, easy-to-read, and easy-to-develop codes that
are at the same time efficient. This allows developers
to focus on the new algorithms they are developing and
testing, rather than on implementation details.
Examples demonstrate the user interface and the
corresponding results show that the various MDO methods
yield the correct solutions.",
acknowledgement = ack-nhfb,
articleno = "20",
fjournal = "ACM Transactions on Mathematical Software",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Mentis:2009:RAD,
author = "Alexander S. Mentis",
title = "A robotics {API} dialect for type-safe robots:
translating {Myro} to {Ada}",
journal = j-SIGADA-LETTERS,
volume = "29",
number = "3",
pages = "91--102",
month = dec,
year = "2009",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/1653616.1647442",
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/python.bib",
abstract = "In this paper, we present an Ada robotics API designed
to be used in teaching undergraduate-level computer
science. Our API is inspired by Myro, a Python-based
API, but we improve upon Myro's usability, readability,
modularity, and documentation by using features of the
Ada programming language and the GNAT Programming
Studio's documentation generation tool. The
encapsulation, abstraction, and data hiding provided by
Ada's packages make it easy for beginning programmers
to use the API for advanced tasks, while Ada's syntax
and readability allow educators to use the underlying
code later in a course or curriculum to illustrate more
advanced concepts to the same students as their
knowledge and experience grow.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGAda Ada Letters",
keywords = "Myro; scribbler; undergraduate computer science
education",
}
@Book{Miller:2009:PPC,
author = "Bradley N. Miller and David L. Ranum",
title = "{Python} programming in context",
publisher = "Jones and Bartlett Publishers",
address = "Sudbury, MA, USA",
pages = "xxv + 492",
year = "2009",
ISBN = "0-7637-4602-9 (paperback)",
ISBN-13 = "978-0-7637-4602-5 (paperback)",
LCCN = "QA76.73.P98 M544 2009",
bibdate = "Thu Apr 16 10:46:48 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
}
@Article{Misra:2009:MCT,
author = "Ananya Misra and Douglas Blank and Deepak Kumar",
title = "A music context for teaching introductory computing",
journal = j-SIGCSE,
volume = "41",
number = "3",
pages = "248--252",
month = sep,
year = "2009",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/1595496.1562955",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2000.bib",
note = "Proceedings of ITiCSE '09.",
abstract = "We describe myro.chuck, a Python module for
controlling music synthesis, and its applications to
teaching introductory computer science. The module was
built within the Myro framework using the ChucK
programming language, and was used in an introductory
computer science course combining robots, graphics and
music. The results supported the value of music in
engaging students and broadening their view of computer
science.",
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{Ochem:2009:MLP,
author = "Quentin Ochem",
title = "Multi-language programming with {Ada}",
journal = j-SIGADA-LETTERS,
volume = "29",
number = "3",
pages = "19--20",
month = dec,
year = "2009",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/1647420.1647431",
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/python.bib",
abstract = "Building complex applications often requires putting
together pieces of software or requirements that have
not been made to work together in the first place.
Thinking of a project with a high integrity kernel
written in Ada, using a set of low level libraries and
drivers written in C or C++, with a graphical interface
done in Java and unit tests driven by python is not
thinking of science fiction anymore. It's actual
concrete and day-to-day work. Unfortunately, having all
of these technologies talking to each other is not
straightforward, and often requires a deep knowledge of
both sides of the technology and extensive manual
work.\par
In this tutorial, we'll first study how to interface
directly Ada with native languages, such as C or C++.
We'll then have a deep look at communications with
languages running on virtual machines, such as Java,
Python and the .NET framework. Finally, we'll see how
Ada can be interfaced with an arbitrary language using
a middleware solution, such as SOAP or CORBA We?ll see
how the communication can be manually done using low
level features and APIs, and how a substantial part of
this process can be automated using high level binding
generators.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGAda Ada Letters",
keywords = "Ada; APIs; communication; interfacing; languages;
middleware; programming; software; systems",
}
@Book{Pilgrim:2009:DP,
author = "Mark Pilgrim",
title = "Dive into {Python 3}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xlix + 360",
year = "2009",
ISBN = "1-4302-2415-0",
ISBN-13 = "978-1-4302-2415-0",
LCCN = "QA76.73.P98 P57 2009",
bibdate = "Tue Mar 10 17:27:24 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "The expert's voice in open source",
URL = "http://www.loc.gov/catdir/enhancements/fy1502/2011377607-b.html;
http://www.loc.gov/catdir/enhancements/fy1502/2011377607-d.html;
http://www.loc.gov/catdir/enhancements/fy1502/2011377607-t.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
tableofcontents = "Your first Python program \\
Native datatypes \\
Comprehensions \\
Strings \\
Regular expressions \\
Closures and generators \\
Classes and iterators \\
Advanced iterators \\
Unit Testing \\
Refactoring \\
Files \\
XML \\
Serializing Python objects \\
HTTP web services \\
Case study : porting chardet to Python 3 \\
Packaging Python libraries",
}
@Article{Pradal:2009:PPB,
author = "C. Pradal and F. Boudon and C. Nouguier and J. Chopard
and C. Godin",
title = "{PlantGL}: a {Python}-based geometric library for
{$3$D} plant modelling at different scales",
journal = j-GRAPH-MODELS,
volume = "71",
number = "1",
pages = "1--21",
month = jan,
year = "2009",
CODEN = "GRMOFM",
DOI = "https://doi.org/10.1016/j.gmod.2008.10.001",
ISSN = "1524-0703 (print), 1524-0711 (electronic)",
ISSN-L = "1524-0703",
bibdate = "Sat Dec 10 08:38:11 MST 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cvgip.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/15240703",
URL = "http://www.sciencedirect.com/science/article/pii/S1524070308000143",
acknowledgement = ack-nhfb,
fjournal = "Graphical Models",
journal-URL = "http://www.sciencedirect.com/science/journal/15240703",
}
@Article{Ravitch:2009:AGL,
author = "Tristan Ravitch and Steve Jackson and Eric Aderhold
and Ben Liblit",
title = "Automatic generation of library bindings using static
analysis",
journal = j-SIGPLAN,
volume = "44",
number = "6",
pages = "352--362",
month = jun,
year = "2009",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1543135.1542516",
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/python.bib",
abstract = "High-level languages are growing in popularity.
However, decades of C software development have
produced large libraries of fast, time-tested,
meritorious code that are impractical to recreate from
scratch. Cross-language bindings can expose low-level C
code to high-level languages. Unfortunately, writing
bindings by hand is tedious and error-prone, while
mainstream binding generators require extensive manual
annotation or fail to offer the language features that
users of modern languages have come to expect.\par
We present an improved binding-generation strategy
based on static analysis of unannotated library source
code. We characterize three high-level idioms that are
not uniquely expressible in C's low-level type system:
array parameters, resource managers, and multiple
return values. We describe a suite of interprocedural
analyses that recover this high-level information, and
we show how the results can be used in a binding
generator for the Python programming language. In
experiments with four large C libraries, we find that
our approach avoids the mistakes characteristic of
hand-written bindings while offering a level of Python
integration unmatched by prior automated approaches.
Among the thousands of functions in the public
interfaces of these libraries, roughly 40\% exhibit the
behaviors detected by our static analyses.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "bindings; dataflow analysis; FFI; foreign function
interfaces; multi-language code reuse; static library
analysis",
}
@Book{Reed:2009:DSA,
author = "David M. Reed and John M. Zelle",
title = "Data structures and algorithms using {Python} and
{C++}",
publisher = "Franklin, Beedle and Associates, Inc.",
address = "Wilsonville, OR, USA",
pages = "????",
year = "2009",
ISBN = "1-59028-233-7",
ISBN-13 = "978-1-59028-233-5",
LCCN = "QA76.73.P98 R44 2009",
bibdate = "Thu Apr 16 12:10:06 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "Builds on knowledge from a first course in computer
programming using Python. Makes a transition from
programming in Python to a data structures course and
programming in C++",
subject = "Python (Computer program language); C++ (Computer
program language); Data structures (Computer science);
Computer algorithms",
}
@Article{Riehl:2009:LEO,
author = "Jonathan Riehl",
title = "Language embedding and optimization in {Mython}",
journal = j-SIGPLAN,
volume = "44",
number = "12",
pages = "39--48",
month = dec,
year = "2009",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1640134.1640141",
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/python.bib",
abstract = "Mython is an extensible variant of the Python
programming language. Mython achieves extensibility by
adding a quotation mechanism that accepts an additional
parameter as well as the code being quoted. The
additional quotation parameter takes the form of a
Mython expression. Unlike other user code, Mython
evaluates the quotation parameter at compile-time. The
result of the compile-time expression is a function
that is used to both parse the quoted code, and extend
the compile-time environment. By explicitly passing the
compilation environment to compile-time quotation
functions, Mython's parameterized quotation allows
users to inject code into the language compiler.
Injected code can extend the language by modifying the
compilation phases, which are visible to the
compilation environment. The Mython language is
realized by the MyFront compiler, a tool for
translating Mython into Python byte-code modules. This
paper introduces the Mython language, describes the
implementation and usage of the MyFront tool, and shows
how MyFront can be used to implement domain-specific
optimizations using a little rewrite language.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "compile-time metaprogramming; extensible languages;
open compilers",
}
@Book{Scott:2009:PLP,
author = "Michael L. Scott",
title = "Programming Language Pragmatics",
publisher = pub-MORGAN-KAUFMANN,
address = pub-MORGAN-KAUFMANN:adr,
edition = "Third",
pages = "xxx + 910",
year = "2009",
ISBN = "0-12-374514-4",
ISBN-13 = "978-0-12-374514-9",
LCCN = "????",
bibdate = "Thu May 21 16:07:05 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
note = "Many sections of the book are relegated to the
accompanying CD-ROM.",
acknowledgement = ack-nhfb,
keywords = "awk; perl; python; ruby; sed; sh; tcl",
}
@Book{Seitz:2009:GPP,
author = "Justin Seitz",
title = "{Gray Hat Python}: {Python} programming for hackers
and reverse engineers",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "????",
year = "2009",
ISBN = "1-59327-192-1, 1-59327-224-3 (e-book)",
ISBN-13 = "978-1-59327-192-3, 978-1-59327-224-1 (e-book)",
LCCN = "QA76.9.A25 S457 2009",
bibdate = "Thu Apr 16 12:07:47 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://proquest.safaribooksonline.com/9781593271923",
abstract = "Python is the high-level language of choice for
hacking, vulnerability discovery, and security
research. 'Gray Hat Python' explains the intricacies of
using Python to assist in a range of security analysis
tasks.",
acknowledgement = ack-nhfb,
subject = "Computer security; Python (Computer program
language)",
tableofcontents = "Setting up your development environment \\
Debuggers and debugger design \\
Building a Windows debugger \\
PyDbg : a pure Python Windows debugger \\
Immunity debugger : the best of both worlds \\
Hooking \\
DLL and code injection \\
Fuzzing \\
Sulley \\
Fuzzing Windows drivers \\
DAPython -Scripting IDA Pro \\
PyEmu --- The scriptable emulator",
}
@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/python.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",
}
@Book{Summerfield:2009:PPC,
author = "Mark Summerfield",
title = "Programming in {Python 3}: a complete introduction to
the {Python} language",
publisher = pub-AW,
address = pub-AW:adr,
pages = "xiv + 525",
year = "2009",
ISBN = "0-13-712929-7 (paperback)",
ISBN-13 = "978-0-13-712929-4 (paperback)",
LCCN = "QA76.73.P98 S86 2009",
bibdate = "Thu Apr 16 08:04:00 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/master.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Developer's library",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
tableofcontents = "Introduction / 1 \\
1: Rapid Introduction to Procedural Programming / 7 \\
Creating and Running Python Programs / 7 \\
Python's ``Beautiful Heart'' / 12 \\
Example / 36 \\
Summary / 42 \\
Exercises / 44 \\
2:Data Types / 47 \\
Identifiers and Keywords / 47 \\
Integral Types / 50 \\
Floating-Point Types / 54 \\
Strings / 61 \\
Examples / 88 \\
Summary / 95 \\
Exercises / 97 \\
3: Collection Data Types / 99 \\
Sequence Types / 9 \\
Set Types / 112 \\
Mapping Types / 117 \\
Iterating and Copying Collections / 127 \\
Examples / 138 \\
Summary / 146 \\
Exercises / 147 \\
4: Control Structures and Functions / 149 \\
Control Structures / 149 \\
Exception Handling / 153 \\
Custom Functions / 161 \\
Example: make\_html\_skeleton.py / 175 \\
Summary / 181 \\
Exercise / 182 \\
5: Modules / 185 \\
Modules and Packages / 185 \\
Overview of Python's Standard Library / 20 \\
Summary / 219 \\
Exercise / 220 \\
6: Object-Oriented Programming / 223 \\
The Object-Oriented Approach / 224 \\
Custom Classes / 228 \\
Custom Collection Classes / 25 \\
Summary / 272 \\
Exercises / 274 \\
7: File Handling / 277 \\
Writing and Reading Binary Data / 282 \\
Writing and Parsing Text Files / 294 \\
Writing and Parsing XML Files / 302 \\
Random Access Binary Files / 313 \\
Summary / 326 \\
Exercises / 327 \\
8: Advanced Programming Techniques / 329 \\
Further Procedural Programming / 330 \\
Further Object-Oriented Programming / 353 \\
Functional-Style Programming / 384 \\
Example: Valid.py / 388 \\
Summary / 390 \\
Exercises / 392 \\
9: Processes and Threading / 395 \\
Delegating Work to Processes / 396 \\
Delegating Work to Threads / 400 \\
Summary / 409 \\
Exercises / 410 \\
10: Networking / 413 \\
Creating a TCP Client / 414 \\
Creating a TCP Server / 420 \\
Summary / 427 \\
Exercises / 427 \\
11: Database Programming / 431 \\
DBM Databases / 432 \\
SQL Databases / 436 \\
Summary / 443 \\
Exercise / 444 \\
12: Regular Expressions / 445 \\
Python's Regular Expression Language / 446 \\
The Regular Expression Module / 455 \\
Summary / 464 \\
Exercises / 465 \\
13: Introduction to GUI Programming \\
Dialog-Style Programs \\
Main-Window-Style Programs \\
Summary \\
Exercises \\
Epilogue \\
About the Author \\
Production \\
Index",
}
@Book{Sweigart:2009:PPL,
author = "Albert Sweigart",
title = "Playing with {Python}: learn to program by making
games",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "????",
year = "2009",
ISBN = "1-59327-198-0 (paperback)",
ISBN-13 = "978-1-59327-198-5 (paperback)",
LCCN = "????",
bibdate = "Thu Apr 16 13:05:01 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
library.tcd.ie:210/advance",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer games;
Programming",
}
@Book{Swinnen:2009:APA,
author = "G{\'e}rard Swinnen",
title = "Apprendre {\'a} programmer avec Python: objet,
multithreading, {\'e}v{\'e}nements, bases de
donn{\'e}es, programmation web, programmation
r{\'e}seau, Unicode",
publisher = pub-EYROLLES,
address = pub-EYROLLES:adr,
pages = "xviii + 341",
year = "2009",
LCCN = "????",
bibdate = "Thu Apr 16 12:00:29 MDT 2009",
bibsource = "carmin.sudoc.abes.fr:210/ABES-Z39-PUBLIC;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
language = "French",
}
@Book{Theis:2009:EPC,
author = "Thomas Theis",
title = "{Einstieg in Python 3: [auf CD: Python 3 und alle
Code-Beispiele des Buchs ; f{\"u}r Programmanf{\"a}nger
und Umsteiger ; mit vielen Beispielen und
{\`e}Ubungsaufgaben ; inkl. objektorientierter
Programmierung, Datenbanken, Internet u.v.m.]}",
publisher = "Galileo Press",
address = "Bonn, Germany",
edition = "Second",
pages = "399",
year = "2009",
ISBN = "3-8362-1406-7",
ISBN-13 = "978-3-8362-1406-3",
LCCN = "????",
bibdate = "Thu Apr 16 12:02:26 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 24.90",
series = "Galileo computing",
acknowledgement = ack-nhfb,
language = "German",
remark = "Mit Online-Aktualisierung unter
www.galileocomputing.de.",
}
@Article{Tohline:2009:CPM,
author = "Joel E. Tohline and Jinghya Ge and Wesley Even and
Erik Anderson",
title = "A Customized {Python} Module for {CFD} Flow Analysis
within {VisTrails}",
journal = j-COMPUT-SCI-ENG,
volume = "11",
number = "3",
pages = "68--73",
month = may # "\slash " # jun,
year = "2009",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2009.44",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu May 13 11:08:14 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Tosi:2009:MPD,
author = "Sandro Tosi",
title = "{Matplotlib} for {Python} developers: build remarkable
publication quality plots the easy way",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iv + 293",
year = "2009",
ISBN = "1-84719-790-6",
ISBN-13 = "978-1-84719-790-0",
LCCN = "QA76.73.P48 T67 2009",
bibdate = "Mon Jul 12 16:23:13 MDT 2010",
bibsource = "aubrey.tamu.edu:7090/voyager;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
series = "From technologies to solutions",
acknowledgement = ack-nhfb,
}
@Book{Vaingast:2009:BPV,
author = "Shai Vaingast",
title = "Beginning {Python} visualization: crafting visual
transformation scripts",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xx + 363",
year = "2009",
ISBN = "1-4302-1843-6 (paperback)",
ISBN-13 = "978-1-4302-1843-2 (paperback)",
LCCN = "QA76.73.P98 V35 2009",
bibdate = "Mon Jul 12 15:08:11 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
}
@Book{Weigend:2009:OPP,
author = "Michael Weigend",
title = "{Objektorientierte Programmierung mit Python 3.0}",
publisher = "REDLINE",
address = "Heidelberg, Neckar, Germany",
edition = "Fourth",
pages = "752",
year = "2009",
ISBN = "3-8266-1750-9",
ISBN-13 = "978-3-8266-1750-8",
LCCN = "????",
bibdate = "Thu Apr 16 11:58:18 MDT 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.gbv.de:20011/gvk",
price = "EUR 39.95",
series = "mitp bei Redline",
acknowledgement = ack-nhfb,
language = "German",
}
@Article{Alnaes:2010:ESC,
author = "Martin Sandve Aln{\ae}s and Kent-Andr{\'e} Mardal",
title = "On the efficiency of symbolic computations combined
with code generation for finite element methods",
journal = j-TOMS,
volume = "37",
number = "1",
pages = "6:1--6:26",
month = jan,
year = "2010",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1644001.1644007",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Mon Mar 15 10:45:33 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Efficient and easy implementation of variational forms
for finite element discretization can be accomplished
with metaprogramming. Using a high-level language like
Python and symbolic mathematics makes an abstract
problem definition possible, but the use of a low-level
compiled language is vital for run-time efficiency. By
generating low-level C++ code based on symbolic
expressions for the discrete weak form, it is possible
to accomplish a high degree of abstraction in the
problem definition while surpassing the run-time
efficiency of traditional hand written C++ codes. We
provide several examples where we demonstrate orders of
magnitude in speedup.",
acknowledgement = ack-nhfb,
articleno = "6",
fjournal = "ACM Transactions on Mathematical Software",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
keywords = "automation; code generation; compiler; finite element;
metaprogramming; Variational forms",
}
@Article{Anderson:2010:UPS,
author = "Erik W. Anderson and Gilbert A. Preston and Claudio T.
Silva",
title = "Using {Python} for Signal Processing and
Visualization",
journal = j-COMPUT-SCI-ENG,
volume = "12",
number = "4",
pages = "90--95",
month = jul # "\slash " # aug,
year = "2010",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2010.91",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Tue Jul 27 16:37:11 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Bassi:2010:PB,
author = "Sebastian Bassi",
title = "{Python} for bioinformatics",
publisher = pub-CRC,
address = pub-CRC:adr,
pages = "xxv + 584",
year = "2010",
ISBN = "1-58488-929-2 (paperback)",
ISBN-13 = "978-1-58488-929-8 (paperback)",
LCCN = "QH324.2 .B387 2010",
bibdate = "Thu Nov 15 17:15:53 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Chapman and Hall/CRC mathematical and computational
biology series",
acknowledgement = ack-nhfb,
subject = "Bioinformatics; Python (Computer program language)",
}
@Article{Blundell:2010:RTR,
author = "Colin Blundell and Arun Raghavan and Milo M. K.
Martin",
title = "{RETCON}: transactional repair without replay",
journal = j-COMP-ARCH-NEWS,
volume = "38",
number = "3",
pages = "258--269",
month = jun,
year = "2010",
CODEN = "CANED2",
DOI = "https://doi.org/10.1145/1815961.1815995",
ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)",
ISSN-L = "0163-5964",
bibdate = "Tue Jul 6 14:11:46 MDT 2010",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Over the past decade there has been a surge of
academic and industrial interest in optimistic
concurrency, {\em i.e.\/} the speculative parallel
execution of code regions that have the semantics of
isolation. This work analyzes scalability bottlenecks
of workloads that use optimistic concurrency. We find
that one common bottleneck is updates to auxiliary
program data in otherwise non-conflicting operations,
{\em e.g.\/} reference count updates and hashtable
occupancy field increments.\par
To eliminate the performance impact of conflicts on
such auxiliary data, this work proposes RETCON, a
hardware mechanism that tracks the relationship between
input and output values symbolically and uses this
symbolic information to transparently repair the output
state of a transaction at commit. RETCON is inspired by
instruction replay-based mechanisms but exploits
simplifying properties of the nature of computations on
auxiliary data to perform repair {\em without\/}
replay. Our experiments show that RETCON provides
significant speedups for workloads that exhibit
conflicts on auxiliary data, including transforming a
transactionalized version of the Python interpreter
from a workload that exhibits no scaling to one that
exhibits near-linear scaling on 32 cores.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGARCH Computer Architecture News",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89",
keywords = "parallel programming; transactional memory",
}
@Book{Dawson:2010:PPA,
author = "Mike Dawson",
title = "{Python} programming for the absolute beginner",
publisher = "Course Technology Cengage Learning",
address = "Boston, MA, USA",
edition = "Third",
pages = "xxiii + 455",
year = "2010",
ISBN = "1-4354-5500-2",
ISBN-13 = "978-1-4354-5500-9",
LCCN = "QA76.73.P98 D39 2010",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "For the absolute beginner",
URL = "http://catdir.loc.gov/catdir/enhancements/fy1105/2009933304-b.html;
http://catdir.loc.gov/catdir/enhancements/fy1105/2009933304-d.html;
http://catdir.loc.gov/catdir/enhancements/fy1105/2009933304-t.html;
http://www.courseptr.com/downloads",
abstract = "Teaches readers the basics of Python programming
through simple game creation and describes how the
skills learned can be used for more practical Python
programming applications and real-world scenarios.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Getting started: the game over program \\
Types, variables, and simple I/O: the useless trivia
program \\
Branching, while loops, and program planning: the guess
my number game \\
For loops, strings, and tuples: the word jumble game
\\
Lists and dictionaries: the hangman gmae \\
Functions: the tic-tac-toe game \\
Files and exceptions: the trivia challenge game \\
Software objects: the critter caretaker program \\
Object-oriented programming: the blackjack game \\
GUI development: the mad lib program \\
Graphics: the pizza panic game \\
Sound, animation, and program development: the
astrocrash game",
}
@Article{Gorbovitski:2010:AAO,
author = "Michael Gorbovitski and Yanhong A. Liu and Scott D.
Stoller and Tom Rothamel and Tuncay K. Tekle",
title = "Alias analysis for optimization of dynamic languages",
journal = j-SIGPLAN,
volume = "45",
number = "12",
pages = "27--42",
month = dec,
year = "2010",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1899661.1869635",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Dec 15 10:25:15 MST 2010",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Dynamic languages such as Python allow programs to be
written more easily using high-level constructs such as
comprehensions for queries and using generic code.
Efficient execution of programs then requires powerful
optimizations - incrementalization of expensive queries
and specialization of generic code. Effective
incrementalization and specialization of dynamic
languages require precise and scalable alias analysis.
This paper describes the development and experimental
evaluation of a may-alias analysis for a full dynamic
object-oriented language, for program optimization by
incrementalization and specialization. The analysis is
flow-sensitive; we show that this is necessary for
effective optimization of dynamic languages. It uses
precise type analysis and a powerful form of context
sensitivity, called trace sensitivity, to further
improve analysis precision.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Book{Hetland:2010:PAM,
author = "Magnus Lie Hetland",
title = "{Python} Algorithms: mastering basic algorithms in the
{Python} Language",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xvi + 316",
year = "2010",
DOI = "https://doi.org/10.1007/978-1-4302-3238-4",
ISBN = "1-4302-3237-4",
ISBN-13 = "978-1-4302-3237-7",
LCCN = "QA76.73.P98 H485 2010",
bibdate = "Fri Oct 23 15:26:47 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Expert's voice in open source",
URL = "http://www.loc.gov/catdir/enhancements/fy1502/2011287235-b.html;
http://www.loc.gov/catdir/enhancements/fy1502/2011287235-d.html;
http://www.loc.gov/catdir/toc/fy11pdf04/2011287235.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
algorithms",
tableofcontents = "About the Author \\
About the Technical Reviewer \\
Acknowledgments \\
Preface \\
1: Introduction \\
What's All This, Then? \\
Why Are You Here? \\
Some Prerequisites \\
What's in This Book \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
2: The Basics \\
Some Core Ideas in Computing \\
Asymptotic Notation \\
It's Greek to Me! \\
Rules of the Road \\
Taking the Asymptotics for a Spin \\
Three Important Cases \\
Empirical Evaluation of Algorithms \\
Implementing Graphs and Trees \\
Adjacency Lists and the LikeAdjacency
MatricesImplementing Trees \\
A Multitude of Representations \\
Beware of Black Boxes \\
Hidden Squares \\
The Trouble with Floats \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
3: Counting 101 \\
The Skinny on Sums \\
More Greek \\
Working with Sums \\
A Tale of Two Tournaments \\
Shaking Hands \\
The Hare and the Tortoise \\
Subsets, Permutations, and Combinations \\
Recursion and Recurrences \\
Doing It by Hand \\
A Few Important Examples \\
Guessing and Checking \\
The Master Theorem: a Cookie-Cutter Solution \\
So What Was All That About? \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
4: Induction and Recursion \ldots{} and Reduction Oh,
That's Easy! \\
One, Two, Many \\
Mirror, Mirror \\
Designing with Induction (and Recursion) \\
Finding a Maximum Permutation \\
The Celebrity Problem \\
Topological Sorting \\
Stronger Assumptions \\
Invariants and Correctness \\
Relaxation and Gradual Improvement \\
Reduction + Contraposition = Hardness Proof \\
Problem Solving Advice \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
5: Traversal: The Skeleton Key of Algorithmics \\
A Walk in the Park \\
No Cycles Allowed \\
How to Stop Walking in Circles \\
Go Deep!Depth-First Timestamps and Topological Sorting
(Again)Infinite Mazes and Shortest (Unweighted) Paths
\\
Strongly Connected Components \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
6: Divide, Combine, and Conquer \\
Tree-Shaped Problems: All About the Balance \\
The Canonical D and C Algorithm \\
Searching by Halves \\
Traversing Search Trees \ldots{} with Pruning \\
Selection \\
Sorting by Halves \\
How Fast Can We Sort? \\
Three More Examples \\
Closest Pair \\
Convex Hull \\
Greatest Slice \\
Tree Balance \ldots{} and Balancing? \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
7: Greed Is Good? Prove It! Staying Safe, Step by Step
\\
The Knapsack Problem \\
Fractional Knapsack \\
Integer Knapsack \\
Huffman's Algorithm \\
The Algorithm \\
The First Greedy Choice \\
Going the Rest of the Way \\
Optimal Merging \\
Minimum spanning trees \\
The Shortest Edge \\
What About the Rest? \\
Kruskal's Algorithm \\
Prim's Algorithm \\
Greed Works. But When? \\
Keeping Up with the Best \\
No Worse Than Perfect \\
Staying Safe \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
8: Tangled Dependencies and Memoization \\
Don't Repeat Yourself \\
Shortest Paths in Directed Acyclic Graphs",
}
@Article{Jankowski:2010:BRBa,
author = "Richard Jankowski",
title = "Book Review: {{\booktitle{Data Structures and
Algorithms Using Python and C++}}, by David M. Reed and
John Zelle Franklin, Beedle and Associates 2009}",
journal = j-SIGACT,
volume = "41",
number = "1",
pages = "13--15",
month = mar,
year = "2010",
CODEN = "SIGNDM",
DOI = "https://doi.org/10.1145/1753171.1753174",
ISSN = "0163-5700 (print), 1943-5827 (electronic)",
ISSN-L = "0163-5700",
bibdate = "Tue Mar 20 14:39:00 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigact.bib",
note = "See \cite{Reed:2009:DSA}.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGACT News",
journal-URL = "http://dl.acm.org/citation.cfm?id=J697",
}
@Book{Kiusalaas:2010:NME,
author = "Jaan Kiusalaas",
title = "Numerical methods in engineering with {Python}",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
edition = "Second",
pages = "x + 422",
year = "2010",
ISBN = "0-521-19132-7 (hardcover)",
ISBN-13 = "978-0-521-19132-6 (hardcover)",
LCCN = "TA345 .K584 2010",
bibdate = "Mon Jan 31 15:16:50 MST 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (computer program language); MATLAB;
engineering mathematics; data processing; numerical
analysis",
}
@Article{Lee:2010:JSD,
author = "Byeongcheol Lee and Ben Wiedermann and Martin Hirzel
and Robert Grimm and Kathryn S. McKinley",
title = "{Jinn}: synthesizing dynamic bug detectors for foreign
language interfaces",
journal = j-SIGPLAN,
volume = "45",
number = "6",
pages = "36--49",
month = jun,
year = "2010",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1809028.1806601",
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/python.bib",
abstract = "Programming language specifications mandate static and
dynamic analyses to preclude syntactic and semantic
errors. Although individual languages are usually
well-specified, composing languages is not, and this
poor specification is a source of many errors in {\em
multilingual\/} programs. For example, virtually all
Java programs compose Java and C using the Java Native
Interface (JNI). Since JNI is informally specified,
developers have difficulty using it correctly, and
current Java compilers and virtual machines (VMs)
inconsistently check only a subset of JNI
constraints.\par
This paper's most significant contribution is to show
how to synthesize dynamic analyses from state machines
to detect foreign function interface (FFI) violations.
We identify three classes of FFI constraints encoded by
eleven state machines that capture thousands of JNI and
Python/C FFI rules. We use a mapping function to
specify which state machines, transitions, and program
entities (threads, objects, references) to check at
each FFI call and return. From this function, we
synthesize a context-specific dynamic analysis to find
FFI bugs. We build bug detection tools for JNI and
Python/C using this approach. For JNI, we dynamically
and transparently interpose the analysis on Java and C
language transitions through the JVM tools interface.
The resulting tool, called Jinn, is compiler and
virtual machine {\em independent}. It detects and
diagnoses a wide variety of FFI bugs that other tools
miss. This approach greatly reduces the annotation
burden by exploiting common FFI constraints: whereas
the generated Jinn code is 22,000+ lines, we wrote only
1,400 lines of state machine and mapping code. Overall,
this paper lays the foundation for a more principled
approach to developing correct multilingual software
and a more concise and automated approach to FFI
specification.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "dynamic analysis; ffi bugs; foreign function
interfaces (FFI); java native interface (jni);
multilingual programs; python/C; specification;
specification generation",
}
@Article{Liu:2010:LFI,
author = "Yanhong A. Liu and Michael Gorbovitski and Scott D.
Stoller",
title = "A language and framework for invariant-driven
transformations",
journal = j-SIGPLAN,
volume = "45",
number = "2",
pages = "55--64",
month = feb,
year = "2010",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1837852.1621617",
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/python.bib",
abstract = "This paper describes a language and framework that
allow coordinated transformations driven by invariants
to be specified declaratively, as invariant rules, and
applied automatically. The framework supports
incremental maintenance of invariants for program
design and optimization, as well as general
transformations for instrumentation, refactoring, and
other purposes. This paper also describes our
implementations for transforming Python and C programs
and experiments with successful applications of the
systems in generating efficient implementations from
clear and modular specifications, in instrumenting
programs for runtime verification, profiling, and
debugging, and in code refactoring.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "incremental maintenance; invariants; program
optimization; program transformation; runtime invariant
checking",
}
@Article{Logg:2010:DAF,
author = "Anders Logg and Garth N. Wells",
title = "{DOLFIN}: {Automated} finite element computing",
journal = j-TOMS,
volume = "37",
number = "2",
pages = "20:1--20:28",
month = apr,
year = "2010",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1731022.1731030",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Apr 21 11:39:57 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "We describe here a library aimed at automating the
solution of partial differential equations using the
finite element method. By employing novel techniques
for automated code generation, the library combines a
high level of expressiveness with efficient
computation. Finite element variational forms may be
expressed in near mathematical notation, from which
low-level code is automatically generated, compiled,
and seamlessly integrated with efficient
implementations of computational meshes and
high-performance linear algebra. Easy-to-use
object-oriented interfaces to the library are provided
in the form of a C++ library and a Python module. This
article discusses the mathematical abstractions and
methods used in the design of the library and its
implementation. A number of examples are presented to
demonstrate the use of the library in application
code.",
acknowledgement = ack-nhfb,
articleno = "20",
fjournal = "ACM Transactions on Mathematical Software",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
keywords = "code generation; DOLFIN; FEniCS project; form
compiler",
}
@Article{Patil:2010:PBS,
author = "Anand Patil and David Huard and Christopher J.
Fonnesbeck",
title = "{{\tt PyMC}}: {Bayesian} Stochastic Modelling in
{Python}",
journal = j-J-STAT-SOFT,
volume = "35",
number = "4",
pages = "??--??",
month = jul,
year = "2010",
CODEN = "JSSOBK",
ISSN = "1548-7660",
bibdate = "Wed Aug 25 09:57:41 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v35/i04",
acknowledgement = ack-nhfb,
fjournal = "Journal of Statistical Software",
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2008-12-22; Accepted 2010-01-22",
}
@Book{Phillips:2010:POO,
author = "Dusty Phillips",
title = "{Python 3} object oriented programming",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "v + 388",
year = "2010",
ISBN = "1-84951-126-8, 1-84951-127-6 (e-book)",
ISBN-13 = "978-1-84951-126-1, 978-1-84951-127-8 (e-book)",
LCCN = "QA76.73.P98 P45 2010eb",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Computers; Programming;
Object Oriented.",
}
@Article{Pop:2010:ERH,
author = "Iustin Pop",
title = "Experience report: {Haskell} as a reagent: results and
observations on the use of {Haskell} in a {Python}
project",
journal = j-SIGPLAN,
volume = "45",
number = "9",
pages = "369--374",
month = sep,
year = "2010",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1932681.1863595",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Jan 26 15:13:43 MST 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Book{Rhodes:2010:FPN,
author = "Brandon Rhodes and John Goerzen",
title = "Foundations of {Python} network programming: the
comprehensive guide to building network applications
with {Python}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
pages = "xx + 345",
year = "2010",
DOI = "https://doi.org/10.1007/978-1-4302-3004-5",
ISBN = "1-4302-3003-7 (paperback), 1-4302-3004-5 (e-book)",
ISBN-13 = "978-1-4302-3003-8 (paperback), 978-1-4302-3004-5
(e-book)",
LCCN = "QA76.73.P98 G64 2010eb",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "The expert's voice in open source",
URL = "http://proquest.safaribooksonline.com/9781430230038",
abstract = "This second edition of Foundations of Python Network
Programming targets Python 2.5 through Python 2.7, the
most popular production versions of the language.
Python has made great strides since Apress released the
first edition of this book back in the days of Python
2.3. The advances required new chapters to be written
from the ground up, and others to be extensively
revised. You will learn fundamentals like IP, TCP, DNS
and SSL by using working Python programs; you will also
be able to familiarize yourself with infrastructure
components like memcached and message queues. You can
also delve into network server designs, and compare
threaded approaches with asynchronous event-based
solutions. But the biggest change is this edition's
expanded treatment of the web. The HTTP protocol is
covered in extensive detail, with each feature
accompanied by sample Python code. You can use your
HTTP protocol expertise by studying an entire chapter
on screen scraping and you can then test lxml and
BeautifulSoup against a real-world web site. The
chapter on web application programming now covers both
the WSGI standard for component interoperability, as
well as modern web frameworks like Django. Finally, all
of the old favorites from the first edition are back:
E-mail protocols like SMTP, POP, and IMAP get full
treatment, as does XML-RPC. You can still learn how to
code Python network programs using the Telnet and FTP
protocols, but you are likely to appreciate the power
of more modern alternatives like the paramiko SSH2
library. If you are a Python programmer who needs to
learn the network, this is the book that you want by
your side.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); COMPUTERS;
Programming Languages; C{\"A}; Java.; Pascal.; Python
(Computer program language)",
tableofcontents = "1 Introduction to Client/Server Networking \\
2 UDP \\
3 TCP \\
4 Socket Names and DNS \\
5 Network Data and Network Errors \\
6 TLS and SSL \\
7 Server Architecture \\
8 Caches, Message Queues, and Map-Reduce \\
9 HTTP \\
10 Screen Scraping \\
11 Web Applications \\
12 E-mail Composition and Decoding \\
14 SMTP \\
14 POP \\
15 IMAP \\
16 Telnet and SSH \\
17 FTP \\
18 RPC",
}
@Book{Summerfield:2010:PPC,
author = "Mark Summerfield",
title = "Programming in {Python 3}: a complete introduction to
the {Python} language",
publisher = pub-AW,
address = pub-AW:adr,
edition = "Second",
pages = "xvi + 630",
year = "2010",
ISBN = "0-321-68056-1 (paperback)",
ISBN-13 = "978-0-321-68056-3 (paperback)",
LCCN = "QA76.73.P98 S86 2010",
bibdate = "Thu Mar 25 12:43:08 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Developer's library",
acknowledgement = ack-nhfb,
subject = "Python (computer program language); object-oriented
programming (computer science)",
}
@Article{Tabba:2010:ACP,
author = "Fuad Tabba",
title = "Adding concurrency in {Python} using a commercial
processor's hardware transactional memory support",
journal = j-COMP-ARCH-NEWS,
volume = "38",
number = "5",
pages = "12--19",
month = dec,
year = "2010",
CODEN = "CANED2",
DOI = "https://doi.org/10.1145/1978907.1978911",
ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)",
ISSN-L = "0163-5964",
bibdate = "Fri May 13 11:25:46 MDT 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This paper reports on our experiences of using a
commercial processor's best-effort hardware
transactional memory to improve concurrency in CPython,
the reference Python implementation. CPython protects
its data structures using a single global lock, which
inhibits parallelism when running multiple
threads.\par
We modified the CPython interpreter to use best-effort
hardware transactions available in Sun's Rock
processor, and fall back on the single global lock when
unable to commit in hardware. The modifications were
minimal; however, we had to restructure some of
CPython's shared data structures to handle false
conflicts arising from CPython's management of the
shared data. Our results show that the modified CPython
interpreter can run small, simple, workloads and scale
almost linearly, while improving the concurrency of
more complex workloads.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGARCH Computer Architecture News",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89",
}
@Article{Tatsubori:2010:EJT,
author = "Michiaki Tatsubori and Akihiko Tozawa and Toyotaro
Suzumura and Scott Trent and Tamiya Onodera",
title = "Evaluation of a just-in-time compiler retrofitted for
{PHP}",
journal = j-SIGPLAN,
volume = "45",
number = "7",
pages = "121--132",
month = jul,
year = "2010",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/1735997.1736015",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Oct 8 17:55:01 MDT 2010",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Programmers who develop Web applications often use
dynamic scripting languages such as Perl, PHP, Python,
and Ruby. For general purpose scripting language usage,
interpreter-based implementations are efficient and
popular but the server-side usage for Web application
development implies an opportunity to significantly
enhance Web server throughput. This paper summarizes a
study of the optimization of PHP script processing. We
developed a PHP processor, P9, by adapting an existing
production-quality just-in-time (JIT) compiler for a
Java virtual machine, for which optimization
technologies have been well-established, especially for
server-side application. This paper describes and
contrasts microbenchmarks and SPECweb2005 benchmark
results for a well-tuned configuration of a traditional
PHP interpreter and our JIT compiler-based
implementation, P9. Experimental results with the
microbenchmarks show 2.5-9.5x advantage with P9, and
the SPECweb2005 measurements show about 20-30\%
improvements. These results show that the acceleration
of dynamic scripting language processing does matter in
a realistic Web application server environment. CPU
usage profiling shows our simple JIT compiler
introduction reduces the PHP core runtime overhead from
45\% to 13\% for a SPECweb2005 scenario, implying that
further improvements of dynamic compilers would provide
little additional return unless other major overheads
such as heavy memory copy between the language runtime
and Web server frontend are reduced.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "dynamic scripting languages; just-in-time compiler;
php",
}
@Article{Xia:2010:CSP,
author = "Xiao-Qin Xia and Michael McClelland and Yipeng Wang",
title = "Code Snippet: {{\tt PypeR}}, a {Python} Package for
Using {R} in {Python}",
journal = j-J-STAT-SOFT,
volume = "35",
number = "CS-2",
pages = "??--??",
month = jul,
year = "2010",
CODEN = "JSSOBK",
ISSN = "1548-7660",
bibdate = "Wed Aug 25 09:57:41 MDT 2010",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v35/c02",
acknowledgement = ack-nhfb,
fjournal = "Journal of Statistical Software",
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2009-10-23; Accepted 2010-03-23",
}
@Article{Barry:2011:PA,
author = "Paul Barry",
title = "{Python} for {Android}",
journal = j-LINUX-J,
volume = "2011",
number = "203",
pages = "1:1--1:??",
month = mar,
year = "2011",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Fri Mar 18 09:08:58 MDT 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
articleno = "1",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Catanzaro:2011:CCE,
author = "Bryan Catanzaro and Michael Garland and Kurt
Keutzer",
title = "{Copperhead}: compiling an embedded data parallel
language",
journal = j-SIGPLAN,
volume = "46",
number = "8",
pages = "47--56",
month = aug,
year = "2011",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2038037.1941562",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Aug 26 14:04:45 MDT 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
note = "PPoPP '11 Conference proceedings.",
abstract = "Modern parallel microprocessors deliver high
performance on applications that expose substantial
fine-grained data parallelism. Although data
parallelism is widely available in many computations,
implementing data parallel algorithms in low-level
languages is often an unnecessarily difficult task. The
characteristics of parallel microprocessors and the
limitations of current programming methodologies
motivate our design of Copperhead, a high-level data
parallel language embedded in Python. The Copperhead
programmer describes parallel computations via
composition of familiar data parallel primitives
supporting both flat and nested data parallel
computation on arrays of data. Copperhead programs are
expressed in a subset of the widely used Python
programming language and interoperate with standard
Python modules, including libraries for numeric
computation, data visualization, and analysis. In this
paper, we discuss the language, compiler, and runtime
features that enable Copperhead to efficiently execute
data parallel code. We define the restricted subset of
Python which Copperhead supports and introduce the
program analysis techniques necessary for compiling
Copperhead code into efficient low-level
implementations. We also outline the runtime support by
which Copperhead programs interoperate with standard
Python modules. We demonstrate the effectiveness of our
techniques with several examples targeting the CUDA
platform for parallel programming on GPUs. Copperhead
code is concise, on average requiring 3.6 times fewer
lines of code than CUDA, and the compiler generates
efficient code, yielding 45-100\% of the performance of
hand-crafted, well optimized CUDA code.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Joyner:2011:OSC,
author = "David Joyner and Ond{\v{r}}ej {\v{C}}ert{\'\i}k and
Aaron Meurer and Brian E. Granger",
title = "Open source computer algebra systems: {SymPy}",
journal = j-ACM-COMM-COMP-ALGEBRA,
volume = "45",
number = "3--4",
pages = "225--234",
month = sep,
year = "2011",
CODEN = "????",
DOI = "https://doi.org/10.1145/2110170.2110185",
ISSN = "1932-2232 (print), 1932-2240 (electronic)",
ISSN-L = "1932-2232",
bibdate = "Thu Jan 26 16:43:28 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigsam.bib",
abstract = "This survey will look at SymPy, a free and open source
computer algebra system started in 2005 by the second
author (O.{\v{C}}.). It is written entirely in Python,
available from http://sympy.org. SymPy is licensed
under the ``modified BSD'' license, as is its beautiful
logo designed by Fredrik Johansson.",
acknowledgement = ack-nhfb,
fjournal = "ACM Communications in Computer Algebra",
issue = "177",
}
@Article{Khatri:2011:MBC,
author = "Sujata Khatri and R. S. Chhillar and V. B. Singh",
title = "Measuring bug complexity in object oriented software
system",
journal = j-SIGSOFT,
volume = "36",
number = "6",
pages = "1--8",
month = nov,
year = "2011",
CODEN = "SFENDP",
DOI = "https://doi.org/10.1145/2047414.2047424",
ISSN = "0163-5948 (print), 1943-5843 (electronic)",
ISSN-L = "0163-5948",
bibdate = "Wed Aug 1 17:16:07 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigsoft2010.bib",
abstract = "Bugs are inevitable in any software development life
cycle. Most bugs are detected and removed in the
testing phase. In software, we can classify bugs into
two categories: (1) bugs of different severity, from a
user's perspective,(how much damage the bug does) and
(2) bugs of different complexity(how much is the
debugging time lag between detection and correction).
Prior knowledge of bug distribution of different
complexity can help project managers in allocating
testing resources and tools. Various researchers have
proposed models for determining the proportion of bugs
present in software of different complexity but none of
these models have been applied to object oriented
software. In this paper, we have proposed a model that
will determine the proportion of different bug
complexity. The paper also suggests the suitability of
the proposed model for a particular data set. We have
taken two data sets based on object oriented
methodology namely SQL for Python and SQuirreL SQL
Client software developed under open source
environment.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGSOFT Software Engineering Notes",
journal-URL = "https://dl.acm.org/citation.cfm?id=J728",
}
@Article{Klaver:2011:PC,
author = "Adrian Klaver",
title = "{Python} in the cloud",
journal = j-LINUX-J,
volume = "2011",
number = "210",
pages = "7:1--7:??",
month = oct,
year = "2011",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sun Nov 6 07:06:26 MST 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
articleno = "7",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Kormanyos:2011:APC,
author = "Christopher Kormanyos",
title = "{Algorithm 910}: a Portable {C++} Multiple-Precision
System for Special-Function Calculations",
journal = j-TOMS,
volume = "37",
number = "4",
pages = "45:1--45:27",
month = feb,
year = "2011",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1916461.1916469",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Mar 1 16:05:18 MST 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/elefunt.bib;
https://www.math.utah.edu/pub/tex/bib/mathematica.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "This article presents a portable C++ system for
multiple precision calculations of special functions
called {\tt e\_float}. It has an extendable
architecture with a uniform C++ layer which can be used
with any suitably prepared MP type. The system
implements many high-precision special functions and
extends some of these to very large parameter ranges.
It supports calculations with 30 \ldots{} 300 decimal
digits of precision. Interoperabilities with
Microsoft's CLR, Python, and Mathematica{\reg} are
supported. The {\tt e\_float} system and its usage are
described in detail. Implementation notes, testing
results, and performance measurements are provided.",
acknowledgement = ack-nhfb,
articleno = "45",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Lambert:2011:PBO,
author = "Emmanuel Lambert and Martin Fiers and Shavkat Nizamov
and Martijn Tassaert and Steven G. Johnson and Peter
Bienstman and Wim Bogaerts",
title = "{Python} Bindings for the {Open Source Electromagnetic
Simulator Meep}",
journal = j-COMPUT-SCI-ENG,
volume = "13",
number = "3",
pages = "53--65",
month = may # "\slash " # jun,
year = "2011",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2010.98",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Apr 1 22:44:30 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Langtangen:2011:PSP,
author = "Hans Petter Langtangen",
title = "A primer on scientific programming with {Python}",
volume = "6",
publisher = pub-SV,
address = pub-SV:adr,
edition = "Second",
pages = "xxix + 699",
year = "2011",
DOI = "https://doi.org/10.1007/978-3-642-18366-9",
ISBN = "3-642-18365-4, 3-642-18366-2 (e-book)",
ISBN-13 = "978-3-642-18365-2, 978-3-642-18366-9 (e-book)",
LCCN = "QA76.73.P98 L36 2011",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Texts in computational science and engineering",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
programming",
}
@Book{Lee:2011:PPF,
author = "Kent D. Lee",
title = "{Python} programming fundamentals",
publisher = pub-SV,
address = pub-SV:adr,
pages = "xii + 241",
year = "2011",
DOI = "https://doi.org/10.1007/978-1-84996-537-8",
ISBN = "1-84996-536-6, 1-84996-537-4 (e-book)",
ISBN-13 = "978-1-84996-536-1, 978-1-84996-537-8 (e-book)",
LCCN = "QA76.73.P98 L44 2011",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Undergraduate topics in computer science",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python
(programmeertaal)",
}
@Article{List:2011:FUT,
author = "Michael List and David Car",
title = "A {Fortran} unit-testing framework utilizing
templating and the {PyF95++} toolset",
journal = j-FORTRAN-FORUM,
volume = "30",
number = "1",
pages = "3--15",
month = apr,
year = "2011",
CODEN = "????",
DOI = "https://doi.org/10.1145/1961363.1961364",
ISSN = "1061-7264 (print), 1931-1311 (electronic)",
ISSN-L = "1061-7264",
bibdate = "Mon Mar 21 16:45:38 MDT 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "A simple unit testing framework has been developed
utilizing a templating capability and Python based
preprocessor for Fortran. The implementation of this
framework and its use for testing serial and parallel
components is discussed. The capability was
successfully applied to the development of a Fortran
Standard Template Library and associated toolsets.",
acknowledgement = ack-nhfb,
fjournal = "ACM Fortran Forum",
}
@Article{Migallon:2011:PPL,
author = "H{\'e}ctor Migall{\'o}n and Violeta Migall{\'o}n and
Jos{\'e} Penad{\'e}s",
title = "A {Parallel Python} library for nonlinear systems",
journal = j-J-SUPERCOMPUTING,
volume = "58",
number = "3",
pages = "438--448",
month = dec,
year = "2011",
CODEN = "JOSUED",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Tue Dec 13 15:25:17 MST 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0920-8542&volume=58&issue=3&spage=438",
acknowledgement = ack-nhfb,
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
}
@Article{Millman:2011:PSE,
author = "K. Jarrod Millman and Michael Aivazis",
title = "{Python} for Scientists and Engineers",
journal = j-COMPUT-SCI-ENG,
volume = "13",
number = "2",
pages = "9--12",
month = mar # "\slash " # apr,
year = "2011",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2011.36",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Apr 1 22:44:30 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Parkin:2011:DEL,
author = "Tom Parkin",
title = "Debugging embedded {Linux} platforms with {DGB} and
{Python}",
journal = j-LINUX-J,
volume = "2011",
number = "206",
pages = "2:1--2:??",
month = jun,
year = "2011",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Jun 7 18:47:07 MDT 2011",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
articleno = "2",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Payne:2011:BPU,
author = "James Payne",
title = "Beginning {Python}: using {Python 2.6} and {Python
3.1}",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxxiv + 588",
year = "2011",
ISBN = "0-470-41463-4",
ISBN-13 = "978-0-470-41463-7",
LCCN = "????",
bibdate = "Fri Oct 23 15:15:41 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Wrox programmer to programmer",
abstract = "\booktitle{Beginning Python: Using Python 2.6 and
Python 3.1} introduces this open source, portable,
interpreted, object-oriented programming language that
combines remarkable power with clear syntax. This book
enables you to quickly create robust, reliable, and
reusable Python applications by teaching the basics so
you can quickly develop Web and scientific
applications, incorporate databases, and master systems
tasks on various operating systems, including Linux,
MAC OS, and Windows. You'll get a comprehensive
tutorial that guides you from writing simple, basic
Python scripts all the way through complex concepts,
and also features a reference of the standard modules
with examples illustrating how to implement features in
the various modules. Plus, the book covers using Python
in specific program development domains, such as XML,
databases, scientific applications, network
programming, and Web development.",
acknowledgement = ack-nhfb,
subject = "programmeringssprog; programmering; objektorienteret
programmering; vejledninger",
tableofcontents = "Part I. Dipping Your Toe into Python \\
Part II. Python Language and the Standard Library \\
Part III. Putting Python to Work \\
Part IV. Appendices",
}
@Article{Perez:2011:PES,
author = "Fernando Perez and Brian E. Granger and John D.
Hunter",
title = "{Python}: an Ecosystem for Scientific Computing",
journal = j-COMPUT-SCI-ENG,
volume = "13",
number = "2",
pages = "13--21",
month = mar # "\slash " # apr,
year = "2011",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2010.119",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Apr 1 22:44:30 2011",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Russell:2011:MSW,
author = "Matthew A. (Computer scientist) Russell",
title = "Mining the social web",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xx + 332",
year = "2011",
ISBN = "1-4493-8834-5 (paperback), 1-4493-0416-8 (e-book),
1-4493-0393-5 (e-book), 1-4493-9475-2",
ISBN-13 = "978-1-4493-8834-8 (paperback), 978-1-4493-0416-4
(e-book), 978-1-4493-0393-8 (e-book),
978-1-4493-9475-2",
LCCN = "QA76.9.D343 R87 2011",
bibdate = "Sat Mar 21 07:10:21 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://twitter.com/\#!/SocialWebMining",
abstract = "Facebook, Twitter, and LinkedIn generate a tremendous
amount of valuable social data, but how can you find
out who's making connections with social media, what
they're talking about, or where they're located? This
book shows you how to answer these questions and more.
Each chapter introduces techniques for mining data in
different areas of the social web, including blogs and
email.",
acknowledgement = ack-nhfb,
subject = "Data mining; Online social networks; Artificial
intelligence; Social networking",
tableofcontents = "Introduction: hacking on Twitter data \\
Microformats: semantic markup and common sense collide
\\
Mailboxes: oldies but goodies \\
Twitter: friends, followers, and setwise operations \\
Twitter: the tweet, the whole tweet, and nothing but
the tweet \\
LinkedIn: clustering your professional network for fun
(and profit?) \\
Google buzz: TF-IDF, cosine similarity, and
collocations \\
Blogs et al.: natural language processing (and beyond)
\\
Facebook: the all-in-one wonder \\
The semantic web: a cocktail discussion",
}
@Article{Anonymous:2012:PSR,
author = "Anonymous",
title = "{Python} scripts as a replacement for {\tt bash}
utility scripts",
journal = j-LINUX-J,
volume = "2012",
number = "223",
pages = "1:1--1:??",
month = nov,
year = "2012",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Dec 11 07:44:23 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Learn how to use Python and existing UNIX tools to
improve your productivity in the shell.",
acknowledgement = ack-nhfb,
articleno = "1",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Autin:2012:UUC,
author = "Ludovic Autin and Graham Johnson and Johan Hake and
Arthur Olson and Michel Sanner",
title = "{uPy}: a Ubiquitous {CG Python API} with
Biological-Modeling Applications",
journal = j-IEEE-CGA,
volume = "32",
number = "5",
pages = "50--61",
month = sep # "\slash " # oct,
year = "2012",
CODEN = "ICGADZ",
DOI = "https://doi.org/10.1109/MCG.2012.93",
ISSN = "0272-1716 (print), 1558-1756 (electronic)",
ISSN-L = "0272-1716",
bibdate = "Mon Oct 22 06:56:23 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecga.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Computer Graphics and Applications",
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/cga",
}
@Article{Baldwin:2012:SPG,
author = "Doug Baldwin",
title = "Special projects grants awarded",
journal = j-SIGCSE,
volume = "44",
number = "3",
pages = "6--6",
month = jul,
year = "2012",
CODEN = "SIGSD3",
DOI = "https://doi.org/10.1145/2350216.2350222",
ISSN = "0097-8418 (print), 2331-3927 (electronic)",
ISSN-L = "0097-8418",
bibdate = "Sat Nov 17 15:44:30 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigcse2010.bib",
abstract = "SIGCSE received 15 Special Projects grant proposals
for the May 2012 funding cycle. The Special Projects
Committee is pleased to announce that the following
four grants have been awarded: Anthony Allevato and
Steve Edwards, Virginia Tech, ``Pythy---A Cloud-Based
IDE for Novice Python Programmers''
(http://pythy.cs.vt.edu/). This project will develop a
Web-based environment in which novice programmers can
write and run Python programs and access documentation
and tutorials. This environment reduces the barriers
students often face if they have to install development
tools on their own computers.",
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{Beazley:2012:TYP,
author = "David Beazley",
title = "Three Years of {Python 3}",
journal = j-LOGIN,
volume = "37",
number = "1",
pages = "??--??",
month = feb,
year = "2012",
CODEN = "LOGNEM",
ISSN = "1044-6397",
ISSN-L = "1044-6397",
bibdate = "Fri Dec 7 10:42:18 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/usenix2010.bib;
https://www.usenix.org/publications/login",
URL = "https://www.usenix.org/publications/login/february-2012/three-years-python-3",
acknowledgement = ack-nhfb,
fjournal = ";login: the USENIX Association newsletter",
}
@Article{Bell:2012:PSA,
author = "Nathan Bell and Anil N. Hirani",
title = "{PyDEC}: Software and Algorithms for Discretization of
Exterior Calculus",
journal = j-TOMS,
volume = "39",
number = "1",
pages = "3:1--3:41",
month = nov,
year = "2012",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2382585.2382588",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Thu Dec 6 07:36:30 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "This article describes the algorithms, features, and
implementation of PyDEC, a Python library for
computations related to the discretization of exterior
calculus. PyDEC facilitates inquiry into both physical
problems on manifolds as well as purely topological
problems on abstract complexes. We describe efficient
algorithms for constructing the operators and objects
that arise in discrete exterior calculus, lowest-order
finite element exterior calculus, and in related
topological problems. Our algorithms are formulated in
terms of high-level matrix operations which extend to
arbitrary dimension. As a result, our implementations
map well to the facilities of numerical libraries such
as NumPy and SciPy. The availability of such libraries
makes Python suitable for prototyping numerical
methods. We demonstrate how PyDEC is used to solve
physical and topological problems through several
concise examples.",
acknowledgement = ack-nhfb,
articleno = "3",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Briot:2012:GLAa,
author = "Emmanuel Briot",
title = "Gem \#105: {Lady Ada} kisses {Python} --- part 1",
journal = j-SIGADA-LETTERS,
volume = "32",
number = "2",
pages = "45--46",
month = aug,
year = "2012",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/2429574.2429587",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "1094-3641",
bibdate = "Wed Jan 30 16:10:15 MST 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
}
@Article{Briot:2012:GLAb,
author = "Emmanuel Briot",
title = "Gem \#106: {Lady Ada} kisses {Python} --- part 2",
journal = j-SIGADA-LETTERS,
volume = "32",
number = "2",
pages = "47--49",
month = aug,
year = "2012",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/2429574.2429588",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "1094-3641",
bibdate = "Wed Jan 30 16:10:15 MST 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
}
@Article{Castanos:2012:BPE,
author = "Jose Castanos and David Edelsohn and Kazuaki Ishizaki
and Priya Nagpurkar and Toshio Nakatani and Takeshi
Ogasawara and Peng Wu",
title = "On the benefits and pitfalls of extending a statically
typed language {JIT} compiler for dynamic scripting
languages",
journal = j-SIGPLAN,
volume = "47",
number = "10",
pages = "195--212",
month = oct,
year = "2012",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2398857.2384631",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Whenever the need to compile a new dynamically typed
language arises, an appealing option is to repurpose an
existing statically typed language Just-In-Time (JIT)
compiler (repurposed JIT compiler). Existing repurposed
JIT compilers (RJIT compilers), however, have not yet
delivered the hoped-for performance boosts. The
performance of JVM languages, for instance, often lags
behind standard interpreter implementations. Even more
customized solutions that extend the internals of a JIT
compiler for the target language compete poorly with
those designed specifically for dynamically typed
languages. Our own Fiorano JIT compiler is an example
of this problem. As a state-of-the-art, RJIT compiler
for Python, the Fiorano JIT compiler outperforms two
other RJIT compilers (Unladen Swallow and Jython), but
still shows a noticeable performance gap compared to
PyPy, today's best performing Python JIT compiler. In
this paper, we discuss techniques that have proved
effective in the Fiorano JIT compiler as well as
limitations of our current implementation. More
importantly, this work offers the first in-depth look
at benefits and limitations of the repurposed JIT
compiler approach. We believe the most common pitfall
of existing RJIT compilers is not focusing sufficiently
on specialization, an abundant optimization opportunity
unique to dynamically typed languages. Unfortunately,
the lack of specialization cannot be overcome by
applying traditional optimizations.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "OOPSLA '12 conference proceedings.",
}
@Article{Conti:2012:TMP,
author = "Juan Jos{\'e} Conti and Alejandro Russo",
title = "A {Taint} Mode for {Python} via a Library",
journal = j-LECT-NOTES-COMP-SCI,
volume = "7127",
pages = "210--222",
year = "2012",
CODEN = "LNCSD9",
DOI = "https://doi.org/10.1007/978-3-642-27937-9_15",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
bibdate = "Wed Dec 19 15:24:40 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012b.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/chapter/10.1007/978-3-642-27937-9_15/",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/978-3-642-27937-9",
book-URL = "http://www.springerlink.com/content/978-3-642-27937-9",
fjournal = "Lecture Notes in Computer Science",
}
@Article{Darcy:2012:EGP,
author = "Jeff Darcy",
title = "Extending {GlusterFS} with {Python}",
journal = j-LINUX-J,
volume = "2012",
number = "223",
pages = "2:1--2:??",
month = nov,
year = "2012",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Dec 11 07:44:23 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "GlusterFS is a distributed filesystem with a strong
emphasis on extensibility. Now extensions can be
written in Python, bringing significant performance and
other improvements within reach of even more
programmers.",
acknowledgement = ack-nhfb,
articleno = "2",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Ettienne:2012:IMA,
author = "Mikko Berggren Ettienne and Steen Vester and J{\o}rgen
Villadsen",
title = "Implementing a Multi-Agent System in {Python} with an
Auction-Based Agreement Approach",
journal = j-LECT-NOTES-COMP-SCI,
volume = "7217",
pages = "185--196",
year = "2012",
CODEN = "LNCSD9",
DOI = "https://doi.org/10.1007/978-3-642-31915-0_11",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
bibdate = "Wed Dec 19 15:17:50 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncs2012c.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/chapter/10.1007/978-3-642-31915-0_11/",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/978-3-642-31915-0",
book-URL = "http://www.springerlink.com/content/978-3-642-31915-0",
fjournal = "Lecture Notes in Computer Science",
}
@Article{Gasiorek:2012:OPP,
author = "Marcin Ga{\c{s}}iorek and Daniel Simson",
title = "One-peak posets with positive quadratic {Tits} form,
their mesh translation quivers of roots, and
programming in {Maple} and {Python}",
journal = j-LINEAR-ALGEBRA-APPL,
volume = "436",
number = "7",
pages = "2240--2272",
day = "1",
month = apr,
year = "2012",
CODEN = "LAAPAW",
DOI = "https://doi.org/10.1016/j.laa.2011.10.045",
ISSN = "0024-3795 (print), 1873-1856 (electronic)",
ISSN-L = "0024-3795",
bibdate = "Tue Feb 7 16:11:50 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/linala2010.bib;
https://www.math.utah.edu/pub/tex/bib/maple-extract.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.sciencedirect.com/science/journal/00243795",
URL = "http://www.sciencedirect.com/science/article/pii/S0024379511007555",
acknowledgement = ack-nhfb,
fjournal = "Linear Algebra and its Applications",
journal-URL = "http://www.sciencedirect.com/science/journal/00243795",
}
@Book{Harwani:2012:IPP,
author = "B. M. Harwani",
title = "Introduction to {Python} programming and developing
{GUI} applications with {PyQT}",
publisher = "Cengage Learning",
address = "Boston, MA, USA",
pages = "xv + 393",
year = "2012",
ISBN = "1-4354-6097-9, 1-4354-6098-7 (e-book)",
ISBN-13 = "978-1-4354-6097-3, 978-1-4354-6098-0 (e-book)",
LCCN = "QA76.73.P98 H37 2012aeb",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Qt (Electronic resource); Python (Computer program
language); Graphical user interfaces (Computer
systems); COMPUTERS; Programming Languages; C{\"A};
Java.; Pascal.",
}
@Article{Hirschfeld:2012:EUC,
author = "Robert Hirschfeld and Michael Perscheid and Michael
Haupt",
title = "Explicit use-case representation in object-oriented
programming languages",
journal = j-SIGPLAN,
volume = "47",
number = "2",
pages = "51--60",
month = feb,
year = "2012",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2168696.2047856",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Apr 20 17:34:09 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Use-cases are considered an integral part of most
contemporary development processes since they describe
a software system's expected behavior from the
perspective of its prospective users. However, the
presence of and traceability to use-cases is
increasingly lost in later more code-centric
development activities. Use-cases, being
well-encapsulated at the level of requirements
descriptions, eventually lead to crosscutting concerns
in system design and source code. Tracing which parts
of the system contribute to which use-cases is
therefore hard and so limits understandability. In this
paper, we propose an approach to making use-cases
first-class entities in both the programming language
and the runtime environment. Having use-cases present
in the code and the running system will allow
developers, maintainers, and operators to easily
associate their units of work with what matters to the
users. We suggest the combination of use-cases,
acceptance tests, and dynamic analysis to automatically
associate source code with use-cases. We present
UseCasePy, an implementation of our approach to
use-case-centered development in Python, and its
application to the Django Web framework.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DSL '11 conference proceedings.",
}
@Article{Homescu:2012:HTJ,
author = "Andrei Homescu and Alex Suhan",
title = "{HappyJIT}: a tracing {JIT} compiler for {PHP}",
journal = j-SIGPLAN,
volume = "47",
number = "2",
pages = "25--36",
month = feb,
year = "2012",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2168696.2047854",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Apr 20 17:34:09 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Current websites are a combination of server-generated
dynamic content with client-side interactive programs.
Dynamically --- typed languages have gained a lot of
ground in both of these domains. The growth of Web 2.0
has introduced a myriad of websites which contain
personalized content, which is specific to the user.
PHP or Python programs generate the actual HTML page
after querying a database and processing the results,
which are then presented by the browser. It is becoming
more and more vital to accelerate the execution of
these programs, as this is a significant part of the
total time needed to present the page to the user. This
paper presents a novel interpreter for the PHP language
written in RPython, which the PyPy translator then
translates into C. The translator integrates into the
interpreter a tracing just-in-time compiler which
optimizes the hottest loops in the interpreted
programs. We also describe a data model that supports
all the data types in the PHP language, such as
references and iterators. We evaluate the performance
of this interpreter, showing that speedups up to a
factor of 8 are observed using this approach.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DSL '11 conference proceedings.",
}
@Article{Hosmer:2012:GSS,
author = "Ben Hosmer",
title = "Getting started with {Salt Stack} --- the other
configuration management system built with {Python}",
journal = j-LINUX-J,
volume = "2012",
number = "223",
pages = "3:1--3:??",
month = nov,
year = "2012",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Tue Dec 11 07:44:23 MST 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Install and configure software on multiple servers at
once.",
acknowledgement = ack-nhfb,
articleno = "3",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Ishizaki:2012:ADT,
author = "Kazuaki Ishizaki and Takeshi Ogasawara and Jose
Castanos and Priya Nagpurkar and David Edelsohn and
Toshio Nakatani",
title = "Adding dynamically-typed language support to a
statically-typed language compiler: performance
evaluation, analysis, and tradeoffs",
journal = j-SIGPLAN,
volume = "47",
number = "7",
pages = "169--180",
month = jul,
year = "2012",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2365864.2151047",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Sep 6 10:01:03 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "VEE '12 conference proceedings.",
abstract = "Applications written in dynamically typed scripting
languages are increasingly popular for Web software
development. Even on the server side, programmers are
using dynamically typed scripting languages such as
Ruby and Python to build complex applications quickly.
As the number and complexity of dynamically typed
scripting language applications grows, optimizing their
performance is becoming important. Some of the best
performing compilers and optimizers for dynamically
typed scripting languages are developed entirely from
scratch and target a specific language. This approach
is not scalable, given the variety of dynamically typed
scripting languages, and the effort involved in
developing and maintaining separate infrastructures for
each. In this paper, we evaluate the feasibility of
adapting and extending an existing production-quality
method-based Just-In-Time (JIT) compiler for a language
with dynamic types. Our goal is to identify the
challenges and shortcomings with the current
infrastructure, and to propose and evaluate runtime
techniques and optimizations that can be incorporated
into a common optimization infrastructure for static
and dynamic languages. We discuss three extensions to
the compiler to support dynamically typed languages:
(1) simplification of control flow graphs, (2) mapping
of memory locations to stack-allocated variables, and
(3) reduction of runtime overhead using language
semantics. We also propose four new optimizations for
Python in (2) and (3). These extensions are effective
in reduction of compiler working memory and improvement
of runtime performance. We present a detailed
performance evaluation of our approach for Python,
finding an overall improvement of 1.69x on average (up
to 2.74x) over our JIT compiler without any
optimization for dynamically typed languages and
Python.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Johansson:2012:QOS,
author = "J. R. Johansson and P. D. Nation and Franco Nori",
title = "{QuTiP}: an open-source {Python} framework for the
dynamics of open quantum systems",
journal = j-COMP-PHYS-COMM,
volume = "183",
number = "8",
pages = "1760--1772",
month = aug,
year = "2012",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2012.02.021",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Apr 24 06:33:31 MDT 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465512000835",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Johnson:2012:CIP,
author = "Mark J. (Mark James) Johnson",
title = "A concise introduction to programming in {Python}",
publisher = pub-CRC,
address = pub-CRC:adr,
pages = "xi + 205",
year = "2012",
ISBN = "1-4398-9694-1 (paperback)",
ISBN-13 = "978-1-4398-9694-5 (paperback)",
LCCN = "QA76.73.P98 J64 2012",
bibdate = "Fri Nov 16 06:29:01 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Chapman and Hall/CRC textbooks in computing",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
programming",
}
@Article{Klarner:2012:TSD,
author = "Hannes Klarner and Heike Siebert and Alexander
Bockmayr",
title = "Time Series Dependent Analysis of Unparametrized
{Thomas} Networks",
journal = j-TCBB,
volume = "9",
number = "5",
pages = "1338--1351",
month = sep,
year = "2012",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2012.61",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Tue Aug 28 17:31:04 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
abstract = "This paper is concerned with the analysis of labeled
Thomas networks using discrete time series. It focuses
on refining the given edge labels and on assessing the
data quality. The results are aimed at being
exploitable for experimental design and include the
prediction of new activatory or inhibitory effects of
given interactions and yet unobserved oscillations of
specific components in between specific sampling
intervals. On the formal side, we generalize the
concept of edge labels and introduce a discrete time
series interpretation. This interpretation features two
original concepts: (1) Incomplete measurements are
admissible, and (2) it allows qualitative assumptions
about the changes in gene expression by means of
monotonicity. On the computational side, we provide a
Python script, erda.py, that automates the suggested
workflow by model checking and constraint satisfaction.
We illustrate the workflow by investigating the yeast
network IRMA.",
acknowledgement = ack-nhfb,
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954",
}
@Book{Langtangen:2012:PSP,
author = "Hans Petter Langtangen",
title = "A primer on scientific programming with {Python}",
volume = "6",
publisher = pub-SV,
address = pub-SV:adr,
edition = "Third",
year = "2012",
DOI = "https://doi.org/10.1007/978-3-642-30293-0",
ISBN = "3-642-30292-0, 3-642-30293-9 (e-book)",
ISBN-13 = "978-3-642-30292-3, 978-3-642-30293-0 (e-book)",
ISSN = "1611-0994",
LCCN = "QA76.73.P98 L36 2012",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Texts in computational science and engineering",
abstract = "The book serves as a first introduction to computer
programming of scientific applications, using the
high-level Python language. The exposition is example-
and problem-oriented, where the applications are taken
from mathematics, numerical calculus, statistics,
physics, biology, and finance. The book teaches
``Matlab-style'' and procedural programming as well as
object-oriented programming. High school mathematics is
a required background, and it is advantageous to study
classical and numerical one-variable calculus in
parallel with reading this book. Besides learning how
to program computers.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
programming; Science; Data processing",
tableofcontents = "Computing with Formulas \\
Loops and Lists \\
Functions and Branching \\
Input Data and Error Handling \\
Array Computing and Curve Plotting \\
Files, Strings, and Dictionaries \\
Introduction to Classes \\
Random Numbers and Simple Games \\
Object-Oriented Programming",
}
@InProceedings{Logg:2012:DCP,
author = "Anders Logg and Garth N. Wells and Johan Hake",
title = "{DOLFIN}: a {C++\slash Python} finite element
library",
crossref = "Logg:2012:ASD",
volume = "84",
pages = "173--225",
year = "2012",
DOI = "https://doi.org/10.1007/978-3-642-23099-8_10",
bibdate = "Fri Dec 21 16:04:32 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/content/pdf/10.1007/978-3-642-23099-8_10",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/978-3-642-23099-8",
book-URL = "http://www.springerlink.com/content/978-3-642-23099-8",
}
@Book{McKinney:2012:PDA,
author = "Wes McKinney",
title = "{Python} for Data Analysis",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "400",
year = "2012",
ISBN = "1-4493-1979-3 (paperback)",
ISBN-13 = "978-1-4493-1979-3 (paperback)",
LCCN = "????",
bibdate = "Wed Nov 21 15:43:30 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
library.ox.ac.uk:210/ADVANCE; z3950.gbv.de:20011/gvk",
price = "EUR 32.00; UK \pounds 30.99",
acknowledgement = ack-nhfb,
subject = "Data mining; Python (Computer program language)",
}
@Article{Pool:2012:SNU,
author = "Ren{\'e} Pool and Jaap Heringa and Martin Hoefling and
Roland Schulz and Jeremy C. Smith and K. Anton Feenstra",
title = "Software News and Updates: Enabling grand-canonical
{Monte Carlo}: {Extending} the flexibility of {GROMACS}
through the {GromPy} {Python} interface module",
journal = j-J-COMPUT-CHEM,
volume = "33",
number = "12",
pages = "1207--1214",
day = "5",
month = may,
year = "2012",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.22947",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Sat Dec 1 12:11:06 MST 2012",
bibsource = "http://www.interscience.wiley.com/jpages/0192-8651;
https://www.math.utah.edu/pub/tex/bib/python.bibhttps://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1096-987X",
onlinedate = "28 Feb 2012",
}
@Article{Saha:2012:PPC,
author = "Amit Saha",
title = "Parallel programming in {C} and {Python}",
journal = j-LINUX-J,
volume = "2012",
number = "217",
pages = "4:1--4:??",
month = may,
year = "2012",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Mon Jun 4 16:52:28 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "How to get started with parallel programming",
acknowledgement = ack-nhfb,
articleno = "4",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Serang:2012:FMS,
author = "Oliver Serang and William Stratford Noble",
title = "Faster Mass Spectrometry-Based Protein Inference:
Junction Trees Are More Efficient than Sampling and
Marginalization by Enumeration",
journal = j-TCBB,
volume = "9",
number = "3",
pages = "809--817",
month = may,
year = "2012",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2012.26",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Thu Apr 19 17:58:10 MDT 2012",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
abstract = "The problem of identifying the proteins in a complex
mixture using tandem mass spectrometry can be framed as
an inference problem on a graph that connects peptides
to proteins. Several existing protein identification
methods make use of statistical inference methods for
graphical models, including expectation maximization,
Markov chain Monte Carlo, and full marginalization
coupled with approximation heuristics. We show that,
for this problem, the majority of the cost of inference
usually comes from a few highly connected subgraphs.
Furthermore, we evaluate three different statistical
inference methods using a common graphical model, and
we demonstrate that junction tree inference
substantially improves rates of convergence compared to
existing methods. The python code used for this paper
is available at
http://noble.gs.washington.edu/proj/fido.",
acknowledgement = ack-nhfb,
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954",
}
@Article{Small:2012:SPB,
author = "Alex Small",
title = "Scientific {Python} for Both Expert and Novice
Programmers",
journal = j-COMPUT-SCI-ENG,
volume = "14",
number = "2",
pages = "6--7",
month = mar # "\slash " # apr,
year = "2012",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2012.30",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Mar 17 08:29:33 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Spotz:2012:PRA,
author = "William F. Spotz",
title = "{PyTrilinos}: Recent advances in the {Python}
interface to {Trilinos}",
journal = j-SCI-PROG,
volume = "20",
number = "3",
pages = "311--325",
month = "????",
year = "2012",
CODEN = "SCIPEV",
DOI = "https://doi.org/10.3233/SPR-2012-0346",
ISSN = "1058-9244 (print), 1875-919X (electronic)",
ISSN-L = "1058-9244",
bibdate = "Sat Mar 8 14:10:43 MST 2014",
bibsource = "http://www.iospress.nl/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sciprogram.bib",
acknowledgement = ack-nhfb,
fjournal = "Scientific Programming",
journal-URL = "http://iospress.metapress.com/content/1058-9244",
}
@Article{Takikawa:2012:GTF,
author = "Asumu Takikawa and T. Stephen Strickland and Christos
Dimoulas and Sam Tobin-Hochstadt and Matthias Felleisen",
title = "Gradual typing for first-class classes",
journal = j-SIGPLAN,
volume = "47",
number = "10",
pages = "793--810",
month = oct,
year = "2012",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2398857.2384674",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Dynamic type-checking and object-oriented programming
often go hand-in-hand; scripting languages such as
Python, Ruby, and JavaScript all embrace
object-oriented (OO) programming. When scripts written
in such languages grow and evolve into large programs,
the lack of a static type discipline reduces
maintainability. A programmer may thus wish to migrate
parts of such scripts to a sister language with a
static type system. Unfortunately, existing type
systems neither support the flexible OO composition
mechanisms found in scripting languages nor accommodate
sound interoperation with untyped code. In this paper,
we present the design of a gradual typing system that
supports sound interaction between statically- and
dynamically-typed units of class-based code. The type
system uses row polymorphism for classes and thus
supports mixin-based OO composition. To protect
migration of mixins from typed to untyped components,
the system employs a novel form of contracts that
partially seal classes. The design comes with a theorem
that guarantees the soundness of the type system even
in the presence of untyped components.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "OOPSLA '12 conference proceedings.",
}
@Book{Ucoluk:2012:IPC,
author = "G{\"o}kt{\"u}rk {\"U}{\c{c}}oluk and Sinan Kalkan",
title = "Introduction to programming concepts with case studies
in {Python}",
publisher = pub-SV,
address = pub-SV:adr,
year = "2012",
DOI = "https://doi.org/10.1007/978-3-7091-1343-1",
ISBN = "3-7091-1342-3, 3-7091-1343-1 (e-book)",
ISBN-13 = "978-3-7091-1342-4, 978-3-7091-1343-1 (e-book)",
LCCN = "QA76.6 .U26 2012",
bibdate = "Fri Nov 29 07:00:01 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "The current text provides a clear introduction to
Computer Science concepts in a programming environment.
It is designed as suitable use in freshman- or
introductory-level coursework in CS and provides the
fundamental concepts as well as abstract theorems for
solving computational problems. The Python language
serves as a medium for illustrating and demonstrating
the concepts.",
acknowledgement = ack-nhfb,
subject = "Computer programming; Python (Computer program
language)",
tableofcontents = "The World of Programming \\
Data: The First Ingredient of a Program \\
Actions: The Second Ingredient of a Program \\
Managing the Size of a Problem \\
A Measure for 'Solution Hardness': Complexity \\
Organizing Data \\
Objects: Reunion of Data and Action",
}
@InProceedings{Wilbers:2012:IJT,
author = "Ilmar M. Wilbers and Kent-Andre Mardal and Martin S.
Aln{\ae}s",
title = "Instant: just-in-time compilation of {C\slash C++} in
{Python}",
crossref = "Logg:2012:ASD",
volume = "84",
pages = "257--272",
year = "2012",
DOI = "https://doi.org/10.1007/978-3-642-23099-8_14",
bibdate = "Fri Dec 21 16:04:32 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/content/pdf/10.1007/978-3-642-23099-8_14",
acknowledgement = ack-nhfb,
book-DOI = "https://doi.org/10.1007/978-3-642-23099-8",
book-URL = "http://www.springerlink.com/content/978-3-642-23099-8",
}
@Article{Wimmer:2012:AEN,
author = "M. Wimmer",
title = "{Algorithm 923}: Efficient Numerical Computation of
the {Pfaffian} for Dense and Banded Skew-Symmetric
Matrices",
journal = j-TOMS,
volume = "38",
number = "4",
pages = "30:1--30:17",
month = aug,
year = "2012",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2331130.2331138",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Thu Aug 30 18:55:10 MDT 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/mathematica.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "Computing the Pfaffian of a skew-symmetric matrix is a
problem that arises in various fields of physics. Both
computing the Pfaffian and a related problem, computing
the canonical form of a skew-symmetric matrix under
unitary congruence, can be solved easily once the
skew-symmetric matrix has been reduced to
skew-symmetric tridiagonal form. We develop efficient
numerical methods for computing this tridiagonal form
based on Gaussian elimination, using a skew-symmetric,
blocked form of the Parlett-Reid algorithm, or based on
unitary transformations, using block Householder
transformations and Givens rotations, that are
applicable to dense and banded matrices, respectively.
We also give a complete and fully optimized
implementation of these algorithms in Fortran
(including a C interface), and also provide Python,
Matlab and Mathematica implementations for convenience.
Finally, we apply these methods to compute the
topological charge of a class D nanowire, and show
numerically the equivalence of definitions based on the
Hamiltonian and the scattering matrix.",
acknowledgement = ack-nhfb,
articleno = "30",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Anonymous:2013:BRV,
author = "Anonymous",
title = "Book Review: {{\booktitle{Violent Python}}, by T. J.
O'Connor. Syngress. ISBN 978-1-59749-957-6}",
journal = j-NETWORK-SECURITY,
volume = "2013",
number = "6",
pages = "4--4",
month = jun,
year = "2013",
CODEN = "NTSCF5",
DOI = "https://doi.org/10.1016/S1353-4858(13)70067-9",
ISSN = "1353-4858 (print), 1872-9371 (electronic)",
ISSN-L = "1353-4858",
bibdate = "Mon Dec 4 17:00:55 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S1353485813700679",
acknowledgement = ack-nhfb,
fjournal = "Network Security",
journal-URL = "https://www.sciencedirect.com/journal/network-security",
}
@Article{Ardo:2013:LAO,
author = "H{\aa}kan Ard{\"o} and Carl Friedrich Bolz and Maciej
Fija{\l}kowski",
title = "Loop-aware optimizations in {PyPy}'s tracing {JIT}",
journal = j-SIGPLAN,
volume = "48",
number = "2",
pages = "63--72",
month = feb,
year = "2013",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2480360.2384586",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Jul 1 17:15:12 MDT 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "One of the nice properties of a tracing just-in-time
compiler (JIT) is that many of its optimizations are
simple, requiring one forward pass only. This is not
true for loop-invariant code motion which is a very
important optimization for code with tight kernels.
Especially for dynamic languages that typically perform
quite a lot of loop invariant type checking, boxed
value unwrapping and virtual method lookups. In this
paper we explain a scheme pioneered within the context
of the LuaJIT project for making basic optimizations
loop-aware by using a simple pre-processing step on the
trace without changing the optimizations themselves. We
have implemented the scheme in RPython's tracing JIT
compiler. PyPy's Python JIT executing simple numerical
kernels can become up to two times faster, bringing the
performance into the ballpark of static language
compilers.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '12 conference proceedings.",
}
@Article{Bernard:2013:RSC,
author = "Joey Bernard",
title = "Running scientific code using {IPython} and {SciPy}",
journal = j-LINUX-J,
volume = "2013",
number = "228",
pages = "3:1--3:??",
month = apr,
year = "2013",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Mon Jun 10 06:37:59 MDT 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "IPython provides a great environment for HPC
programming with Python and SciPy.",
acknowledgement = ack-nhfb,
articleno = "3",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Bianchi:2013:WPP,
author = "Riccardo Maria Bianchi and Renaud Bruneli{\`e}re",
title = "{WatchMan} project --- a {Python CASE} framework for
{High Energy Physics} data analysis in the {LHC} era",
journal = j-J-COMPUT-SCI,
volume = "4",
number = "5",
pages = "325--333",
month = sep,
year = "2013",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2012.04.005",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:53:27 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750312000336",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Bolz:2013:SSC,
author = "Carl Friedrich Bolz and Lukas Diekmann and Laurence
Tratt",
title = "Storage strategies for collections in dynamically
typed languages",
journal = j-SIGPLAN,
volume = "48",
number = "10",
pages = "167--182",
month = oct,
year = "2013",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2544173.2509531",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Dec 9 09:19:33 MST 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib;
https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
note = "OOPSLA '13 conference proceedings.",
abstract = "Dynamically typed language implementations often use
more memory and execute slower than their statically
typed cousins, in part because operations on
collections of elements are unoptimised. This paper
describes storage strategies, which dynamically
optimise collections whose elements are instances of
the same primitive type. We implement storage
strategies in the PyPy virtual machine, giving a
performance increase of 18\% on wide-ranging benchmarks
of real Python programs. We show that storage
strategies are simple to implement, needing only
1500LoC in PyPy, and have applicability to a wide range
of virtual machines.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Braun:2013:DAN,
author = "Moritz Braun",
title = "Different approaches to the numerical solution of the
{$3$D} {Poisson} equation implemented in {Python}",
journal = j-COMPUTING,
volume = "95",
number = "1s",
pages = "49--60",
month = may,
year = "2013",
CODEN = "CMPTA2",
DOI = "https://doi.org/10.1007/s00607-013-0300-x",
ISSN = "0010-485X (print), 1436-5057 (electronic)",
ISSN-L = "0010-485X",
bibdate = "Wed Jan 29 10:09:58 MST 2014",
bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0010-485X&volume=95&issue=1;
https://www.math.utah.edu/pub/tex/bib/computing.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/article/10.1007/s00607-013-0300-x",
acknowledgement = ack-nhfb,
fjournal = "Computing",
journal-URL = "http://link.springer.com/journal/607",
remark = "Special Issue on ESCO2012.",
}
@Article{Chudoba:2013:UPS,
author = "R. Chudoba and V. Sad{\'\i}lek and R. Rypl and M.
Vorechovsk{\'y}",
title = "Using {Python} for scientific computing: Efficient and
flexible evaluation of the statistical characteristics
of functions with multivariate random inputs",
journal = j-COMP-PHYS-COMM,
volume = "184",
number = "2",
pages = "414--427",
month = feb,
year = "2013",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2012.08.021",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Nov 2 11:55:56 MDT 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465512003086",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Chun:2013:GPP,
author = "Kyungwon Chun and Huioon Kim and Hyounggyu Kim and Kil
Su Jung and Youngjoo Chung",
title = "{GMES}: a {Python} package for solving {Maxwell}'s
equations using the {FDTD} method",
journal = j-COMP-PHYS-COMM,
volume = "184",
number = "4",
pages = "1272--1279",
month = apr,
year = "2013",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2012.12.011",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465512004079",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Cuesta:2013:PDA,
author = "Hector Cuesta",
title = "Practical data analysis",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "360",
year = "2013",
ISBN = "1-78328-099-9 (print), 1-68015-361-7 (e-book),
1-78328-100-6",
ISBN-13 = "978-1-78328-099-5 (print), 978-1-68015-361-3 (e-book),
978-1-78328-100-8",
LCCN = "QA76.9.S88 D683 2013eb",
bibdate = "Wed Oct 14 07:37:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781783280995",
abstract = "Each chapter of the book quickly introduces a key
'theme' of Data Analysis, before immersing you in the
practical aspects of each theme. You'll learn quickly
how to perform all aspects of Data Analysis. Practical
Data Analysis is a book ideal for home and small
business users who want to slice and dice the data they
have on hand with minimum hassle.",
acknowledgement = ack-nhfb,
subject = "System design; System analysis; Data structures
(Computer science); Databases; Data structures
(Computer science); Databases.; System analysis.;
System design.",
tableofcontents = "Credits \\
Foreword \\
About the Author \\
Acknowledgments \\
About the Reviewers \\
www.PacktPub.com \\
Table of Contents \\
Preface \\
1: Getting Started \\
Computer science \\
Artificial intelligence (AI) \\
Machine Learning (ML) \\
Statistics \\
Mathematics \\
Knowledge domain \\
Data, information, and knowledge \\
The nature of data \\
The data analysis process \\
The problem \\
Data preparation \\
Data exploration \\
Predictive modeling \\
Visualization of results \\
Quantitative versus qualitative data analysis \\
Importance of data visualization \\
What about big data? \\
Sensors and cameras \\
Social networks analysis \\
Tools and toys for this book \\
Why Python? \\
Why mlpy? \\
Why D3.js? \\
Why MongoDB? \\
Summary \\
2: Working with Data \\
Data sources \\
Open data \\
Text files \\
Excel files \\
SQL databases \\
NoSQL databases \\
Multimedia \\
Web scraping \\
Data scrubbing \\
Statistical methods \\
Text parsing \\
Data transformation \\
Data formats \\
CSV \\
Parsing a CSV file with the csv module \\
Parsing a CSV file using NumPy \\
JSON \\
Parsing a JSON file using json module \\
XML \\
Parsing an XML file in Python using xml module \\
YAML \\
Getting started with OpenRefine \\
Text facet \\
Clustering \\
Text filters \\
Numeric facets \\
Transforming data \\
Exporting data \\
Operation history \\
Summary \\
3: Data Visualization \\
Data-Driven Documents (D3) \\
HTML \\
DOM \\
CSS \\
JavaScript \\
SVG \\
Getting started with D3.js \\
Bar chart \\
Pie chart \\
Scatter plot \\
Single line chart \\
Multi-line chart \\
Interaction and animation \\
Summary \\
4: Text Classification \\
Learning and classification \\
Bayesian classification \\
Na{\"i}ve Bayes algorithm \\
E-mail subject line tester \\
The algorithm \\
Classifier accuracy \\
Summary \\
5: Similarity-based Image Retrieval \\
Image similarity search \\
Dynamic time warping (DTW) \\
Processing the image dataset \\
Implementing DTW \\
Analyzing the results \\
Summary \\
6: Simulation of Stock Prices \\
Financial time series \\
Random walk simulation \\
Monte Carlo methods \\
Generating random numbers \\
Implementation in D3.js \\
Summary \\
7: Predicting Gold Prices \\
Working with the time series data \\
Components of a time series \\
Smoothing the time series \\
The data \\
historical gold prices \\
Nonlinear regression \\
Kernel ridge regression \\
Smoothing the gold prices time series \\
Predicting in the smoothed time series \\
Contrasting the predicted value \\
Summary \\
8: Working with Support Vector Machines \\
Understanding the multivariate dataset \\
Dimensionality reduction \\
Linear Discriminant Analysis \\
Principal Component Analysis \\
Getting started with support vector machine \\
Kernel functions \\
Double spiral problem \\
SVM implemented on mlpy \\
Summary \\
9: Modeling Infectious Disease with Cellular Automata
\\
Introduction to epidemiology \\
The epidemiology triangle \\
The epidemic models \\
The SIR model \\
Solving ordinary differential equation for the SIR
model with SciPy \\
The SIRS model \\
Modelling with cellular automata cell, state, grid, and
neighborhood",
}
@Book{DiPierro:2013:AAP,
author = "Massimo {Di Pierro}",
title = "Annotated algorithms in {Python}: with applications in
physics, biology, and finance",
publisher = "Experts4Solutions",
address = "Lexington, KY, USA",
pages = "388",
year = "2013",
ISBN = "0-9911604-0-1 (paperback)",
ISBN-13 = "978-0-9911604-0-2 (paperback)",
LCCN = "QA76.73.P98 D57 2013",
bibdate = "Mon Feb 16 11:12:03 MST 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
algorithms; Computer algorithms; Python (Computer
program language)",
tableofcontents = "Introduction \\
Overview of the Python language \\
Theory of algorithms \\
Numerical algorithms \\
Probability and statistics \\
Random numbers and distributions \\
Monte Carlo simulations \\
Parallel algorithms",
}
@Book{Guttag:2013:ICP,
author = "John Guttag",
title = "Introduction to Computation and Programming Using
{Python}",
publisher = pub-MIT,
address = pub-MIT:adr,
pages = "xiv + 298",
year = "2013",
ISBN = "0-262-52500-3 (paperback), 0-262-31219-0",
ISBN-13 = "978-0-262-52500-8 (paperback), 978-0-262-31219-6",
LCCN = "QA76.73.P98 G88 2013",
bibdate = "Tue Jun 5 10:54:15 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "This book introduces students with little or no prior
programming experience to the art of computational
problem solving using Python and various Python
libraries, including PyLab. It provides students with
skills that will enable them to make productive use of
computational techniques, including some of the tools
and techniques of ``data science'' for using
computation to model and interpret data. The book is
based on an MIT course (which became the most popular
course offered through MIT's OpenCourseWare) and was
developed for use not only in a conventional classroom
but in a massive open online course (or MOOC) offered
by the pioneering MIT--Harvard collaboration edX.
Students are introduced to Python and the basics of
programming in the context of such computational
concepts and techniques as exhaustive enumeration,
bisection search, and efficient approximation
algorithms. The book does not require knowledge of
mathematics beyond high school algebra, but does assume
that readers are comfortable with rigorous thinking and
not intimidated by mathematical concepts. Although it
covers such traditional topics as computational
complexity and simple algorithms, the book focuses on a
wide range of topics not found in most introductory
texts, including information visualization, simulations
to model randomness, computational techniques to
understand data, and statistical techniques that inform
(and misinform)as well as two related but relatively
advanced topics: optimization problems and dynamic
programming. \booktitle{Introduction to Computation and
Programming Using Python can} serve as a stepping-stone
to more advanced computer science courses, or as a
basic grounding in computational problem solving for
students in other disciplines.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Textbooks;
Computer programming",
tableofcontents = "Preface \\
Acknowledgments \\
1 Getting Started \\
2 Introduction to Python \\
2.1 The Basic Elements of Python \\
2.2 Branching Programs \\
2.3 Strings and Input \\
2.4 Iteration \\
3 Some Simple Numerical Programs \\
3.1 Exhaustive Enumeration \\
3.2 For Loops \\
3.3 Approximate Solutions and Bisection Search \\
3.4 A Few Words About Using Floats \\
3.5 Newton-Raphson \\
4 Functions, Scoping, and Abstraction \\
4.1 Functions and Scoping \\
4.2 Specifications \\
4.3 Recursion \\
4.4 Global Variables \\
4.5 Modules \\
4.6 Files \\
5 Structured Types, Mutability, and Higher-Order
Functions \\
5.1 Tuples \\
5.2 Lists and Mutability \\
5.3 Functions as Objects \\
5.4 Strings, Tuples, and Lists \\
5.5 Dictionaries \\
6 Testing and Debugging \\
6.1 Testing \\
6.2 Debugging \\
7 Exceptions and Assertions \\
7.1 Handling Exceptions \\
7.2 Exceptions as a Control Flow Mechanism \\
7.3 Assertions \\
8 Classes and Object-Oriented Programming \\
8.1 Abstract Data Types and Classes \\
8.2 Inheritance \\
8.3 Encapsulation and Information Hiding \\
8.4 Mortgages, an Extended Example \\
9 A Simplistic Introduction to Algorithmic Complexity
\\
9.1 Thinking About Computational Complexity \\
9.2 Asymptotic Notation \\
9.3 Some Important Complexity Classes \\
10 Some Simple Algorithms and Data Structures \\
10.1 Search Algorithms \\
10.2 Sorting Algorithms \\
10.3 Hash Tables \\
11 Plotting and More About Classes \\
11.1 Plotting Using PyLab \\
11.2 Plotting Mortgages, an Extended Example \\
12 Stochastic Programs, Probability, and Statistics \\
12.1 Stochastic Programs \\
12.2 Inferential Statistics and Simulation \\
12.3 Distributions \\
12.4 How Often Does the Better Team Win? \\
12.5 Hashing and Collisions \\
13 Random Walks and More About Data Visualization \\
13.1 The Drunkard's Walk \\
13.2 Biased Random Walks \\
\ldots{} \\
16.6 Context Matters \\
16.7 Beware of Extrapolation \\
16.8 The Texas Sharpshooter Fallacy \\
16.9 Percentages Can Confuse \\
16.10 Just Beware \\
17 Knapsack and Graph Optimization Problems \\
17.1 Knapsack Problems \\
17.2 Graph Optimization Problems \\
18 Dynamic Programming \\
18.1 Fibonacci Sequences, Revisited \\
18.2 Dynamic Programming and the 0/1 Knapsack Problem
\\
18.3 Dynamic Programming and Divide-and-Conquer \\
19 A Quick Look at Machine Learning \\
19.1 Feature Vectors \\
19.2 Distance Metrics \\
19.3 Clustering \\
19.4 Types Example and Cluster \\
19.5 K-means Clustering \\
19.6 A Contrived Example",
}
@Article{Hu:2013:UPH,
author = "Helen H. Hu and Tricia D. Shepherd",
title = "Using {POGIL} to help students learn to program",
journal = j-TOCE,
volume = "13",
number = "3",
pages = "13:1--13:??",
month = aug,
year = "2013",
CODEN = "????",
DOI = "https://doi.org/10.1145/2499947.2499950",
ISSN = "1946-6226",
bibdate = "Fri Aug 16 07:53:11 MDT 2013",
bibsource = "http://www.acm.org/pubs/toce;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
abstract = "POGIL has been successfully implemented in a
scientific computing course to teach science students
how to program in Python. Following POGIL guidelines,
the authors have developed guided inquiry activities
that lead student teams to discover and understand
programming concepts. With each iteration of the
scientific computing course, the authors have refined
the activities and learned how to better adapt POGIL
for the computer science classroom. This article
details how POGIL activities differ from both
traditional computer science labs and other
active-learning pedagogies. Background is provided on
POGIL's effectiveness. The article then includes a full
description of how POGIL activities were used in the
scientific computing course, as well as an example
POGIL activity on recursion. Discussion is provided on
how to facilitate and develop POGIL activities. Quotes
from student evaluations and an assessment on how well
students learned to program are provided.",
acknowledgement = ack-nhfb,
articleno = "13",
fjournal = "ACM Transactions on Computing Education",
}
@Article{Johansson:2013:QPF,
author = "J. R. Johansson and P. D. Nation and Franco Nori",
title = "{QuTiP 2}: a {Python} framework for the dynamics of
open quantum systems",
journal = j-COMP-PHYS-COMM,
volume = "184",
number = "4",
pages = "1234--1240",
month = apr,
year = "2013",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2012.11.019",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465512003955",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Kiusalaas:2013:NME,
author = "Jaan Kiusalaas",
title = "Numerical methods in engineering with {Python 3}",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "xi + 423",
year = "2013",
ISBN = "1-107-03385-3",
ISBN-13 = "978-1-107-03385-6",
LCCN = "TA345 .K584 2013",
MRclass = "65-01",
MRnumber = "3026375",
bibdate = "Tue May 27 12:31:32 MDT 2014",
bibsource = "clas.caltech.edu:210/INNOPAC;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This book is an introduction to numerical methods for
students in engineering. It covers solution of
equations, interpolation and data fitting, solution of
differential equations, eigenvalue problems and
optimisation. The algorithms are implemented in Python
3, a high-level programming language that rivals MATLAB
in readability and ease of use. All methods include
programs showing how the computer code is utilised in
the solution of problems. The book is based on
Numerical Methods in Engineering with Python, which
used Python 2. This new edition demonstrates the use of
Python 3 and includes an introduction to the Python
plotting package Matplotlib. This comprehensive book is
enhanced by the addition of numerous examples and
problems throughout.",
acknowledgement = ack-nhfb,
subject = "Engineering mathematics; Data processing; Python
(Computer program language)",
tableofcontents = "1. Introduction to Python \\
2. Systems of linear algebraic equations \\
3. Interpolation and curve fitting \\
4. Roots of equations \\
5. Numerical differentiation \\
6. Numerical integration \\
7. Initial value problems \\
8. Two-point boundary value problems \\
9. Symmetric matrix eigenvalue problems \\
10. Introduction to optimization",
}
@Book{Lanaro:2013:PHP,
author = "Gabriele Lanaro",
title = "{Python} high performance programming: boost the
performance of your {Python} programs using advanced
techniques",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "95",
year = "2013",
ISBN = "1-78328-845-0 (paperback), 1-306-25426-4 (e-book)",
ISBN-13 = "978-1-78328-845-8 (paperback), 978-1-306-25426-7
(e-book)",
LCCN = "QA76.73 .P98",
bibdate = "Sat Oct 24 07:05:54 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.tech.safaribooksonline.de/9781783288458",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Benchmarking and Profiling \\
Designing your application \\
Writing tests and benchmarks \\
Timing your benchmark \\
Finding bottlenecks with cProfile \\
Profile line by line with line_profiler \\
Optimizing our code \\
The dis module \\
Profiling memory usage with memory_profiler \\
Performance tuning tips for pure Python code \\
Summary \\
2. Fast Array Operations with NumPy \\
Getting started with NumPy \\
Creating arrays \\
Accessing arrays \\
Broadcasting \\
Mathematical operations \\
Calculating the Norm \\
Rewriting the particle simulator in NumPy \\
Reaching optimal performance with numexpr \\
Summary \\
3. C Performance with Cython \\
Compiling Cython extensions \\
Adding static types \\
Variables \\
Functions \\
Classes \\
Sharing declarations \\
Working with arrays \\
C arrays and pointers \\
NumPy arrays \\
Typed memoryviews \\
Particle simulator in Cython \\
Profiling Cython \\
Summary \\
4. Parallel Processing \\
Introduction to parallel programming \\
The multiprocessing module \\
The Process and Pool classes \\
Monte Carlo approximation of pi \\
Synchronization and locks \\
IPython parallel \\
Direct interface \\
Task-based interface \\
Parallel Cython with OpenMP \\
Summary \\
Index",
}
@Book{Lutz:2013:LP,
author = "Mark Lutz",
title = "Learning {Python}",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
edition = "Fifth",
pages = "l + 1540",
year = "2013",
ISBN = "1-4493-5573-0",
ISBN-13 = "978-1-4493-5573-9",
LCCN = "QA76.73.P98 L877 2013",
bibdate = "Fri Nov 29 06:32:23 MST 2013",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquestcombo.safaribooksonline.com/9781449355722",
abstract = "Describes the features of the Python programming
language, covering such topics as types and operations,
statements and syntax, functions, modules, classes and
OOP, and exceptions and tools. - Publisher.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
tableofcontents = "A Python Q and A session \\
How Python runs programs \\
How you run programs \\
Introducing Python object types \\
Numeric types \\
The dynamic typing interlude \\
String fundamentals \\
Lists and dictionaries \\
Tuples, files, and everything else \\
Introducing Python statements \\
Assignments, expressions, and prints \\
if tests and syntax rules \\
while and for loops \\
Iterations and comprehensions \\
The documentation interlude \\
Function basics \\
Scopes \\
Arguments \\
Advanced function topics \\
Comprehensions and generations \\
The benchmarking interlude \\
Modules : the big picture \\
Module coding basics \\
Module packages \\
Advanced module topics \\
OOP : the big picture \\
Class coding basics \\
A more realistic example \\
Class coding details \\
Operator overloading \\
Designing with classes \\
Advanced class topics \\
Exception basics \\
Exception coding details \\
Exception objects \\
Designing with exceptions \\
Unicode and byte strings \\
Managed attributes \\
Decorators \\
Metaclasses \\
All good things",
}
@Article{Mertz:2013:GIP,
author = "Andrew Mertz and William Slough",
title = "A gentle introduction to {Python\TeX}",
journal = j-TUGboat,
volume = "34",
number = "3",
pages = "302--312",
year = "2013",
ISSN = "0896-3207",
ISSN-L = "0896-3207",
bibdate = "Sat May 23 10:53:04 MDT 2015",
bibsource = "http://tug.org/tug2013/;
https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
URL = "http://www.tug.org/TUGboat/tb34-3/tb108mertz.pdf",
acknowledgement = ack-bnb # " and " # ack-nhfb,
issue = "108",
journal-URL = "http://www.tug.org/TUGboat/",
remark = "TUG 2013 Proceedings.",
}
@Article{Mullner:2013:FFH,
author = "Daniel M{\"u}llner",
title = "{\tt fastcluster}: Fast Hierarchical, Agglomerative
Clustering Routines for {R} and {Python}",
journal = j-J-STAT-SOFT,
volume = "53",
number = "9",
pages = "??--??",
month = may,
year = "2013",
CODEN = "JSSOBK",
ISSN = "1548-7660",
bibdate = "Wed Mar 5 10:15:54 MST 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v53/i09",
acknowledgement = ack-nhfb,
fjournal = "Journal of Statistical Software",
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2011-10-01; Accepted 2012-12-05",
}
@Book{OConnor:2013:VPC,
author = "T. J. O'Connor",
title = "Violent {Python}: a cookbook for hackers, forensic
analysts, penetration testers and security engineers",
publisher = pub-SYNGRESS,
address = pub-SYNGRESS:adr,
pages = "xxv + 262",
year = "2013",
ISBN = "1-59749-957-9 (paperback)",
ISBN-13 = "978-1-59749-957-6 (paperback)",
LCCN = "QA76.73.P98 O26 2013",
bibdate = "Wed Oct 14 07:37:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Python is a hacker's language. With its decreased
complexity, increased efficiency, limitless third-party
libraries, and low bar to entry, Python provides an
excellent development platform to build your own
offensive tools. If you are running Mac OS X or Linux,
odds are it is already installed on your system. While
a wealth of offensive tools already exist, learning
Python can help you with the difficult cases where
those tools fail.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "1: Introduction \\
Introduction: a Penetration Test with Python \\
Setting Up Your Development Environment \\
Installing Third Party Libraries \\
Interpreted Python Versus Interactive Python \\
The Python Language \\
Variables \\
Strings \\
Lists \\
Dictionaries \\
Networking \\
Selection \\
Exception Handling \\
Functions \\
Iteration \\
File I/O \\
Sys Module \\
OS Module \\
Your First Python Programs \\
Setting the Stage for Your First Python Program: The
Cuckoo's Egg \\
Your First Program, a UNIX Password Cracker \\
Setting the Stage for Your Second Program: Using Evil
for Good \\
Your Second Program, a Zip-File Password Cracker \\
Chapter Wrap-Up \\
References \\
2: Penetration Testing with Python \\
Introduction: The Morris Worm---Would it Work Today?
\\
Building a Port Scanner \\
TCP Full Connect Scan \\
Application Banner Grabbing \\
Threading the Scan \\
Integrating the Nmap Port Scanner \\
Building an SSH BotNet with Python \\
Interacting with SSH Through Pexpect \\
Brute Forcing SSH Passwords with Pxssh \\
Exploiting SSH Through Weak Private Keys \\
Constructing the SSH Botnet \\
Mass Compromise by Bridging FTP and Web \\
Building an Anonymous FTP Scanner with Python \\
Using Ftplib to Brute Force FTP User Credentials \\
Searching for Web Pages on the FTP Server \\
Adding a Malicious Inject to Web Pages \\
Bringing the Entire Attack Together \\
Conflicker, Why Trying Hard is Always Good Enough \\
Attacking the Windows SMB Service with Metasploit \\
Writing Python to Interact with Metasploit \\
Remote Process Execution Brute Force \\
Putting it Back Together to Build Our Own Conflicker
\\
Writing Your Own Zero-Day Proof of Concept Code \\
Stack-Based Buffer Overflow Attacks \\
Adding the Key Elements of the Attack \\
Sending the Exploit \\
Assembling the Entire Exploit Script \\
Chapter Wrap-Up \\
References \\
3: Forensic Investigations with Python \\
Introduction: How Forensics Solved the BTK Murders \\
Where Have You Been? Analysis of Wireless Access Points
in the Registry \\
Using WinReg to Read the Windows Registry \\
Using Mechanize to Submit the MAC Address to Wigle \\
Using Python to Recover Deleted Items in the Recycle
Bin \\
Using the OS Module to Find Deleted Items \\
Python to Correlate SID to User \\
Metadata \\
Using PyPDF to Parse PDF Metadata \\
Understanding Exif Metadata \\
Downloading Images with BeautifulSoup \\
Reading Exif Metadata from Images with the Python
Imaging Library \\
Investigating Application Artifacts with Python \\
Understanding the Skype Sqlite3 Database \\
Using Python and Sqlite3 to Automate Skype Database
Queries \\
Parsing Firefox Sqlite3 Databases with Python \\
Investigating iTunes Mobile Backups with Python \\
Chapter Wrap-Up \\
References \\
4: Network Traffic Analysis with Python \\
Introduction: Operation Aurora and How the Obvious was
Missed \\
Where is that IP Traffic Headed?---A Python Answer \\
Using PyGeoIP to Correlate IP to Physical Locations \\
Using Dpkt to Parse Packets \\
Using Python to Build a Google Map \\
Is Anonymous Really Anonymous? Analyzing LOIC Traffic
\\
Using Dpkt to Find the LOIC Download \\
Parsing IRC Commands to the Hive \\
Identifying the DDoS Attack in Progress \\
How H. D. Moore Solved the Pentagon's Dilemma \\
Understanding the TTL Field \\
Parsing TTL Fields with Scapy \\
Storm's Fast-Flux and Conficker's Domain-Flux \\
Does Your DNS Know Something You Don't? \\
Using Scapy to Parse DNS Traffic \\
Detecting Fast Flux Traffic with Scapy \\
Detecting Domain Flux Traffic with Scapy \\
Kevin Mitnick and TCP Sequence Prediction \\
Your Very Own TCP Sequence Prediction \\
Crafting a SYN Flood with Scapy \\
Calculating TCP Sequence Numbers \\
Spoofing the TCP Connection \\
Foiling Intrusion Detection Systems with Scapy \\
Chapter Wrap-Up \\
References \\
ch. 5: Wireless Mayhem with Python \\
Introduction: Wireless (IN)Security and the Iceman \\
Setting up Your Wireless Attack Environment \\
Testing Wireless Capture with Scapy \\
Installing Python Bluetooth Packages \\
The Wall of Sheep---Passively Listening to Wireless
Secrets \\
Using Python Regular Expressions to Sniff Credit Cards
\\
Sniffing Hotel Guests \\
Building a Wireless Google Key Logger \\
Sniffing FTP Credentials \\
Where Has Your Laptop Been? Python Answers \\
Listening for 802.11 Probe Requests \\
Finding Hidden Network 802.11 Beacons \\
De-cloaking Hidden 802.11 Networks \\
Intercepting and Spying on UAVs with Python \\
Intercepting the Traffic, Dissecting the Protocol \\
Crafting 802.11 Frames with Scapy \\
Finalizing the Attack, Emergency Landing The UAV \\
Detecting FireSheep \\
Understanding Wordpress Session Cookies \\
Herd the Sheep---Catching Wordpress Cookie Reuse \\
Stalking with Bluetooth and Python \\
Intercepting Wireless Traffic to Find Bluetooth
Addresses \\
Scanning Bluetooth RFCOMM Channels \\
Using the Bluetooth Service Discovery Protocol \\
Taking Over a Printer with Python ObexFTP \\
BlueBugging a Phone with Python \\
Chapter Wrap-Up \\
References \\
6: Web Recon with Python \\
Introduction: Social Engineering Today \\
Recon Prior to Attack \\
Using the Mechanize Library to Browse the Internet \\
Anonymity \\
Adding Proxies, User-Agents, Cookies \\
Finalizing Our AnonBrowser into a Python Class \\
Scraping Web Pages with AnonBrowser \\
Parsing HREF Links with Beautiful Soup \\
Mirroring Images with Beautiful Soup \\
Research, Investigate, Discovery \\
Interacting with the Google API in Python \\
Parsing Tweets with Python \\
Pulling Location Data Out of Tweets \\
Parsing Interests from Twitter Using Regular
Expressions \\
Anonymous Email \\
Mass Social Engineering \\
Using Smtplib to Email Targets \\
Spear Phishing with Smtplib \\
Chapter Wrap-Up \\
References \\
7: Antivirus Evasion with Python \\
Introduction: Flame On! \\
Evading Antivirus Programs \\
Verifying Evasion \\
Wrap Up \\
References",
}
@Article{Politz:2013:PFM,
author = "Joe Gibbs Politz and Alejandro Martinez and Matthew
Milano and Sumner Warren and Daniel Patterson and
Junsong Li and Anand Chitipothu and Shriram
Krishnamurthi",
title = "{Python}: the full monty",
journal = j-SIGPLAN,
volume = "48",
number = "10",
pages = "217--232",
month = oct,
year = "2013",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2544173.2509536",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Dec 9 09:19:33 MST 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
note = "OOPSLA '13 conference proceedings.",
abstract = "We present a small-step operational semantics for the
Python programming language. We present both a core
language for Python, suitable for tools and proofs, and
a translation process for converting Python source to
this core. We have tested the composition of
translation and evaluation of the core for conformance
with the primary Python implementation, thereby giving
confidence in the fidelity of the semantics. We briefly
report on the engineering of these components. Finally,
we examine subtle aspects of the language, identifying
scope as a pervasive concern that even impacts features
that might be considered orthogonal.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Book{Richardson:2013:GSB,
author = "Matt Richardson",
title = "Getting started with {BeagleBone}",
publisher = "Maker Media",
address = "Sebastopol, CA",
pages = "xiii + 126",
year = "2013",
ISBN = "1-4493-4537-9 (paperback), 1-4493-4536-0,
1-4493-4535-2 (e-book), 1-4493-4533-6 (e-book)",
ISBN-13 = "978-1-4493-4537-2 (paperback), 978-1-4493-4536-5,
978-1-4493-4535-8 (e-book), 978-1-4493-4533-4
(e-book)",
LCCN = "TK7895.E42 R43 2013",
bibdate = "Thu Feb 26 14:08:28 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/linux.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/unix.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
remark = "At head of title on cover: Make: the magazine for
makers.",
subject = "BeagleBone (Computer); Embedded computer systems;
Electronics; Amateurs' manuals; Linux; Python (Computer
program language); JavaScript (Computer program
language)",
}
@Book{Rossant:2013:LII,
author = "Cyrille Rossant",
title = "Learning {IPython} for interactive computing and data
visualization: Learn {IPython} for interactive {Python}
programming, high-performance numerical computing, and
data visualization",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iv + 123",
year = "2013",
ISBN = "1-78216-993-8 (paperback), 1-78216-994-6 (e-book),
1-299-54508-4 (e-book)",
ISBN-13 = "978-1-78216-993-2 (paperback), 978-1-78216-994-9
(e-book), 978-1-299-54508-3 (e-book)",
LCCN = "QA76.73.P98 .R677 2013",
bibdate = "Sat Mar 21 07:03:35 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Open source: community experience distilled",
acknowledgement = ack-nhfb,
author-dates = "1985--",
subject = "Python (langage de programmation).; Python (Computer
program language); Python (Computer program language)",
}
@Article{Rossant:2013:PPL,
author = "Cyrille Rossant and Bertrand Fontaine and Dan F. M.
Goodman",
title = "\pkg{Playdoh}: a lightweight {Python} library for
distributed computing and optimisation",
journal = j-J-COMPUT-SCI,
volume = "4",
number = "5",
pages = "352--359",
month = sep,
year = "2013",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2011.06.002",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:53:27 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750311000561",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Book{Sander:2013:ESP,
author = "Leonard M. (Leonard Michael) Sander",
title = "Equilibrium statistical physics: with computer
simulations in {Python}",
publisher = "CreateSpace Independent Publishing",
address = "North Charleston, SC, USA",
pages = "xii + 321",
year = "2013",
ISBN = "1-4910-6651-2",
ISBN-13 = "978-1-4910-6651-5",
LCCN = "QC174.8 .S36 2013",
bibdate = "Sat Aug 30 09:09:15 MDT 2014",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/jstatphys2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Statistical physics; Statistical physics.",
}
@Book{Severance:2013:PIE,
author = "Charles Severance",
title = "{Python} for informatics: exploring information",
publisher = "CreateSpace Independent Publishing",
address = "North Charleston, SC, USA",
pages = "xii + 224 + 12",
year = "2013",
ISBN = "1-4923-3924-5",
ISBN-13 = "978-1-4923-3924-3",
LCCN = "QA76.73.P98 S48 2013b",
bibdate = "Wed Oct 14 08:00:43 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Why should you learn to write programs \\
Variables, expressions and statements \\
Conditional execution \\
Functions \\
Iteration \\
Strings \\
Files \\
Lists \\
Dictionaries \\
Tuples \\
Regular expressions \\
Networked programs \\
Using Web Services \\
Using databases and Structured Query Language (SQL) \\
Visualizing data \\
Automating common tasks on your computer \\
Python programming on Windows \\
Python programming on Macintosh",
}
@Article{Stefik:2013:EIP,
author = "Andreas Stefik and Susanna Siebert",
title = "An Empirical Investigation into Programming Language
Syntax",
journal = j-TOCE,
volume = "13",
number = "4",
pages = "19:1--19:??",
month = nov,
year = "2013",
CODEN = "????",
DOI = "https://doi.org/10.1145/2534973",
ISSN = "1946-6226",
bibdate = "Wed Nov 13 17:27:51 MST 2013",
bibsource = "http://www.acm.org/pubs/toce;
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/toce.bib",
abstract = "Recent studies in the literature have shown that
syntax remains a significant barrier to novice computer
science students in the field. While this syntax
barrier is known to exist, whether and how it varies
across programming languages has not been carefully
investigated. For this article, we conducted four
empirical studies on programming language syntax as
part of a larger analysis into the, so called,
programming language wars. We first present two surveys
conducted with students on the intuitiveness of syntax,
which we used to garner formative clues on what words
and symbols might be easy for novices to understand. We
followed up with two studies on the accuracy rates of
novices using a total of six programming languages:
Ruby, Java, Perl, Python, Randomo, and Quorum. Randomo
was designed by randomly choosing some keywords from
the ASCII table (a metaphorical placebo). To our
surprise, we found that languages using a more
traditional C-style syntax (both Perl and Java) did not
afford accuracy rates significantly higher than a
language with randomly generated keywords, but that
languages which deviate (Quorum, Python, and Ruby) did.
These results, including the specifics of syntax that
are particularly problematic for novices, may help
teachers of introductory programming courses in
choosing appropriate first languages and in helping
students to overcome the challenges they face with
syntax.",
acknowledgement = ack-nhfb,
articleno = "19",
fjournal = "ACM Transactions on Computing Education",
}
@Book{Stone:2013:BRT,
author = "James V. Stone",
title = "{Bayes}' rule: a tutorial introduction to {Bayesian}
analysis",
publisher = "Sebtel Press",
address = "Lexington, KY, USA",
pages = "170",
year = "2013",
ISBN = "0-9563728-4-8 (paperback)",
ISBN-13 = "978-0-9563728-4-0 (paperback)",
LCCN = "QA279.5 .S766 2013",
bibdate = "Mon Sep 28 09:15:25 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/jrss-a-2010.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Discovered by an 18th century mathematician and
preacher, Bayes' rule is a cornerstone of modern
probability theory. In this richly illustrated book, a
range of accessible examples is used to show how Bayes'
rule is actually a natural consequence of commonsense
reasoning. Bayes' rule is derived using intuitive
graphical representations of probability, and Bayesian
analysis is applied to parameter estimation using the
Matlab and online Python programs provided. The
tutorial style of writing, combined with a
comprehensive glossary, makes this an ideal primer for
the novice who wishes to become familiar with the basic
principles of Bayesian analysis.",
acknowledgement = ack-nhfb,
subject = "Bayesian statistical decision theory; Bayesian
statistical decision theory.",
tableofcontents = "An introduction to Bayes' rule \\
Bayes' rule in pictures \\
Discrete parameter values \\
Continuous parameter values \\
Gaussian parameter estimation \\
A bird's eye view of Bayes' rule \\
Bayesian wars \\
Appendices. A. Glossary \\
B. Mathematical symbols \\
C. The rules of probability \\
D. Probability density functions \\
E. The binomial distribution \\
F. The Gaussian distribution \\
G. Least-squares estimation \\
H. Reference priors \\
I. Matlab code",
}
@Article{Suchojad:2013:ZAE,
author = "Dariusz Suchojad",
title = "{Zato} --- Agile {ESB}, {SOA}, {REST} and Cloud
integrations in {Python}",
journal = j-LINUX-J,
volume = "2013",
number = "235",
pages = "2:1--2:??",
month = nov,
year = "2013",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Mon Dec 9 07:55:16 MST 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Integrate applications in an elegant and agile
manner.",
acknowledgement = ack-nhfb,
articleno = "2",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Book{Sweigart:2013:HSC,
author = "Al Sweigart",
title = "Hacking Secret Ciphers with {Python}: [a beginner's
guide to cryptography and computer programming with
{Python}]",
publisher = "CreateSpace Independent Publishing",
address = "North Charleston, SC, USA",
pages = "436",
year = "2013",
ISBN = "1-4826-1437-5",
ISBN-13 = "978-1-4826-1437-4",
LCCN = "????",
bibdate = "Wed Oct 14 08:40:05 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://swbplus.bsz-bw.de/bsz40205301Xinh.htm",
acknowledgement = ack-nhfb,
tableofcontents = "Making paper cryptography tools \\
Installing Python \\
The interactive shell \\
Strings and writing programs \\
The reverse cipher \\
The Caesar cipher \\
Hacking the Caesar cipher with the brute-force
technique \\
Encrypting with the transposition cipher \\
Decrypting with the transposition cipher \\
Programming a program to test our program \\
Encrypting and decrypting files \\
Detecting English programmatically \\
Hacking the transposition cipher \\
Modular arithmetic with the multiplicative and affine
ciphers \\
The affine cipher \\
Hacking the affine cipher \\
The simple substitution cipher \\
Hacking the simple substitution cipher \\
The vigenere cipher \\
Frequency analysis \\
Hacking the vigenere cipher \\
The one-time pad cipher \\
Finding prime numbers \\
Public key cryptography adn the RSA cipher",
}
@Article{Toby:2013:GIG,
author = "Brian H. Toby and Robert B. {Von Dreele}",
title = "{GSAS-II}: the genesis of a modern open-source all
purpose crystallography software package",
journal = j-J-APPL-CRYSTAL,
volume = "46",
number = "2",
pages = "544--549",
year = "2013",
CODEN = "JACGAR",
DOI = "https://doi.org/10.1107/S0021889813003531",
ISSN = "0021-8898 (print), 1600-5767 (electronic)",
ISSN-L = "0021-8898",
bibdate = "Tue Jan 30 07:39:48 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of applied crystallography",
keywords = "data analysis, structure analysis, Python, powder
diffraction, charge flipping, powder indexing, image
processing, computer programs",
}
@Article{Walter:2013:ADP,
author = "Sebastian F. Walter and Lutz Lehmann",
title = "Algorithmic differentiation in {Python} with
{AlgoPy}",
journal = j-J-COMPUT-SCI,
volume = "4",
number = "5",
pages = "334--344",
month = sep,
year = "2013",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2011.10.007",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:53:27 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750311001013",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Wu:2013:HSC,
author = "Youfeng Wu",
title = "{HW\slash SW} co-designed acceleration of dynamic
languages",
journal = j-SIGPLAN,
volume = "48",
number = "5",
pages = "1--2",
month = may,
year = "2013",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2499369.2465555",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Jul 1 17:15:32 MDT 2013",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Dynamic Programming Languages, such as Java,
JavaScript, PHP, Perl, Python, Ruby, etc., are
dominating languages for programming the web. HW/SW
co-designed virtual machine can significantly
accelerate their executions by transparently leveraging
internal HW features via an internal compiler. We also
argue for a common API to interface dynamic languages
with the HW/SW co-designed virtual machine, so that a
single internal compiler can accelerate all major
dynamic languages.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "GPCE '12 conference proceedings.",
}
@Book{Adams:2014:LPD,
author = "Chad Adams",
title = "Learning {Python} data visualization: master how to
build dynamic {HTML5}-ready {SVG} charts using {Python}
and the {\tt pygal} library",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iii + 195",
year = "2014",
ISBN = "1-78355-333-2, 1-78355-334-0 (e-book)",
ISBN-13 = "978-1-78355-333-4, 978-1-78355-334-1 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 06:24:24 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
URL = "http://proquest.tech.safaribooksonline.de/9781783553334",
acknowledgement = ack-nhfb,
remark = "- Description based on online resource; title from PDF
title page (ebrary, viewed September 5, 2014).",
subject = "Python (Computer program language); Command languages
(Computer science); Web sites; Authoring programs",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Setting Up Your Development Environment \\
Introduction \\
Setting up Python on Windows \\
Installation \\
Exploring the Python installation in Windows \\
Python editors \\
Setting up Python on Mac OS X \\
Setting up Python on Ubuntu \\
Summary \\
2. Python Refresher \\
Python basics \\
Importing modules and libraries \\
Input and output \\
Generating an image \\
Creating SVG graphics using svgwrite \\
For Windows users using VSPT \\
For Eclipse or other editors on Windows \\
For Eclipse on Mac and Linux \\
Summary \\
3. Getting Started with pygal \\
Why use pygal? \\
Installing pygal using pip \\
Installing pygal using Python Tools for Visual Studio
\\
Building a line chart \\
Stacked line charts \\
Simple bar charts \\
Stacked bar charts \\
Horizontal bar charts \\
XY charts \\
Scatter plots \\
DateY charts \\
Summary \\
4. Advanced Charts \\
Pie charts \\
Stacked pie charts \\
Radar charts \\
Box plots \\
Dot charts \\
Funnel charts \\
Gauge charts \\
Pyramid charts \\
Worldmap charts \\
Summary \\
5. Tweaking pygal \\
Country charts \\
Parameters \\
Legend at the bottom \\
Legend settings \\
Label settings \\
Chart title settings \\
Displaying no data \\
pygal themes \\
Summary \\
6. Importing Dynamic Data \\
Pulling data from the Web \\
The XML refresher \\
RSS and the ATOM \\
Understanding HTTP \\
Using HTTP in Python \\
Parsing XML in Python with HTTP \\
About JSON \\
Parsing JSON in Python with HTTP \\
About JSONP \\
JSONP with Python \\
Summary \\
7. Putting It All Together \\
Chart usage for a blog \\
Getting our data in order \\
Converting date strings to dates \\
Using strptime \\
Saving the output as a counted array \\
Counting the array \\
Python modules \\
Building the main method \\
Modifying our RSS to return values \\
Building our chart module \\
Building a portable configuration for our chart \\
Setting up our chart for data \\
Configuring our main function to pass data \\
Project improvements \\
Summary \\
8. Further Resources \\
The matplotlib library \\
Installing the matplotlib library \\
matplotlib's library download page \\
Creating simple matplotlib charts \\
Plotly \\
Pyvot \\
Summary \\
A. References and Resources \\
Links for help and support \\
Charting libraries \\
Editors and IDEs for Python \\
Other libraries and Python alternative shells \\
Index",
}
@Article{Anonymous:2014:BRP,
author = "Anonymous",
title = "Book Review: {{\booktitle{Python Forensics}}, Chet
Hosmer, Syngress. ISBN 978-0-12-418676-7 (print),
978-0-12-418683-5 (e-book)}",
journal = j-NETWORK-SECURITY,
volume = "2014",
number = "9",
pages = "4--4",
month = sep,
year = "2014",
CODEN = "NTSCF5",
DOI = "https://doi.org/10.1016/S1353-4858(14)70087-X",
ISSN = "1353-4858 (print), 1872-9371 (electronic)",
ISSN-L = "1353-4858",
bibdate = "Mon Dec 4 17:01:11 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S135348581470087X",
acknowledgement = ack-nhfb,
fjournal = "Network Security",
journal-URL = "https://www.sciencedirect.com/journal/network-security",
}
@Article{Arabas:2014:FTB,
author = "Sylwester Arabas and Dorota Jarecka and Anna Jaruga
and Maciej Fijalkowski",
title = "Formula translation in {Blitz++}, {NumPy} and modern
{Fortran}: A case study of the language choice
tradeoffs",
journal = j-SCI-PROG,
volume = "22",
number = "3",
pages = "201--222",
month = "????",
year = "2014",
CODEN = "SCIPEV",
DOI = "https://doi.org/10.3233/SPR-140379",
ISSN = "1058-9244 (print), 1875-919X (electronic)",
ISSN-L = "1058-9244",
bibdate = "Tue Sep 9 18:01:15 MDT 2014",
bibsource = "http://www.iospress.nl/;
https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sciprogram.bib",
acknowledgement = ack-nhfb,
fjournal = "Scientific Programming",
journal-URL = "http://iospress.metapress.com/content/1058-9244",
}
@Book{Arbuckle:2014:LPT,
author = "Daniel Arbuckle",
title = "Learning {Python} testing: a straightforward and easy
approach to testing your {Python} projects",
publisher = pub-PACKT,
address = pub-PACKT:adr,
edition = "Second",
pages = "v + 180",
year = "2014",
ISBN = "1-78355-321-9, 1-78355-322-7",
ISBN-13 = "978-1-78355-321-1, 978-1-78355-322-8",
LCCN = "QA76.73.P98 A728 2014",
bibdate = "Sat Oct 24 06:12:58 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Object-oriented
programming (Computer science); Python (Computer
program language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Python and Testing \\
Testing for fun and profit \\
Levels of testing \\
Unit testing \\
Integration testing \\
System testing \\
Acceptance testing \\
Regression testing \\
Test-driven development \\
You'll need Python \\
Summary \\
2. Working with doctest \\
Where doctest performs best \\
The doctest language \\
Example --- creating and running a simple doctest \\
Result --- three times three does not equal ten \\
The syntax of doctests \\
Example --- a more complex test \\
Result --- five tests run \\
Expecting exceptions \\
Example --- checking for an exception \\
Result --- success at failing \\
Expecting blank lines \\
Controlling doctest behavior with directives \\
Ignoring part of the result \\
Example --- ellipsis test drive \\
Result --- ellipsis elides \\
Ignoring white space \\
Example --- invoking normality \\
Result --- white space matches any other white space
\\
Skipping an example \\
Example --- humans only \\
Result --- it looks like a test, but it's not \\
The other directives \\
The execution scope of doctest tests \\
Check your understanding \\
Exercise --- English to doctest \\
Embedding doctests into docstrings \\
Example --- a doctest in a docstring \\
Result --- the code is now self-documenting and
self-testable \\
Putting it into practice --- an AVL tree \\
English specification \\
Node data \\
Testing the constructor \\
Recalculating height \\
Making a node deletable \\
Rotation \\
Locating a node \\
The rest of the specification \\
Summary \\
3. Unit Testing with doctest \\
What is unit testing? \\
The limitations of unit testing \\
Example --- identifying units \\
Choosing units \\
Check your understanding \\
Unit testing during the development process \\
Design \\
Development \\
Feedback \\
Development, again \\
Later stages of the process \\
Summary \\
4. Decoupling Units with unittest.mock \\
Mock objects in general \\
Mock objects according to unittest.mock \\
Standard mock objects \\
Non-mock attributes \\
Non-mock return values and raising exceptions \\
Mocking class or function details \\
Mocking function or method side effects \\
Mocking containers and objects with a special behavior
\\
Mock objects for properties and descriptors \\
Mocking file objects \\
Replacing real code with mock objects \\
Mock objects in action \\
Better PID tests \\
Patching time.time \\
Decoupling from the constructor \\
Summary \\
5. Structured Testing with unittest \\
The basics \\
Assertions \\
The assertTrue method \\
The assertFalse method \\
The assertEqual method \\
The assertNotEqual method \\
The assertAlmostEqual method \\
The assertNotAlmostEqual method \\
The assertIs and assertIsNot methods \\
The assertIsNone and assertIsNotNone methods \\
The assertIn and assertNotIn methods \\
The assertIsInstance and assertNotIsInstance methods
\\
The assertRaises method \\
The fail method \\
Make sure you get it \\
Test fixtures \\
Example --- testing database-backed units \\
Summary \\
6. Running Your Tests with Nose \\
Installing Nose \\
Organizing tests \\
An example of organizing tests \\
Simplifying the Nose command line \\
Customizing Nose's test search \\
Check your understanding \\
Practicing Nose \\
Nose and doctest tests \\
Nose and unittest tests \\
Module fixture practice \\
Package fixture practice \\
Nose and ad hoc tests \\
Summary \\
7. Test-driven Development Walk-through \\
Writing the specification \\
Try it for yourself --- what are you going to do? \\
Wrapping up the specification \\
Writing initial unit tests \\
Try it for yourself --- write your early unit tests \\
Wrapping up the initial unit tests \\
Coding planner.data \\
Using tests to get the code right \\
Try it for yourself --- writing and debugging code \\
Writing the persistence tests \\
Finishing up the personal planner \\
Summary \\
8. Integration and System Testing \\
Introduction to integration testing and system testing
\\
Deciding on an integration order \\
Automating integration tests and system tests \\
Writing integration tests for the time planner \\
Check yourself --- writing integration tests \\
Summary \\
9. Other Tools and Techniques \\
Code coverage \\
Installing coverage.py \\
Using coverage.py with Nose \\
Version control integration \\
Git \\
Example test-runner hook \\
Subversion \\
Mercurial \\
Bazaar \\
Automated continuous integration \\
Buildbot \\
Setup \\
Using Buildbot \\
Summary \\
Index",
}
@Book{Aumasson:2014:HFB,
author = "Jean-Philippe Aumasson and Willi Meier and Raphael
C.-W. Phan and Luca Henzen",
title = "The Hash Function {BLAKE}",
publisher = pub-SV,
address = pub-SV:adr,
pages = "xviii + 228 + 18",
year = "2014",
DOI = "https://doi.org/10.1007/978-3-662-44757-4",
ISBN = "3-662-44756-8 (print), 3-662-44757-6 (e-book)",
ISBN-13 = "978-3-662-44756-7 (print), 978-3-662-44757-4
(e-book)",
ISSN = "1619-7100 (print), 2197-845X (electronic)",
ISSN-L = "1619-7100",
LCCN = "QA76.9.H36 A96 2014",
bibdate = "Sat Jun 10 08:35:22 MDT 2017",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Information Security and Cryptography",
abstract = "This is a comprehensive description of the
cryptographic hash function BLAKE, one of the five
final contenders in the NIST SHA3 competition, and of
BLAKE2, an improved version popular among developers.
It describes how BLAKE was designed and why BLAKE2 was
developed, and it offers guidelines on implementing and
using BLAKE, with a focus on software implementation.
In the first two chapters, the authors offer a short
introduction to cryptographic hashing, the SHA3
competition, and BLAKE. They review applications of
cryptographic hashing, they describe some basic notions
such as security definitions and state-of-the-art
collision search methods, and they present SHA1, SHA2,
and the SHA3 finalists. In the chapters that follow,
the authors give a complete description of the four
instances BLAKE-256, BLAKE-512, BLAKE-224, and
BLAKE-384; they describe applications of BLAKE,
including simple hashing with or without a salt, and
HMAC and PBKDF2 constructions; they review
implementation techniques, from portable C and Python
to AVR assembly and vectorized code using SIMD CPU
instructions; they describe BLAKE's properties with
respect to hardware design for implementation in ASICs
or FPGAs; they explain BLAKE's design rationale in
detail, from NIST's requirements to the choice of
internal parameters; they summarize the known security
properties of BLAKE and describe the best attacks on
reduced or modified variants; and they present BLAKE2,
the successor of BLAKE, starting with motivations and
also covering its performance and security aspects. The
book concludes with detailed test vectors, a reference
portable C implementation of BLAKE, and a list of
third-party software implementations of BLAKE and
BLAKE2. The book is oriented towards practice -
engineering and craftsmanship - rather than theory. It
is suitable for developers, engineers, and security
professionals engaged with BLAKE and cryptographic
hashing in general, and for applied cryptography
researchers and students who need a consolidated
reference and a detailed description of the design
process, or guidelines on how to design a cryptographic
algorithm.",
acknowledgement = ack-nhfb,
shorttableofcontents = "Introduction \\
Preliminaries \\
Specification of BLAKE \\
Using BLAKE \\
BLAKE in Software \\
BLAKE in Hardware \\
Design Rationale \\
Security of BLAKE \\
BLAKE2 \\
Conclusion \\
References \\
App. A, Test Vectors \\
App. B, Reference C Code \\
App. C, Third-Party Software \\
Index",
subject = "BLAKE",
tableofcontents = "Introduction / 1 \\
1.1 Cryptographic Hashing / 1 \\
1.2 The SHA3 Competition / 2 \\
1.3 BLAKE, in a Nutshell / 5 \\
1.4 Conventions / 6 \\
2 Preliminaries / 9 \\
2.1 Applications / 9 \\
2.1.1 Modification Detection / 9 \\
2.1.2 Message Authentication / 10 \\
2.1.3 Digital Signatures / 11 \\
2.1.4 Pseudorandom Functions / 12 \\
2.1.5 Entropy Extraction and Key Derivation / 13 \\
2.1.6 Password Hashing / 13 \\
2.1.7 Data Identification / 14 \\
2.1.8 Key Update / 14 \\
2.1.9 Proof-of-Work Systems / 14 \\
2.1.10 Timestamping / 15 \\
2.2 Security Notions / 15 \\
2.2.1 Security Models / 15 \\
2.2.2 Classical Security Definitions / 17 \\
2.2.3 General Security Definition / 19 \\
2.3 Black-Box Collision Search / 20 \\
2.3.1 Cycles and Tails / 20 \\
2.3.2 Cycle Detection / 21 \\
2.3.3 Parallel Collision Search / 22 \\
2.3.4 Application to Meet-in-the-Middle / 22 \\
2.3.5 Quantum Collision Search / 23 \\
2.4 Constructing Hash Functions / 24 \\
2.4.1 Merkle-Damgard / 24 \\
2.4.2 HAIFA / 27 \\
2.4.3 Wide-Pipe / 27 \\
2.4.4 Sponge Functions / 27 \\
2.4.5 Compression Functions / 28 \\
2.5 The SHA Family / 31 \\
2.5.1 SHA1 / 31 \\
2.5.2 SHA2 / 32 \\
2.5.3 SHA3 Finalists / 34 \\
3 Specification of BLAKE / 37 \\
3.1 BLAKE-256 / 37 \\
3.1.1 Constant Parameters / 37 \\
3.1.2 Compression Function / 38 \\
3.1.3 Iteration Mode / 40 \\
3.2 BLAKE-512 / 41 \\
3.2.1 Constant Parameters / 41 \\
3.2.2 Compression Function / 42 \\
3.2.3 Iteration Mode / 42 \\
3.3 BLAKE-224 / 43 \\
3.4 BLAKE-384 / 43 \\
3.5 Toy Versions / 44 \\
4 Using BLAKE / 45 \\
4.1 Simple Hashing / 45 \\
4.1.1 Description / 45 \\
4.1.2 Hashing a Large File with BLAKE-256 / 46 \\
4.1.3 Hashing a Bit with BLAKE-512 / 48 \\
4.1.4 Hashing the Empty String with BLAKE-512 / 49 \\
4.2 Hashing with a Salt / 49 \\
4.2.1 Description / 49 \\
4.2.2 Hashing a Bit with BLAKE-512 and a Salt / 49 \\
4.3 Message Authentication with HMAC / 50 \\
4.3.1 Description / 50 \\
4.3.2 Authenticating a File with HMAC-BLAKE-512 / 50
\\
4.4 Password-Based Key Derivation with PBKDF2 / 53 \\
4.4.1 Basic Description / 53 \\
4.4.2 Generating a Key with PBKDF2-HMAC-BLAKE-224 / 53
\\
5 BLAKE in Software / 55 \\
5.1 Straightforward Implementation / 55 \\
5.1.1 Portable C / 55 \\
5.1.2 Other Languages / 58 \\
5.2 Embedded Systems / 60 \\
5.2.1 8-Bit AVR / 60 \\
5.2.2 32-Bit ARM / 62 \\
5.3 Vectorized Implementation Principle / 64 \\
5.4 Vectorized Implementation with SSE Extensions / 64
\\
5.4.1 Streaming SIMD Extensions 2 (SSE2) / 64 \\
5.4.2 Implementing BLAKE-256 with SSE2 / 65 \\
5.4.3 Implementing BLAKE-512 with SSE2 / 66 \\
5.4.4 Implementations with SSSE3 and SSE4.1 / 70 \\
5.5 Vectorized Implementation with AVX2 Extensions / 70
\\
5.5.1 Relevant AVX2 Instructions / 71 \\
5.5.2 Implementing BLAKE-512 with AVX2 / 73 \\
5.5.3 Implementing BLAKE-256 with AVX2 / 77 \\
5.6 Vectorized Implementation with XOP Extensions / 79
\\
5.6.1 Relevant XOP Instructions / 80 \\
5.6.2 Implementing BLAKE with XOP / 80 \\
5.7 Vectorized Implementation with NEON Extensions / 83
\\
5.7.1 Relevant NEON Instructions / 83 \\
5.7.2 Implementing BLAKE-256 with NEON / 84 \\
5.7.3 Implementing BLAKE-512 with NEON / 86 \\
5.8 Performance / 88 \\
5.8.1 Speed Summary / 89 \\
5.8.2 8-Bit AVR / 90 \\
5.8.3 ARM Platforms / 91 \\
5.8.4 x86 Platforms (32-bit) / 91 \\
5.8.5 amd64 Platforms (64-bit) / 92 \\
5.8.6 Other Platforms / 93 \\
6 BLAKE in Hardware / 97 \\
6.1 RTL Design / 97 \\
6.2 ASIC Implementation / 98 \\
6.2.1 High-Speed Design / 98 \\
6.2.2 Compact Design / 100 \\
6.3 FPGA Design / 100 \\
6.4 Performance / 101 \\
6.4.1 ASIC / 102 \\
6.4.2 FPGA / 102 \\
6.4.3 Discussion / 105 \\
7 Design Rationale / 107 \\
7.1 NIST Call for Submissions / 107 \\
7.1.1 General Requirements / 107 \\
7.1.2 Technical and Security Requirements / 109 \\
7.1.3 Could SHA2 Be SHA3? / 110 \\
7.2 Needs Analysis Ill 7.2.1 Ease of Implementation /
112 \\
7.2.2 Performance / 113 \\
7.2.3 Security / 113 \\
7.2.4 Extra Features / 114 \\
7.3 Design Philosophy / 114 \\
7.3.1 Minimalism / 115 \\
7.3.2 Robustness / 119 \\
7.3.3 Versatility / 120 \\
7.4 Design Choices / 120 \\
7.4.1 General Choices / 121 \\
7.4.2 Iteration Mode / 122 \\
7.4.3 Core Algorithm / 122 \\
7.4.4 Rotation Counts / 125 \\
7.4.5 Permutations / 126 \\
7.4.6 Number of Rounds / 128 \\
7.4.7 Constants / 128 \\
8 Security of BLAKE / 131 \\
8.1 Differential Cryptanalysis / 131 \\
8.1.1 Differences and Differentials / 132 \\
8.1.2 Finding Good Differentials / 133 \\
8.2 Properties of BLAKE's G Function / 133 \\
8.2.1 Basic Properties / 134 \\
8.2.2 Differential Properties of G / 136 \\
8.3 Properties of the Round Function / 141 \\
8.3.1 Bijectivity / 141 \\
8.3.2 Diffusion and Low-Weight Differences / 142 \\
8.3.3 Invertibility / 145 \\
8.3.4 Impossible Differentials / 147 \\
8.4 Properties of the Compression Function / 151 \\
8.4.1 Finalization / 151 \\
8.4.2 Local Collisions / 152 \\
8.4.3 Fixed Points / 152 \\
8.4.4 Fixed Point Collisions / 153 \\
8.4.5 Pseudorandomness / 153 \\
8.5 Security Against Generic Attacks / 154 \\
8.5.1 Indifferentiability / 154 \\
8.5.2 Length Extension / 155 \\
8.5.3 Collision Multiplication / 155 \\
8.5.4 Multicollisions / 156 \\
8.5.5 Second Preimages / 157 \\
8.6 Attacks on Reduced BLAKE / 158 \\
8.6.1 Preimage Attacks / 158 \\
8.6.2 Near-Collision Attack / 159 \\
8.6.3 Boomerang Distinguisher / 160 \\
8.6.4 Iterative Characteristics / 161 \\
8.6.5 Breaking BLOKE / 163 \\
8.6.6 Attack on a Variant with Identical Constants /
163 \\
9 BLAKE2 / 165 \\
9.1 Motivations / 165 \\
9.2 Differences with BLAKE / 166 \\
9.2.1 Fewer Rounds / 167 \\
9.2.2 Rotations Optimized for Speed / 167 \\
9.2.3 Minimal Padding / 168 \\
9.2.4 Finalization Flags / 168 \\
9.2.5 Fewer Constants '68 9.2.6 Little-Endianness / 169
\\
9.2.7 Counter in Bytes / 170 \\
9.2.8 Salt Processing / 170 \\
9.2.9 Parameter Block / 170 \\
9.3 Keyed Hashing (MAC and PRF) / 172 \\
9.4 Tree Hashing / 172 \\
9.4.1 Basic Mechanism / 173 \\
9.4.2 Message Parsing / 174 \\
9.4.3 Special Cases / 174 \\
9.4.4 Generic Tree Parameters / 175 \\
9.4.5 Updatable Hashing Example / 175 \\
9.5 Parallel Hashing: BLAKE2sp and BLAKE2bp / 176 \\
9.6 Performance / 177 \\
9.6.1 Why BLAKE2 Is Fast in Software / 177 \\
9.6.2 64-bit Platforms / 178 \\
9.6.3 Low-End Platforms / 179 \\
9.6.4 Hardware / 180 \\
9.7 Security / 180 \\
9.7.1 BLAKE Legacy / 180 \\
9.7.2 Implications of BLAKE2 Tweaks / 181 \\
9.7.3 Third-Party Cryptanalysis / 181 \\
10 Conclusion / 185 \\
References / 187 \\
A Test Vectors / 195 \\
A.1 BLAKE-256 / 195 \\
A.1.1 One-Block Message / 195 \\
A.1.2 Two-Block Message / 196 \\
A.2 BLAKE-224 / 198 \\
A.2.1 One-Block Message / 198 \\
A.2.2 Two-Block Message / 199 \\
A.3 BLAKE-512 / 201 \\
A.3.1 One-Block Message / 201 \\
A.3.2 Two-Block Message / 202 \\
A.4 BLAKE-384 / 205 \\
A.4.1 One-Block Message / 205 \\
A.4.2 Two-Block Message / 206 \\
B Reference C Code / 209 \\
B.1 blake.h / 209 \\
B.2 blake224.c / 211 \\
B.3 blake256.c / 214 \\
B.4 blake384.c / 217 \\
B.5 blake512.c / 220 \\
C Third-Party Software / 225 \\
C.1 BLAKE / 225 \\
C.2 BLAKE2 / 226 \\
Index / 227",
}
@Article{Ayars:2014:FPB,
author = "Eric Ayars",
title = "Finally, a {Python}-Based Computational Physics Text",
journal = j-COMPUT-SCI-ENG,
volume = "16",
number = "1",
pages = "6--7",
month = jan # "\slash " # feb,
year = "2014",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2014.17",
ISSN = "1521-9615",
ISSN-L = "1521-9615",
bibdate = "Sat Apr 19 10:17:39 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Beazley:2014:PCR,
author = "David M. Beazley and Brian K. (Brian Kenneth) Jones",
title = "{Python} cookbook: Recipes for mastering {Python 3}",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
edition = "Third",
pages = "xvi + 687",
year = "2014",
ISBN = "1-4493-4037-7 (paperback), 1-4493-5736-9 (e-book)",
ISBN-13 = "978-1-4493-4037-7 (paperback), 978-1-4493-5736-8
(e-book)",
LCCN = "QA76.73.P98 B43 2013eb",
bibdate = "Fri Oct 23 15:05:28 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "If you need help writing programs in Python 3, or want
to update older Python 2 code, this book is just the
ticket. Packed with practical recipes written and
tested with Python 3.3, this unique cookbook is for
experienced Python programmers who want to focus on
modern tools and idioms.",
acknowledgement = ack-nhfb,
subject = "Scripting languages (Computer science); Python
(Computer program language)",
tableofcontents = "Data structures and algorithms \\
Strings and text \\
Numbers, dates, and times \\
Iterators and generators \\
Files and I/O \\
Data encoding and processing \\
Functions \\
Classes and objects \\
Metaprogramming \\
Modules and packages \\
Network and web programming \\
Concurrency \\
Utility scripting and system administration \\
Testing, debugging, and exceptions \\
C extensions",
}
@Book{Beazley:2014:PR,
author = "David M. Beazley and Brian K. (Brian Kenneth) Jones",
title = "{Python}. {Receptury}",
publisher = "Wydawnictwo Helion",
address = "Gliwice, Poland",
edition = "Third",
year = "2014",
ISBN = "1-4920-1351-X (e-book), 1-4920-1350-1, 83-246-8180-9
(print)",
ISBN-13 = "978-1-4920-1351-8 (e-book), 978-1-4920-1350-1,
978-83-246-8180-8 (print)",
LCCN = "QA76.73.P98 B386 2014",
bibdate = "Sat Oct 24 07:08:24 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Translation of \cite{Beazley:2014:PCR} to Polish by
Tomasz Walczak.",
URL = "http://proquest.safaribooksonline.com/?fpi=9781492013501",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); COMPUTERS;
Programming Languages; Python.; Python (Computer
program language)",
}
@Article{Belson:2014:AMP,
author = "Brandt A. Belson and Jonathan H. Tu and Clarence W.
Rowley",
title = "Algorithm 945: {{\tt modred}} --- A Parallelized Model
Reduction Library",
journal = j-TOMS,
volume = "40",
number = "4",
pages = "30:1--30:23",
month = jun,
year = "2014",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2616912",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Jul 2 18:28:58 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "We describe a new parallelized Python library for
model reduction, modal analysis, and system
identification of large systems and datasets. Our
library, called modred, handles a wide range of
problems and any data format. The modred library
contains implementations of the Proper Orthogonal
Decomposition (POD), balanced POD (BPOD)
Petrov--Galerkin projection, and a more efficient
variant of the Dynamic Mode Decomposition (DMD). The
library contains two implementations of these
algorithms, each with its own advantages. One is for
smaller and simpler datasets, requires minimal
knowledge to use, and follows a common matrix-based
formulation. The second, for larger and more
complicated datasets, preserves the abstraction of
vectors as elements of a vector space and, as a result,
allows the library to work with arbitrary data formats
and eases distributed memory parallelization. We also
include implementations of the Eigensystem Realization
Algorithm (ERA), and Observer/Kalman Filter
Identification (OKID). These methods are typically not
computationally demanding and are not parallelized. The
library is designed to be easy to use, with an
object-oriented design, and includes comprehensive
automated tests. In almost all cases, parallelization
is done internally so that scripts that use the
parallelized classes can be run in serial or in
parallel without any modifications.",
acknowledgement = ack-nhfb,
articleno = "30",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Bertalan:2014:ONM,
author = "Tom S. Bertalan and Akand W. Islam and Roger B. Sidje
and Eric S. Carlson",
title = "{OpenMG}: a new multigrid implementation in {Python}",
journal = j-NUM-LIN-ALG-APPL,
volume = "21",
number = "5",
pages = "685--700",
month = oct,
year = "2014",
CODEN = "NLAAEM",
DOI = "https://doi.org/10.1002/nla.1920",
ISSN = "1070-5325 (print), 1099-1506 (electronic)",
ISSN-L = "1070-5325",
bibdate = "Wed Feb 11 22:13:04 MST 2015",
bibsource = "http://www.interscience.wiley.com/jpages/1070-5325;
https://www.math.utah.edu/pub/tex/bib/numlinaa.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www3.interscience.wiley.com/journalfinder.html",
acknowledgement = ack-nhfb,
fjournal = "Numerical Linear Algebra with Applications",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1099-1506",
onlinedate = "9 Jan 2014",
}
@Book{Bradbury:2014:LPR,
author = "Alex Bradbury and R. (Russel) Winder",
title = "Learning {Python} with {Raspberry Pi}",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xvi + 270",
year = "2014",
ISBN = "1-118-71705-8 (paperback), 1-118-71702-3 (e-book),
1-118-71703-1 (e-book), 1-306-47299-7 (e-book)",
ISBN-13 = "978-1-118-71705-9 (paperback), 978-1-118-71702-8
(e-book), 978-1-118-71703-5 (e-book), 978-1-306-47299-9
(e-book)",
LCCN = "QA76.76.D47 .B73 2014",
bibdate = "Sat Oct 24 07:13:59 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Application software; Development; Microcomputers;
Python (Computer program language); Development.;
Microcomputers.; Python (Computer program language)",
tableofcontents = "Introduction \\
What Is Programming? \\
Why the Raspberry Pi? \\
How Does this Book Work? \\
Chapter 1: Getting Up and Running \\
Setting Up Your Raspberry Pi \\
Solving Problems \\
A Quick Tour of Raspbian \\
Using LXDE (Lightweight X11 Desktop Environment) \\
Using the Terminal \\
Changing Configurations with Raspi-Config \\
Installing Software \\
Python 3 \\
The Python Interpreter \\
Running Python Programs \\
Summary \\
Chapter 2: a Really Quick Introduction to Python \\
Drawing Picture with Turtles \\
Using Loops \\
Conditionals: if, elif, and else \\
Using Functions and Methods to Structure Code \\
A Python Game of Cat and Mouse \\
Understanding Variables \\
Defining Functions \\
Looping Through the Game \\
Summary \\
Chapter 3: Python Basics \\
Variables, Values, and Types \\
Values Have Types \\
Storing Numbers \\
Keeping Text in Strings \\
Boolean: True or False \\
Converting Between Data Types \\
Test Your Knowledge \\
Storing Values in Structures \\
Non-Sequential Values in Dictionaries and Sets \\
Test Your Knowledge \\
Controlling the Way the Program Flows \\
Moving Through Data with for Loops \\
Going Deeper with Nested Loops \\
Branching Execution with if Statements \\
Catching Exceptions \\
Making Code Reusable with Functions \\
Optional Parameters \\
Bringing Everything Together \\
Building Objects with Classes \\
Getting Extra Features from Modules \\
Summary \\
Solutions to Exercises \\
Exercise 1 \\
Exercise 2 \\
Chapter 4: Graphical Programming \\
Graphical User Interface (GUI) Programming \\
Adding Controls \\
Test Your Knowledge \\
Creating a Web Browser \\
Adding Window Menus \\
Test Your Knowledge \\
Summary \\
Solutions to Exercises \\
Chapter 5: Creating Games \\
Building a Game \\
Initialising PyGame \\
Creating a World \\
Detecting Collisions \\
Moving Left and Right \\
Reaching the Goal \\
Making a Challenge \\
Making It Your Own \\
Adding Sound \\
Adding Scenery \\
Adding the Finishing Touches \\
Taking the Game to the Next Level \\
Realistic Game Physics \\
Summary \\
Chapter 6: Creating Graphics with OpenGL \\
Getting Modules \\
Creating a Spinning Cube \\
Vectors and Matrices \\
Bringing It All Together \\
Let There Be Light \\
Making the Screen Dance \\
Building the 3D Model \\
Calculating the Sound Level \\
Taking Things Further \\
Adding Some Texture \\
Summary \\
Chapter 7: Networked Python \\
Understanding Hosts, Ports, and Sockets \\
Locating Computers with IP Addresses \\
Building a Chat Server \\
Tweeting to the World \\
Weather Forecasts with JSON \\
Testing Your Knowledge \\
Exercise 1 \\
Getting On the Web \\
Making Your Website Dynamic \\
Using Templates \\
Sending Data Back with Forms \\
Exercise 2 \\
Keeping Things Secure \\
Summary \\
Solutions to Exercises \\
Exercise 1 \\
Chapter 8: Minecraft \\
Exploring Minecraft \\
Controlling Your Minecraft World \\
Creating Minecraft Worlds in Python \\
Taking Things Further \\
Making the Game Snake \\
Moving the Snake \\
Growing the Snake \\
Adding the Apples \\
Taking Things Further \\
Summary \\
Chapter 9: Multimedia \\
Using PyAudio to Get Sound into Your Computer \\
Recording the Sound \\
Speaking to Your Pi \\
Asking the Program Questions \\
Putting It All Together \\
Taking Things Further \\
Making Movies \\
Using USB Webcams \\
Adding Computer Vision Features with OpenCV \\
Taking Things Further \\
Using the Raspberry Pi Camera Module \\
Creating Live Streams \\
Taking Things Further \\
Summary \\
Chapter 10: Scripting \\
Getting Started with the Linux Command Line \\
Using the Subprocess Module \\
Command-Line Flags \\
Regular Expressions \\
Testing Your Knowledge \\
Scripting with Networking \\
Bringing It All Together \\
Working with Files in Python \\
Summary \\
Chapter 11: Interfacing with Hardware \\
Setting Up Your Hardware Options \\
Female to Male Jumper Wires \\
Pi Cobbler \\
Solderless Breadboard \\
Stripboards and Prototyping Boards \\
PCB Manufacturing \\
Getting the Best Tools \\
Wire Cutters/Strippers \\
Multimeters \\
Soldering Irons \\
Hardware Needed for this Chapter \\
The First Circuit \\
Power Limits \\
Getting Input \\
Expanding the GPIO Options with I2C, SPI, and Serial
\\
The SPI Communications Protocol \\
The I2C Communications Protocol \\
The Serial Communications Protocol \\
Taking the Example Further \\
Arduino \\
PiFace \\
Gertboard \\
Wireless Inventor's Kit \\
Trying Some Popular Projects \\
Robots \\
Home Automation \\
Burglar Alarms \\
Digital Art \\
Summary \\
Chapter 12: Testing and Debugging \\
Investigating Bugs by Printing Out the Values \\
Finding Bugs by Testing \\
Checking Bits of Code with Unit Tests \\
Getting More Assertive \\
Using Test Suites for Regression Testing \\
Testing the Whole Package \\
Making Sure Your Software's Usable \\
How Much Should You Test? \\
Summary",
}
@Book{Browning:2014:PP,
author = "J. Burton Browning and Marty Alchin",
title = "Pro {Python}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
year = "2014",
DOI = "https://doi.org/10.1007/978-1-4842-0334-7",
ISBN = "1-4842-0335-6, 1-4842-0334-8 (e-book)",
ISBN-13 = "978-1-4842-0335-4, 978-1-4842-0334-7 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 06:02:24 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "The expert's voice in Python",
abstract = "You've learned the basics of Python, but how do you
take your skills to the next stage? Even if you know
enough to be productive, there are a number of features
that can take you to the next level in Python. Pro
Python, Second Edition explores concepts and features
normally left to experimentation, allowing you to be
even more productive and creative. In addition to pure
code concerns, Pro Python develops your programming
techniques and approaches, which will help make you a
better Python programmer. This book will improve not
only your code but also your understanding and
interaction with the many established Python
communities. This book takes your Python knowledge and
coding skills to the next level. It shows you how to
write clean, innovative code that will be respected by
your peers. With this book, make your code do more with
introspection and meta-programming. And learn and later
use the nuts and bolts of an application, tier-by-tier
as a complex case study along the way. For more
information, including a link to the source code
referenced in the book, please visit
http://propython.com/.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Handbooks,
manuals, etc; Computer programming; COMPUTERS;
Programming Languages; C{\"A}; Java.; Pascal.; Computer
programming.; Python (Computer program language)",
tableofcontents = "About the Authors \\
About the Technical Reviewer \\
Acknowledgments \\
Introduction \\
Chapter 1: Principles and Philosophy \\
The Zen of Python \\
Beautiful Is Better Than Ugly \\
Explicit Is Better Than Implicit \\
Simple Is Better Than Complex \\
Complex Is Better Than Complicated \\
Flat Is Better Than Nested \\
Sparse Is Better Than Dense \\
Readability Counts \\
Special Cases Aren't Special Enough to Break the Rules
\\
Although Practicality Beats Purity \\
Errors Should Never Pass Silently \\
Unless Explicitly Silenced \\
In the Face of Ambiguity, Refuse the Temptation to
Guess \\
There Should Be One --- and Preferably Only One ---
Obvious Way to Do It \\
Although That Way May Not Be Obvious at First Unless
You're Dutch \\
Now Is Better Than Never \\
Although Never Is Often Better Than Right Now \\
If the Implementation Is Hard to Explain, It's a Bad
Idea \\
If the Implementation Is Easy to Explain, It May Be a
Good Idea \\
Namespaces Are One Honking Great Idea --- Let's Do More
of Those! \\
Don't Repeat Yourself \\
Loose Coupling \\
The Samurai Principle \\
The Pareto Principle \\
The Robustness Principle \\
Backward Compatibility \\
The Road to Python 3.0 \\
Taking It With You \\
Chapter 2: Advanced Basics \\
General Concepts \\
Iteration \\
Caching \\
Transparency \\
Control Flow \\
Catching Exceptions \\
Exception Chains \\
When Everything Goes Right \\
Proceeding Regardless of Exceptions \\
Optimizing Loops \\
The with Statement \\
Conditional Expressions \\
Iteration \\
Sequence Unpacking \\
List Comprehensions \\
Generator Expressions \\
Set Comprehensions \\
Dictionary Comprehensions \\
Chaining Iterables Together \\
Zipping Iterables Together \\
Collections \\
Sets \\
Named Tuples \\
Ordered Dictionaries \\
Dictionaries with Defaults \\
Importing Code \\
Fallback Imports \\
Importing from the Future \\
Using __all__ to Customize Imports \\
Relative Imports \\
The __import__( ) function \\
The importlib module \\
Taking It With You \\
Chapter 3: Functions \\
Arguments \\
Planning for Flexibility \\
Variable Positional Arguments \\
Variable Keyword Arguments \\
Combining Different Kinds of Arguments \\
Invoking Functions with Variable Arguments \\
Preloading Arguments \\
Introspection \\
Example: Identifying Argument Values \\
Example: a More Concise Version \\
Example: Validating Arguments \\
Decorators \\
Closures \\
Wrappers \\
Decorators with Arguments \\
Decorators with --- or without --- Arguments \\
Example: Memoization \\
Example: a Decorator to Create Decorators \\
Function Annotations \\
Example: Type Safety \\
Factoring Out the Boilerplate \\
Example: Type Coercion \\
Annotating with Decorators \\
Example: Type Safety as a Decorator \\
Generators \\
Lambdas \\
Introspection \\
Identifying Object Types \\
Modules and Packages \\
Docstrings \\
Taking It with You \\
Chapter 4: Classes \\
Inheritance \\
Multiple Inheritance \\
Method Resolution Order \\
Example: C3 Algorithm \\
Using super() to Pass Control to Other Classes \\
Introspection \\
How Classes Are Created \\
Creating Classes at Runtime \\
Metaclasses \\
Example: Plugin Framework \\
Controlling the Namespace \\
Attributes \\
Properties \\
Descriptors \\
Methods \\
Unbound Methods \\
Bound Methods \\
Class Methods \\
Static Methods \\
Assigning Functions to Classes and Instances \\
Magic Methods \\
Creating Instances \\
Example: Automatic Subclasses \\
Dealing with Attributes \\
String Representations \\
Taking It With You \\
Chapter 5: Common Protocols \\
Basic Operations \\
Mathematical Operations \\
Bitwise Operations \\
Variations \\
Numbers \\
Sign Operations \\
Comparison Operations \\
Iterables \\
Example: Repeatable Generators \\
Sequences \\
Mappings \\
Callables \\
Context Managers \\
Taking It With You \\
Chapter 6: Object Management \\
Namespace Dictionary \\
Example: Borg Pattern \\
Example: Self-Caching Properties \\
Garbage Collection \\
Reference Counting \\
Cyclical References \\
Weak References \\
Pickling \\
Copying \\
Shallow Copies \\
Deep Copies \\
Taking It With You \\
Chapter 7: Strings \\
Bytes \\
Simple Conversion: chr( ) and ord( ) \\
Complex Conversion: The Struct Module \\
Text \\
Unicode \\
Encodings \\
Simple Substitution \\
Formatting \\
Looking Up Values Within Objects \\
Distinguishing Types of Strings \\
Standard Format Specification \\
Example: Plain Text Table of Contents \\
Custom Format Specification \\
Taking It With You \\
Chapter 8: Documentation \\
Proper Naming \\
Comments \\
Docstrings \\
Describe What the Function Does \\
Explain the Arguments \\
Don't Forget the Return Value \\
Include Any Expected Exceptions \\
Documentation Outside the Code \\
Installation and Configuration \\
Tutorials \\
Reference Documents \\
Documentation Utilities \\
Formatting \\
Links \\
Sphinx \\
Taking It With You \\
Chapter 9: Testing \\
Test-Driven Development \\
Doctests \\
Formatting Code \\
Representing Output \\
Integrating With Documentation \\
Running Tests \\
The unittest Module \\
Setting Up \\
Writing Tests \\
Other Comparisons \\
Testing Strings and Other Sequence Content \\
Testing Exceptions \\
Testing Identity \\
Tearing Down \\
Providing a Custom Test Class \\
Changing Test Behavior \\
Taking It With You \\
Chapter 10: Distribution \\
Licensing \\
GNU General Public License \\
Affero General Public License \\
GNU Lesser General Public License \\
Berkeley Software Distribution License \\
Other Licenses \\
Packaging \\
setup.py \\
MANIFEST.in \\
The sdist Command \\
Distribution \\
Taking It With You \\
Chapter 11: Sheets: a CSV Framework \\
Building a Declarative Framework \\
Introducing Declarative Programming \\
To Build or Not to Build? \\
Building the Framework \\
Managing Options \\
Defining Fields \\
Attaching a Field to a Class \\
Adding a Metaclass \\
Bringing It Together \\
Ordering Fields \\
DeclarativeMeta.__prepare__() \\
Column.__init__() \\
Column.__new__() \\
CounterMeta.__call__() \\
Choosing an Option \\
Building a Field Library \\
StringField \\
IntegerColumn \\
FloatColumn \\
DecimalColumn \\
DateColumn \\
Getting Back to CSV \\
Checking Arguments \\
Populating Values \\
The Reader \\
The Writer \\
Taking It With You \\
Appendix A: Style Guide for Python \\
Introduction \\
A Foolish Consistency Is the Hobgoblin of Little Minds
\\
Code Layout \\
Indentation \\
Tabs or Spaces? \\
Maximum Line Length \\
Blank Lines \\
Encodings (PEP 263) \\
Imports \\
Whitespace in Expressions and Statements \\
Pet Peeves \\
Other Recommendations \\
Comments \\
Block Comments \\
Inline Comments \\
Documentation Strings \\
Version Bookkeeping \\
Naming Conventions \\
Descriptive: Naming Styles \\
Prescriptive: Naming Conventions \\
Programming Recommendations \\
Copyright \\
Appendix B: Voting Guidelines \\
Abstract \\
Rationale \\
Voting Scores \\
Copyright \\
Appendix C: The Zen of Python \\
Abstract \\
The Zen of Python \\
Easter Egg \\
Copyright \\
Appendix D: Docstring Conventions \\
Abstract \\
Rationale \\
Specification \\
What Is a Docstring? \\
One-Line Docstrings \\
Multiline Docstrings \\
Handling Docstring Indentation \\
Copyright \\
Acknowledgments \\
Appendix E: Backward Compatibility Policy \\
Abstract \\
Rationale \\
Backward Compatibility Rules \\
Making Incompatible Changes \\
Copyright \\
Appendix F: Python 3000 \\
Abstract \\
Naming \\
PEP Numbering \\
Timeline \\
Compatibility and Transition \\
Implementation Language \\
Meta-Contributions \\
Copyright \\
Appendix G: Python Language Moratorium \\
Abstract \\
Rationale \\
Details \\
Cannot Change \\
Case-by-Case Exemptions \\
Allowed to Change \\
Retroactive \\
Extensions \\
Copyright \\
Index",
}
@Article{Bucquet:2014:AIP,
author = "Samuel Bucquet",
title = "Accessing the {IO} ports of the {Beaglebone Black}
with {Python}",
journal = j-LINUX-J,
volume = "2014",
number = "246",
pages = "3:1--3:??",
month = oct,
year = "2014",
CODEN = "LIJOFX",
ISSN = "1075-3583 (print), 1938-3827 (electronic)",
ISSN-L = "1075-3583",
bibdate = "Sat Nov 1 17:00:17 MDT 2014",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/linux-journal.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "With the BeagleBone Black, you can command all your
electronic gear with a few lines of Python.",
acknowledgement = ack-nhfb,
articleno = "3",
fjournal = "Linux Journal",
journal-URL = "http://portal.acm.org/citation.cfm?id=J508",
}
@Article{Bucur:2014:PSE,
author = "Stefan Bucur and Johannes Kinder and George Candea",
title = "Prototyping symbolic execution engines for interpreted
languages",
journal = j-COMP-ARCH-NEWS,
volume = "42",
number = "1",
pages = "239--254",
month = mar,
year = "2014",
CODEN = "CANED2",
DOI = "https://doi.org/10.1145/2654822.2541977",
ISSN = "0163-5964 (print), 1943-5851 (electronic)",
ISSN-L = "0163-5964",
bibdate = "Mon Aug 18 17:12:47 MDT 2014",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigarch.bib",
abstract = "Symbolic execution is being successfully used to
automatically test statically compiled code. However,
increasingly more systems and applications are written
in dynamic interpreted languages like Python. Building
a new symbolic execution engine is a monumental effort,
and so is keeping it up-to-date as the target language
evolves. Furthermore, ambiguous language specifications
lead to their implementation in a symbolic execution
engine potentially differing from the production
interpreter in subtle ways. We address these challenges
by flipping the problem and using the interpreter
itself as a specification of the language semantics. We
present a recipe and tool (called Chef) for turning a
vanilla interpreter into a sound and complete symbolic
execution engine. Chef symbolically executes the target
program by symbolically executing the interpreter's
binary while exploiting inferred knowledge about the
program's high-level structure. Using Chef, we
developed a symbolic execution engine for Python in 5
person-days and one for Lua in 3 person-days. They
offer complete and faithful coverage of language
features in a way that keeps up with future language
versions at near-zero cost. Chef-produced engines are
up to 1000 times more performant than if directly
executing the interpreter symbolically without Chef.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGARCH Computer Architecture News",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89",
remark = "ASPLOS '14 conference proceedings.",
}
@Book{Cannon:2014:PPB,
author = "Jason Cannon",
title = "{Python} programming for beginners: an introduction to
the {Python} computer language and computer
programming",
publisher = "????",
address = "????",
pages = "152",
year = "2014",
ISBN = "1-5010-0086-1",
ISBN-13 = "978-1-5010-0086-7",
LCCN = "QA76.73.P98 C366 2014",
bibdate = "Wed Oct 14 08:37:57 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "\booktitle{Python Programming for Beginners} doesn't
make any assumptions about your background or knowledge
of Python or computer programming. You need no prior
knowledge to benefit from this book. You will be guided
step by step using a logical and systematic approach.
As new concepts, commands, or jargon are encountered
they are explained in plain language, making it easy
for anyone to understand.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Variables and strings \\
Numbers, math, and comments \\
Booleans and conditionals \\
Functions \\
Lists \\
Dictionaries \\
Tuples \\
Reading from and writing to files \\
Modules and the Python Standard Library",
}
@Article{Ceriotti:2014:PPI,
author = "Michele Ceriotti and Joshua More and David E.
Manolopoulos",
title = "{i-PI}: a {Python} interface for ab initio path
integral molecular dynamics simulations",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "3",
pages = "1019--1026",
month = mar,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Feb 4 19:25:59 MST 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046551300372X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Chang:2014:CPP,
author = "Yuan-Pin Chang and Frank Filsinger and Boris G.
Sartakov and Jochen K{\"u}pper",
title = "{CMIstark}: {Python} package for the Stark-effect
calculation and symmetry classification of linear,
symmetric and asymmetric top wavefunctions in dc
electric fields",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "1",
pages = "339--349",
month = jan,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Dec 2 12:04:56 MST 2013",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465513003019",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Cooper:2014:BES,
author = "Christopher D. Cooper and Jaydeep P. Bardhan and L. A.
Barba",
title = "A biomolecular electrostatics solver using {Python},
{GPUs} and boundary elements that can handle
solvent-filled cavities and {Stern} layers",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "3",
pages = "720--729",
month = mar,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Feb 4 19:25:59 MST 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465513003731",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Book{Cox:2014:RPC,
author = "Tim Cox",
title = "{Raspberry Pi} cookbook for {Python} programmers: over
50 easy-to-comprehend tailor-made recipes to get the
most out of the {Raspberry Pi} and unleash its huge
potential using {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iii + 388",
year = "2014",
ISBN = "1-84969-662-4",
ISBN-13 = "978-1-84969-662-3",
LCCN = "QA76.8.R19 .C6",
bibdate = "Sat Oct 24 07:17:23 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Raspberry Pi (ordinateur).; Microordinateurs;
Programmation.; Ordinateurs de poche.; Python (langage
de programmation).",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Safety and using electronics \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with a Raspberry Pi Computer \\
Introduction \\
Introducing the Raspberry Pi \\
What is with the name? \\
Why Python? \\
Python 2 and Python 3 \\
Which version of Python should you use? \\
Connecting the Raspberry Pi \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
Secondary hardware connections \\
Using NOOBS to set up your Raspberry Pi SD card \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Changing the default user password \\
Ensuring that you shut down safely \\
Preparing an SD card manually \\
Expanding the system to fit in your SD card \\
Accessing the Data/RECOVERY/BOOT partition \\
Using the tools to backup your SD card in case of
failure \\
Networking and connecting your Raspberry Pi to the
Internet via the LAN connector \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
Configuring your network manually \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
Networking directly to a laptop or computer \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Direct network link \\
See also \\
Networking and connecting your Raspberry Pi to the
Internet via a USB Wi-Fi dongle \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
Using USB wired network adapters \\
Connecting to the Internet through a proxy server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Connecting remotely to the Raspberry Pi over the
network using VNC \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
Connecting remotely to the Raspberry Pi over the
network using SSH (and X11 Forwarding) \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Running multiple programs with X11 Forwarding \\
Running as a desktop with X11 Forwarding \\
Running PyGame and Tkinter with X11 Forwarding \\
Sharing the home folder of the Raspberry Pi with SMB
\\
Getting ready \\
How to do it \ldots{} \\
Keeping the Raspberry Pi up to date \\
Getting ready \\
How to do it \ldots{} \\
2. Starting with Python Strings, Files, and Menus \\
Introduction \\
Working with text and strings \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using files and handling errors \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a boot-up menu \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Creating a self-defining menu \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Alternative script locations \\
Adding scripts to PATH \\
3. Using Python for Automation and Productivity \\
Introduction \\
Using Tkinter to create graphical user interfaces \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a graphical application Start menu \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Displaying photo information in an application \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Organizing your photos automatically \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
4. Creating Games and Graphics \\
Introduction \\
Using IDLE3 to debug your programs \\
How to do it \ldots{} \\
How it works \ldots{} \\
Drawing lines using a mouse on Tkinter Canvas \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a bat and ball game \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating an overhead scrolling game \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
5. Creating 3D Graphics \\
Introduction \\
Starting with 3D coordinates and vertices \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Camera \\
Shaders \\
Lights \\
Textures \\
Creating and importing 3D models \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Creating or loading your own objects \\
Changing the object's textures and .mtl files \\
Taking screenshots \\
Creating a 3D world to roam in \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Building 3D maps and mazes \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The Building module \\
Using SolidObjects to detect collisions \\
6. Using Python to Drive Hardware \\
Introduction \\
Controlling an LED \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Controlling the GPIO current \\
Responding to a button \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Safe voltages \\
Pull-up and pull-down resistor circuits \\
Protection resistors \\
A controlled shutdown button \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Resetting and rebooting Raspberry Pi \\
Adding extra functions \\
Relocating to the P5 header \\
The GPIO keypad input \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Generating other key combinations \\
Emulating mouse events \\
Multiplexed color LEDs \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Hardware multiplexing \\
Displaying random patterns \\
Mixing multiple colors \\
7. Sense and Display Real-world Data \\
Introduction \\
Using devices with the I2C bus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using multiple I2C devices \\
I2C bus and level shifting \\
Using just the PCF8591 chip or adding alternative
sensors \\
Reading analog data using an analog-to-digital
converter \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Gathering analog data without hardware \\
Logging and plotting data \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Plotting live data \\
Scaling and calibrating data \\
Extending the Raspberry Pi GPIO with an I/O expander
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
I/O expander voltages and limits \\
Using your own I/O expander module \\
Directly controlling an LCD alphanumeric display \\
Sensing and sending data to online services \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
8. Creating Projects with the Raspberry Pi Camera
Module \\
Introduction \\
Getting started with the Raspberry Pi camera module \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Using the camera with Python \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Class member and static functions \\
Using a USB webcam instead \\
Additional drivers for the Raspberry Pi camera \\
See also \\
Generating a time-lapse video \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Class inheritance and function overriding \\
Disabling the camera LED \\
Pi NoIR --- taking night shots \\
Creating a stop frame animation \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Improving the focus \\
Creating a hardware shutter \\
Making a QR code reader \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Generating QR codes \\
See also \\
9. Building Robots \\
Introduction \\
Building a Rover-Pi robot with forward driving motors
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Darlington array circuits \\
Transistor and relay circuits \\
Tethered or untethered robots \\
Rover kits \\
Using advanced motor control \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Motor speed control using PWM control \\
Using I/O expanders \\
Building a six-legged Pi-Bug robot \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Controlling the servos \\
The servo class \\
Learning to walk \\
The Pi-Bug code for walking \\
Avoiding objects and obstacles \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Ultrasonic reversing sensors \\
Getting a sense of direction \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Calibrating the compass \\
Calculating the compass bearing \\
Saving the calibration \\
Driving the robot using the compass \\
10. Interfacing with Technology \\
Introduction \\
Automating your home with remote sockets \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Sending RF control signals directly \\
Using SPI to control an LED matrix \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Daisy-chain SPI configuration \\
Communicating using a serial interface \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Configuring a USB to RS232 device for the Raspberry Pi
\\
RS232 signals and connections \\
Using the GPIO built-in serial pins \\
The RS232 loopback \\
Controlling the Raspberry Pi over Bluetooth \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Configuring Bluetooth module settings \\
Controlling USB devices \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Controlling similar missile-type devices \\
Robot arm \\
Taking USB control further \\
A. Hardware and Software List \\
Introduction \\
General component sources \\
Hardware list \\
Software list \\
PC software utilities \\
Raspberry Pi packages \\
There's more \ldots{} \\
APT commands \\
Pip Python package manager commands \\
Index",
}
@Article{Day:2014:PP,
author = "Charles Day",
title = "{Python} Power",
journal = j-COMPUT-SCI-ENG,
volume = "16",
number = "1",
pages = "88",
month = jan # "\slash " # feb,
year = "2014",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2014.26",
ISSN = "1521-9615",
ISSN-L = "1521-9615",
bibdate = "Sat Apr 19 10:17:39 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{DiPierro:2014:PPP,
author = "Massimo {Di Pierro}",
title = "Portable Parallel Programs with {Python} and
{OpenCL}",
journal = j-COMPUT-SCI-ENG,
volume = "16",
number = "1",
pages = "34--40",
month = jan # "\slash " # feb,
year = "2014",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2013.99",
ISSN = "1521-9615",
ISSN-L = "1521-9615",
bibdate = "Sat Apr 19 10:17:39 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Dolgopolovas:2014:PSC,
author = "Vladimiras Dolgopolovas and Valentina Dagiene and
Saulius Minkevicius and Leonidas Sakalauskas",
title = "{Python} for scientific computing education: Modeling
of queueing systems",
journal = j-SCI-PROG,
volume = "22",
number = "1",
pages = "37--51",
month = "????",
year = "2014",
CODEN = "SCIPEV",
DOI = "https://doi.org/10.3233/SPR-140377",
ISSN = "1058-9244 (print), 1875-919X (electronic)",
ISSN-L = "1058-9244",
bibdate = "Sat Mar 8 14:11:13 MST 2014",
bibsource = "http://www.iospress.nl/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sciprogram.bib",
acknowledgement = ack-nhfb,
fjournal = "Scientific Programming",
journal-URL = "http://iospress.metapress.com/content/1058-9244",
}
@Book{Donat:2014:LRP,
author = "Wolfram Donat",
title = "Learn {Raspberry Pi} programming with {Python}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxi + 231",
year = "2014",
ISBN = "1-4302-6424-1 (paperback0)",
ISBN-13 = "978-1-4302-6424-8 (paperback0)",
LCCN = "QA76.73.P98 .D663 2014",
bibdate = "Sat Oct 24 06:44:02 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "TECHNOLOGY IN ACTION series",
abstract = "\booktitle{Learn Raspberry Pi programming with Python}
show you how to program your nifty new \$35 computer
using Python to make fun, hands-on projects, such as a
web spider, a weather station, a media server and
more.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Raspberry Pi
(Computer); Handbooks, manuals, etc; Python (Computer
program language)",
tableofcontents = "1 Introducing the Raspberry Pi \\
The History of Raspberry Pi \\
Exploring the Pi Board \\
The SD Card \\
The Power Port \\
The HDMI Port \\
The Ethernet and USB Ports \\
The Audio and RCA Video Jacks \\
The GPIO Pins \\
The System on a Chip \\
Comparing Raspberry Pi to Similar Devices \\
Hardware Requirements of the Pi \\
Connecting to Power \\
Adding a Monitor \\
Adding a USB Hub \\
Using a Wireless USB Dongle \\
The Pi Operating System \\
Formatting the Card \\
Using NOOBS \\
Connecting the Peripherals \\
Configuring the Pi \\
Shutting Down the Pi \\
Summary \\
2 Linux by the Seat of Your Pants \\
Getting Started with Linux on the Pi \\
Linux Files and the File System \\
Root User vs. sudo \\
Commands \\
Exercise: Navigating in the Linux File System \\
Shells in Linux \\
Package Managers \\
Text Editors \\
Vim vs. emacs vs. nano \\
Summary \\
3 Introducing Python \\
Scripting vs. a Programming Language \\
The Python Philosophy \\
Getting Started with Python \\
Running Python Using IDLE \\
Running Python Using the Terminal \\
Running Python Using Scripts \\
Exploring Python's Data Types \\
Programming with Python \\
IF tests \\
Loops \\
Functions \\
Objects and Object-Oriented Programming \\
Summary \\
4 Electronics at 100 MPH \\
Basic Electricity Concepts \\
Required Tools for Robotics \\
Screwdrivers \\
Pliers and Wire Strippers \\
Wire Cutters \\
Files \\
Magnifying Light \\
Hot Glue Gun \\
Assorted Glues \\
Multimeter \\
Power Supplies \\
Breadboard \\
Power Strip \\
Soldering Iron \\
General Safety Rules \\
Working with Heat \\
Working With Sharp Objects \\
Wear Safety Glasses \\
Fire Extinguishers at the Ready \\
Keep a First-Aid Kit Handy \\
Work in a Ventilated Area \\
Organizing Your Workplace \\
Bonus: Soldering Techniques \\
Summary \\
5 The Web Bot \\
Bot Etiquette \\
The Connections of the Web \\
Web Communication Protocols \\
Web Page Formats: a Request Example \\
Our Web Bot Concept \\
Parsing Web Pages \\
Coding with Python Modules \\
Using the Mechanize Module \\
Parsing with Beautiful Soup \\
Downloading with the urllib Library \\
Deciding What to Download \\
Choosing a Starting Point \\
Storing Your Files \\
Writing the Python Bot \\
Reading a String and Extracting All the Links \\
Looking For and Downloading Files \\
Testing the Bot \\
Creating Directories and Instantiating a List \\
The Final Code \\
Summary \\
6 The Weather Station \\
A Shopping List of Parts \\
Using the l2C Protocol \\
Using an Anemometer \\
Building the Anemometer \\
Connecting the Anemometer to the Pi \\
Correlating Revolutions per Second with Wind Speed \\
Connecting the Digital Compass \\
Connecting the Temperature/Humidity Sensor \\
Connecting the Barometer \\
Connecting the Bits \\
The Final Code \\
Summary \\
7 The Media Server \\
A Shopping List of Parts \\
Using an NTFS Drive \\
Installing Samba \\
Configuring Samba \\
Setting Linux Permissions \\
Fixing the Apostrophe Bug \\
Restarting the Samba Service \\
Connecting with Linux/OS X \\
Where's Python? \\
Summary \\
8 The Home Security System \\
Dogs as Security \\
Raspberry Pi as Security \\
Using a Sensor Network \\
Understanding a Pulldown Resistor \\
A Shopping List of Parts \\
Connecting to Your Network Wirelessly \\
Accessing the GPIO Pins \\
Setting Up the Motion Sensor \\
Setting Up the Reed Switch \\
Setting Up the Pressure Switch \\
Connecting the Magnetic Sensor \\
Setting Up Pi's Camera \\
Sending a Text Message from the Pi \\
Implementing the Callback \\
Connecting All of the Bits \\
The Final Code \\
Summary \\
9 The Cat Toy \\
A Shopping List of Parts \\
The Concept Behind the Toy \\
Creating and Using Random Numbers \\
Using the GPIO Library \\
Controlling the Servo \\
Constructing the Servo Mechanism \\
Constructing the Laser Mechanism \\
Connecting the Laser to the Servo \\
Connecting the Motion Sensor \\
Connecting All the Bits \\
The Final Code \\
Summary \\
10 The Radio-Controlled Airplane \\
A Shopping List of Parts \\
Connecting the GPS Receiver to the Pi \\
Setting Up a Log File \\
Formatting a KML File \\
Using Threading and Objects \\
Setting Up Automatic Startup \\
Connecting the Bits \\
The Final Code \\
The Plane Program \\
KML Conversion Program \\
Summary \\
11 The Weather Balloon \\
A Shopping List of Parts \\
Setting Up the GPS Receiver \\
Storing the GPS Data \\
Installing PiFM \\
Installing festival \\
Installing FFMPEG \\
Preparing the Pi \\
Using Threading and Objects \\
Connecting the Bits \\
Reviewing the Photo Results \\
The Final Code \\
Summary \\
12 The Submersible \\
A Shopping List of Parts \\
Accessing the Raspberry Pi's GPIO pins \\
Installing the Raspberry Pi Camera Board \\
Controlling the Sub \\
Attaching the Wiichuck Adapter \\
Activating the Pi's I2C \\
Testing the Nunchuk \\
Reading from the Nunchuk \\
Controlling the Sub Motors and Camera with the Nunchuk
\\
Starting the Program Remotely \\
The Final Control Program \\
The Final Code \\
Constructing the Sub \\
Building the Frame \\
Creating the Pi's Enclosure \\
Waterproofing the Motor Enclosures \\
Connecting the Nunchuck \\
Assembling the Final Product \\
Summary \\
13 The Gertboard \\
Examining the Board \\
The GPIO Pins \\
Atmega Chip \\
A-to-D and D-to-A Converters \\
I/O Section \\
The Motor Controller \\
Open Collector Driver \\
Jumpers \\
Some Example Projects \\
Configuring the Preliminary Jumper Setup \\
Making Some LEDs Blink \\
Experimenting with Motor Controllers \\
Using the Open Collector Drivers \\
Using the Digital/Analogue Converters \\
Summary \\
14 The Raspberry Pi and the Arduino \\
Exploring the Arduino \\
Installing the Arduino IDE on the Pi \\
Running a Servo \\
The Arduino and the Gertboard \\
Summary",
}
@Book{Galanakis:2014:PMP,
author = "Robert Galanakis",
title = "Practical {Maya} programming with {Python}: unleash
the power of {Python} in {Maya} and unlock your
creativity",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "viii + 334",
year = "2014",
ISBN = "1-84969-472-9 (paperback), 1-84969-473-7 (e-book),
1-322-00849-3 (e-book)",
ISBN-13 = "978-1-84969-472-8 (paperback), 978-1-84969-473-5
(e-book), 978-1-322-00849-3 (e-book)",
LCCN = "T385 .G34 2014",
bibdate = "Sat Oct 24 06:54:45 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781849694728",
acknowledgement = ack-nhfb,
subject = "Three-dimensional modeling; Computer programs;
Computer graphics; Python (Computer program language);
Three-dimensional modeling / Computer programs.;
Computer graphics.; Python (Computer program
language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Introspecting Maya, Python, and PyMEL \\
Creating your library \\
Using the interpreter \\
Finding a place for our library \\
Choosing a development root \\
Creating a function in your IDE \\
Reloading code changes \\
Exploring Maya and PyMEL \\
Creating an introspection function \\
Understanding Python and MEL types \\
Using the method resolution order \\
PyNodes all the way down \\
Understanding PyMEL data and math types \\
Leveraging the REPL \\
Building the pmhelp function \\
Creating a query string for a PyMEL object \\
Creating more tests \\
Adding support for modules \\
Adding support for types \\
Adding support for methods \\
Adding support for functions \\
Adding support for non-PyMEL objects \\
Designing with EAFP versus LBYL \\
Code is never complete \\
Opening help in a web browser \\
Summary \\
2. Writing Composable Code \\
Defining composability \\
Identifying anti-patterns of composability \\
Avoiding the use of Boolean flags \\
Evolving legacy code into composable code \\
Rewriting code for composability \\
Getting the first item in a sequence \\
Writing head and tail functions \\
Learning to use list comprehensions \\
Implementing is_exact_type \\
Saying goodbye to map and filter \\
Writing a skeleton converter library \\
Writing the docstring and pseudocode \\
Understanding docstrings and reStructured Text \\
Writing the first implementation \\
Breaking the first implementation \\
Understanding interface contracts \\
Extracting the safe_setparent utility function \\
Learning how to refactor \\
Simplifying the node to joint conversion \\
Learning how to use closures \\
Dealing with node connections \\
Dealing with namespaces \\
Wrapping up the skeleton converter \\
Writing a character creator \\
Stubbing out the character creator \\
Implementing convert_hierarchies_main \\
Implementing convert_hierarchies \\
Decomposing into composable functions \\
Implementing convert_hierarchy \\
Supporting inevitable modifications \\
Improving the performance of PyMEL \\
Defining performance \\
Refactoring for performance \\
Rewriting inner loops to use maya.cmds \\
Summary \\
3. Dealing with Errors \\
Understanding exceptions \\
Introducing exception types \\
Explaining try/catch/finally flow control \\
Explaining traceback objects \\
Explaining the exc_info tuple \\
Living with unhandled exceptions \\
Handling exceptions at the application level \\
Golden rules of error handling \\
Focus on the critical path \\
Keep the end user in mind \\
Only catch errors you can handle \\
Avoid partial mutations \\
Practical error handling in Maya \\
Dealing with expensive and mutable state \\
Leveraging undo blocks \\
Dealing with Maya's poor exception design \\
Leveraging the Maya application \\
Dealing with the Maya application \\
Leveraging Python, which is better than MEL \\
Building a high-level error handler \\
Understanding sys.excepthook \\
Using sys.excepthook in Maya \\
Creating an error handler \\
Improving the error handler \\
Inspecting Python code objects \\
Adding filtering based on filename \\
Assembling the contents of an error e-mail \\
Sending the error e-mail \\
Installing the error handler \\
Obeying the What If Two Programs Did This rule \\
Improving the error handler \\
Adding a user interface \\
Using a background thread to send the e-mail \\
Moving beyond e-mail \\
Capturing locals \\
Attaching log files \\
Summary \\
4. Leveraging Context Managers and Decorators in Maya
\\
Inverting the subroutine \\
Introducing decorators \\
Explaining decorators \\
Wrapping an exporter with a decorator \\
Introducing context managers \\
Writing the undo_chunk context manager \\
Writing the undo_on_error context manager \\
Contrasting decorators and context managers \\
Context managers for changing scene state \\
Building the set_file_prompt context manager \\
Building the at_time context manager \\
Building the with_unit context manager \\
Building the set_renderlayer_active context manager \\
Building the set_namespace_active context manager \\
Improving on future versions of Maya \\
Creating the denormalized_skin context manager \\
Safely swapping vertex influences \\
Addressing performance concerns \\
Creating a decorator to record metrics \\
Getting a unique key \\
Recording duration \\
Reporting duration \\
Handling errors \\
Advanced decorator topics \\
Defining decorators with arguments \\
Decorating PyMEL attributes and methods \\
Stacking decorators \\
Using Python's decorator library \\
Doing decorators the right way \\
Summary \\
5. Building Graphical User Interfaces for Maya \\
Introducing Qt, PyQt, and PySide \\
Introducing Qt widgets \\
Introducing Qt layouts \\
Understanding Qt main windows and sorting \\
Introducing Qt signals \\
Establishing rules for crafting a GUI \\
Prefer pure PySide GUIs where possible \\
Use command-style UI building where necessary \\
Avoid the use of .ui files \\
Installing PySide \\
Supporting PySide and PyQt \\
Creating the hierarchy converter GUI \\
Creating the window \\
Running a Python file as a script \\
Introducing the QApplication class \\
Understanding the event loop \\
Running your GUI \\
Designing and building your GUI \\
Defining control, container, and window widgets \\
Adding the rest of the widgets \\
Hooking up the application to be effected by the GUI
\\
Hooking up the GUI to be effected by the application
\\
Simulating application events \\
Considering alternative implementations \\
Integrating the tool GUI with Maya \\
Opening the tool GUI from Maya \\
Getting the main Maya window as a QMainWindow \\
Making a Qt window the child of Maya's window \\
Using Python's reload function with GUIs \\
Emitting a signal from Maya \\
Connecting Maya to a signal \\
Verifying the hierarchy converter works \\
Working with menus \\
Creating a top-level menu \\
Getting the Qt object from a Maya path \\
Changing the font of a widget \\
Marking menus as new \\
Creating a test case \\
Adding a persistence registry \\
Verifying the new menu marker works \\
Using alternative methods to style widgets \\
Working with Maya shelves \\
Summary \\
6. Automating Maya from the Outside \\
Controlling Maya through request-reply \\
Using a Python client and Maya server \\
Controlling Python through exec and eval \\
Handling problems with IPC \\
Installing ZeroMQ \\
Demonstrating request-reply with ZeroMQ \\
Explaining connection strings, ports, bind, and connect
\\
Designing the automation system \\
Pairing one client and one server \\
Bootstrapping the server from the client \\
The client-server handshake \\
Defining the server loop \\
Serializing requests and responses \\
Choosing what the server does \\
Handling exceptions between client and server \\
Understanding the Maya startup routine \\
Using batch mode versus GUI mode \\
Choosing a startup configuration mechanism \\
Using command line options \\
Using environment variables \\
Building the request-reply automation system \\
Creating a Python package \\
Launching Maya from Python \\
Automatically killing the server \\
Creating a basic Maya server \\
Running code at Maya startup \\
Understanding eval and exec \\
Adding support for eval and exec \\
Adding support for exception handling \\
Adding support for timeouts \\
Adding support for the client-server handshake \\
Practical uses and improvements \\
Batch processing using Maya \\
Running a server in a Maya GUI session \\
Running automated tests in Maya \\
Adding support for logging \\
Supporting multiple languages and applications \\
Supporting control from a remote computer \\
Designing an object-oriented system \\
Evaluating other RPC frameworks \\
Summary \\
7. Taming the Maya API \\
Explaining types \\
Dicts all the way down \\
Using custom types to simplify code \\
Introducing inheritance by drawing shapes \\
Introducing Maya's API and architecture \\
Understanding the OpenMaya bindings \\
Navigating the Maya API Reference \\
Understanding MObjects and function sets \\
Learning the Maya Python API by example \\
Converting a name to an MObject node \\
Getting the name of an MObject \\
Getting the hash of a node \\
Building a mesh \\
Setting mesh normals \\
Using MScriptUtil to call a method \\
Using OpenMaya for callbacks \\
Comparing Maya Python API and PyMEL \\
Creating a Maya Python plugin \\
The life of a Python plugin \\
Creating the sound player library \\
Creating the plugin file \\
Reloading plugins \\
Adding a command flag \\
Comparing the OpenMaya and scripting solutions \\
Using PyMEL in a plugin that loads during startup \\
Summary \\
8. Unleashing the Maya API through Python \\
Understanding Dependency Graph plugins \\
Building a simple node plugin \\
Understanding plugin type IDs \\
Defining inputs, outputs, and the initializer \\
Creating the compute method \\
Taming the non-Pythonic Maya API \\
Demystifying Python metaprogramming \\
Rethinking type creation \\
Exploring the type function \\
The importance of being declarative \\
Designing the node factory \\
Designing plugin nodes \\
Designing the attribute specification \\
Designing the node type specification \\
Building the node factory \\
Specifying attributes \\
Creating attributes \\
Specifying a node \\
Using partial application to create attributes \\
Creating a node \\
Slaying the compute method \\
Extending the node factory \\
Supporting string and color attributes \\
Supporting enum attributes \\
Supporting transform nodes \\
Overriding MPxNode methods \\
Summary \\
9. Becoming a Part of the Python Community \\
Understanding Open Source Software \\
Differentiating OSS from script download sites \\
Defining what a third-party module is \\
Creating a site directory for third-party modules \\
Explaining the site directory \\
Creating a new site directory for Maya \\
Establishing the site directory at startup \\
Working with Python distributions in Maya \\
Using the Python Package Index \\
Adding a source distribution to Maya \\
Adding an egg or wheel to Maya \\
Using binary distributions on Windows \\
Using pip to install third-party modules \\
Contributing to the open source community \\
Designing Maya Python code for open source \\
Starting an open source project \\
Distributing your project \\
Engaging with the wider community \\
Summary \\
A. Python Best Practices \\
The args and kwargs parameters \\
String formatting \\
String concatenation \\
Raw strings and string literals \\
Path building and manipulation \\
Unicode strings \\
Using the doctest module \\
Adopting Test-Driven Development \\
Using the GitHub repository for this book \\
Index",
}
@Article{Gonina:2014:SMC,
author = "Ekaterina Gonina and Gerald Friedland and Eric
Battenberg and Penporn Koanantakool and Michael
Driscoll and Evangelos Georganas and Kurt Keutzer",
title = "Scalable multimedia content analysis on parallel
platforms using {Python}",
journal = j-TOMCCAP,
volume = "10",
number = "2",
pages = "18:1--18:??",
month = feb,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.1145/2517151",
ISSN = "1551-6857 (print), 1551-6865 (electronic)",
ISSN-L = "1551-6857",
bibdate = "Thu Mar 13 07:37:57 MDT 2014",
bibsource = "http://www.acm.org/pubs/contents/journals/tomccap/;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tomccap.bib",
abstract = "In this new era dominated by consumer-produced media
there is a high demand for web-scalable solutions to
multimedia content analysis. A compelling approach to
making applications scalable is to explicitly map their
computation onto parallel platforms. However,
developing efficient parallel implementations and fully
utilizing the available resources remains a challenge
due to the increased code complexity, limited
portability and required low-level knowledge of the
underlying hardware. In this article, we present
PyCASP, a Python-based framework that automatically
maps computation onto parallel platforms from Python
application code to a variety of parallel platforms.
PyCASP is designed using a systematic, pattern-oriented
approach to offer a single software development
environment for multimedia content analysis
applications. Using PyCASP, applications can be
prototyped in a couple hundred lines of Python code and
automatically scale to modern parallel processors.
Applications written with PyCASP are portable to a
variety of parallel platforms and efficiently scale
from a single desktop Graphics Processing Unit (GPU) to
an entire cluster with a small change to application
code. To illustrate our approach, we present three
multimedia content analysis applications that use our
framework: a state-of-the-art speaker diarization
application, a content-based music recommendation
system based on the Million Song Dataset, and a video
event detection system for consumer-produced videos. We
show that across this wide range of applications, our
approach achieves the goal of automatic portability and
scalability while at the same time allowing easy
prototyping in a high-level language and efficient
performance of low-level optimized code.",
acknowledgement = ack-nhfb,
articleno = "18",
fjournal = "ACM Transactions on Multimedia Computing,
Communications, and Applications",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J961",
}
@Book{Gorelick:2014:HPP,
author = "Micha Gorelick and Ian Ozsvald",
title = "High performance {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xv + 351",
year = "2014",
ISBN = "1-4493-6159-5 (paperback)",
ISBN-13 = "978-1-4493-6159-4 (paperback)",
LCCN = "QA76.73.P98 G67 2014",
bibdate = "Sat Oct 24 06:32:59 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "If you're an experienced Python programmer,
\booktitle{High Performance Python} will guide you
through the various routes of code optimization. You'll
learn how to use smarter algorithms and leverage
peripheral technologies, such as numpy, cython,
cpython, and various multi-threaded and multi-node
strategies. There's a lack of good learning and
reference material available if you want to learn
Python for highly computational tasks. Because of it,
fields from physics to biology and systems
infrastructure to data science are hitting barriers.
They need the fast prototyping nature of Python, but
too few people know how to wield it.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Preface \\
Who This Book is For \\
Who This Book is Not For \\
What You'll Learn \\
We focus on Python 2.7 on 64-bit *nix Systems \\
Moving to Python 3 \\
License \\
How to Make an Attribution \\
Errata and Feedback \\
Resources \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgements \\
1. Understanding Performant Python \\
Fundamental Computer System \\
Computing Units \\
Memory Units \\
Communications Layers \\
Putting the Fundamental Elements Together \\
Idealized computing vs Python VM \\
Idealized Computing \\
Python's Virtualized Machine \\
So Why Use Python? \\
2. Profiling to find bottlenecks \\
Profiling efficiently \\
Introducing the Julia Set \\
Calculating the full Julia Set \\
Simple approaches to timing - print and a decorator \\
Simple timing using the Unix time command \\
Using the cProfile module \\
runsnakerun to visualise cProfile output \\
line_profiler for line-by-line measurements \\
memory_profiler for diagnosing memory usage \\
Inspecting objects on the heap with heapy \\
Dowser for live graphing of instantiated variables \\
The dis module to examine CPython bytecode \\
Different approaches, different complexity \\
Unit testing during optimization to maintain
correctness \\
No-op @profile decorator \\
Strategies to profile your code successfully \\
3. Lists and Tuples \\
A more efficient search \\
Lists vs Tuples \\
Lists as dynamic arrays \\
Tuples as static arrays \\
Wrap Up \\
4. Dictionaries and Sets \\
How do dictionaries and sets work? \\
Inserting and Retrieving \\
Deletion \\
Resizing \\
Hash functions and Entropy \\
Dictionaries and Namespaces \\
Wrap Up \\
5. Iterators and Generators \\
Iterators for Infinite Series \\
Lazy Generator Evaluation \\
Wrap Up \\
6. Matrix and Vector Computation \\
Introduction to the Problem \\
Aren't python lists good enough? \\
Problems with allocating too much \\
Memory Fragmentation \\
Understanding \\
Making decisions with \\
Enter numpy \\
Memory Allocations and In-place Operations \\
Selective optimizations: finding what needs to be fixed
\\
numexpr: making inplace operations faster and easier
\\
A Cautionary Tale: Verify ``optimizations'' (scipy) \\
Wrap Up \\
7. Compiling to C \\
What sort of speed gains are possible? \\
JITs vs Compilers \\
Why does type information help the code run faster? \\
Using a C compiler \\
Reviewing the Julia Set example \\
Cython \\
Compiling a pure-Python version using Cython \\
Cython annotations to analyse a block of code \\
Adding some type annotations \\
Shed Skin \\
Building an extension module \\
The cost of the memory copies \\
Cython and numpy \\
Parallelizing the solution with OpenMP on One Machine
\\
Numba \\
Pythran \\
PyPy \\
Garbage Collection differences \\
Running PyPy and installing modules \\
When to use each technology \\
Other upcoming projects \\
A note on Graphics Processing Units (GPUs) \\
A wish for a future compiler project \\
Foreign function interfaces \\
ctypes \\
CFFI \\
f2py \\
cpython module \\
Wrap Up \\
8. Concurrency \\
Introduction to Async \\
Serial Crawler \\
Gevent \\
Tornado \\
AsyncIO \\
Database Example \\
Wrap Up \\
9. The multiprocessing module \\
An overview of the multiprocessing module \\
Estimating Pi using the Monte Carlo method \\
Estimating Pi using Processes and Threads \\
Using Python objects \\
Random Numbers in Parallel Systems \\
Using numpy \\
Finding Prime Numbers \\
Queues of work \\
Asynchronously adding jobs to the Queue \\
Verifying Primes using Inter Process Communication \\
Serial verification is inefficient \\
Naive Pool solution \\
A Less Naive Pool solution \\
Using Manager.Value as a flag \\
Using Redis as a flag \\
Using RawValue as a flag \\
Using mmap as a flag \\
Using mmap as a flag redux \\
Sharing numpy data with multiprocessing \\
Synchronizing File and Variable Access \\
File locking \\
Locking a Value \\
Summary \\
10. Clusters and Job Queues \\
Benefits of clustering \\
Clusters can introduce more pain than you might expect
\\
\$462 Million Wall Street loss through poor cluster
upgrade strategy \\
Skype's 24 hour global outage \\
Common cluster designs \\
How to start a clustered solution \\
Ways to avoid pain when using clusters \\
Three clustering solutions \\
Using the ParallelPython module for simple local
clusters \\
Using IPython Parallel to support research \\
NSQ for robust production clustering \\
Queues \\
Pub/Sub \\
Distributed Prime Calculation \\
Other clustering tools to look at \\
11. Using Less RAM \\
Objects for primitives are \\
The \\
Understanding the RAM used in a collection \\
Bytes vs Unicode \\
Efficiently storing lots of text in RAM \\
Trying these approaches on 8 million tokens \\
list \\
set \\
More Efficient Tree Structures \\
Directed Acyclic Word Graph (DAWG) \\
Marisa trie \\
datrie \\
HAT Trie \\
Using Tries in production systems \\
Tips for using less RAM \\
Probabilistic data structures \\
Very approximate counting with a 1 byte Morris Counter
\\
K-Min Values \\
Bloom Filter \\
LogLog Counter \\
Real World Example \\
12. Lessons from the Field \\
AdaptiveLab for Social Media Analytics (SoMA) \\
Python at Adaptive Lab \\
SoMA's Design \\
Our Development Methodology \\
Maintaining SoMA \\
Advice for Fellow Engineers \\
Making deep learning fly with RadimRehurek.com \\
The Sweet Spot \\
Lessons in Optimizing \\
Wrap up \\
Large scale productionized machine learning at Lyst.com
\\
Python's place at Lyst \\
Cluster design \\
Code evolution in a fast moving start-up \\
Building the recommendation engine \\
Reporting and Monitoring \\
Some advice \\
Large Scale Social Media Analysis at Sme.sh \\
Python's role at Smesh \\
The Platform \\
High performance real-time string matching \\
Reporting, monitoring, debugging and deployment \\
PyPy for successful web and data processing systems \\
Introduction \\
Prerequisites \\
Database \\
Web Application \\
OCR and Translation \\
Task Distribution and Workers \\
Conclusion \\
Task queues at Lanyrd.com \\
Python's role at Lanyrd \\
Making the task queue performant \\
Reporting, monitoring, debugging and deployment \\
Advice to a fellow developer \\
About the Authors",
}
@Book{Gundecha:2014:LST,
author = "Unmesh Gundecha",
title = "Learning {Selenium} testing tools with {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "216 (est.)",
year = "2014",
ISBN = "1-78398-350-7, 1-78398-351-5 (e-book), 1-322-56850-2
(e-book)",
ISBN-13 = "978-1-78398-350-6, 978-1-78398-351-3 (e-book),
978-1-322-56850-8 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 05:59:28 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "If you are a quality testing professional, or a
software or web application developer looking to create
automation test scripts for your web applications, with
an interest in Python, then this is the perfect guide
for you. Python developers who need to do Selenium
testing need not learn Java, as they can directly use
Selenium for testing with this book.",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Selenium WebDriver and Python
\\
Preparing your machine \\
Installing Python \\
Installing the Selenium package \\
Browsing the Selenium WebDriver Python documentation
\\
Selecting an IDE \\
PyCharm \\
The PyDev Eclipse plugin \\
PyScripter \\
Setting up PyCharm \\
Taking your first steps with Selenium and Python \\
Cross-browser support \\
Setting up Internet Explorer \\
Setting up Google Chrome \\
Summary \\
2. Writing Tests Using unittest \\
The unittest library \\
The TestCase class \\
The setUp() method \\
Writing tests \\
Cleaning up the code \\
Running the test \\
Adding another test \\
Class-level setUp() and tearDown() methods \\
Assertions \\
Test suites \\
Generating the HTML test report \\
Summary \\
3. Finding Elements \\
Using developer tools to find locators \\
Inspecting pages and elements with Firefox using the
Firebug add-in \\
Inspecting pages and elements with Google Chrome \\
Inspecting pages and elements with Internet Explorer
\\
Finding elements with Selenium WebDriver \\
Using the find methods \\
Finding elements using the ID attribute \\
Finding elements using the name attribute \\
Finding elements using the class name \\
Finding elements using the tag name \\
Finding elements using XPath \\
Finding elements using CSS selectors \\
Finding links \\
Finding links with partial text \\
Putting all the tests together using find methods \\
Summary \\
4. Using the Selenium Python API for Element
Interaction \\
Elements of HTML forms \\
Understanding the WebDriver class \\
Properties of the WebDriver class \\
Methods of the WebDriver class \\
Understanding the WebElement class \\
Properties of the WebElement class \\
Methods of the WebElement class \\
Working with forms, textboxes, checkboxes, and radio
buttons \\
Checking whether the element is displayed and enabled
\\
Finding the element attribute value \\
Using the is_selected() method \\
Using the clear() and send_keys() methods \\
Working with dropdowns and lists \\
Understanding the Select class \\
Properties of the Select class \\
Methods of the Select class \\
Working with alerts and pop-up windows \\
Understanding the Alert class \\
Properties of the Alert class \\
Methods of the Alert class \\
Automating browser navigation \\
Summary \\
5. Synchronizing Tests \\
Using implicit wait \\
Using explicit wait \\
The expected condition class \\
Waiting for an element to be enabled \\
Waiting for alerts \\
Implementing custom wait conditions \\
Summary \\
6. Cross-browser Testing \\
The Selenium standalone server \\
Downloading the Selenium standalone server \\
Launching the Selenium standalone server \\
Running a test on the Selenium standalone server \\
Adding support for Internet Explorer \\
Adding support for Chrome \\
Selenium Grid \\
Launching Selenium server as a hub \\
Adding nodes \\
Adding an IE node \\
Adding a Firefox node \\
Adding a Chrome node \\
Mac OS X with Safari \\
Running tests in Grid \\
Running tests in a cloud \\
Using Sauce Labs \\
Summary \\
7. Testing on Mobile \\
Introducing Appium \\
Prerequisites for Appium \\
Setting up Xcode for iOS \\
Setting up Android SDK \\
Setting up the Appium Python client package \\
Installing Appium \\
Appium Inspector \\
Testing on iOS \\
Writing a test for iOS \\
Testing on Android \\
Writing a test for Android \\
Using Sauce Labs \\
Summary \\
8. Page Objects and Data-driven Testing \\
Data-driven testing \\
Using ddt for data-driven tests \\
Installing ddt \\
Creating a simple data-driven test with ddt in unittest
\\
Using external data sources for data-driven tests \\
Reading values from CSV \\
Reading values from Excel \\
The page objects pattern \\
Organizing tests \\
The BasePage object \\
Implementing page objects \\
Creating a test with page objects \\
Summary \\
9. Advanced Techniques of Selenium WebDriver \\
Methods for performing keyboard and mouse actions \\
Keyboard actions \\
The mouse movement \\
The double_click method \\
The drag_and_drop method \\
Executing JavaScript \\
Capturing screenshots of failures \\
Recording a video of the test run \\
Handling pop-up windows \\
Managing cookies \\
Summary \\
10. Integration with Other Tools and Frameworks \\
Behavior-Driven Development \\
Installing Behave \\
Writing the first feature in Behave \\
Implementing a step definition file for the feature \\
Creating environment configurations \\
Running features \\
Using a scenario outline \\
CI with Jenkins \\
Preparing for Jenkins \\
Setting up Jenkins \\
Summary \\
Index",
}
@Book{Herman:2014:FSC,
author = "Ted Herman",
title = "A functional start to computing with {Python}",
publisher = "CRC Press, Taylor and Francis",
address = "Boca Raton, FL, USA",
pages = "xiv + 415",
year = "2014",
ISBN = "1-4665-0455-2 (paperback)",
ISBN-13 = "978-1-4665-0455-4 (paperback)",
LCCN = "QA76.73.P98 H47 2014",
bibdate = "Thu Jul 25 11:15:00 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Chapman and Hall/CRC textbooks in computing",
abstract = "Open source and easy to use, Python offers the
availability of exciting libraries of software,
application programming interfaces, and even
connections to web services. This textbook uses Python
as a working environment to teach the basics of
computing for students with no prior programming
experience. Unlike similar texts, it organizes topics
based on a functional first approach to teaching
programming. The book includes case studies of
practical problems as well as homework and interactive
tools online, such as flashcards.",
acknowledgement = ack-nhfb,
author-dates = "1952--",
subject = "Python (Computer program language); COMPUTERS /
Programming Languages / General; MATHEMATICS / General;
MATHEMATICS / Advanced",
tableofcontents = "Part I: Motivation and background \\
Inspirations of computing \\
Preview of computing with python \\
General landscape of computing languages \\
Python setup \\
Part II: Functional-style python \\
Types \\
Operators \\
Expressions \\
Printing \\
Functions I \\
Functions II \\
Conditional logic \\
Slice, split, join \\
Comprehensions \\
Functional patterns \\
Part III: Imperative-style python \\
Names for data \\
Functions and variables \\
Mutation \\
Modules \\
Repetition \\
Documentation \\
Debugging \\
Accumulation loop patterns \\
Search loop patterns \\
Drawing \\
Input and output \\
Network programs \\
Objects, classes, and inheritance \\
Randomness, time, and system modules \\
Graphical user interfaces \\
Part IV: Appendices \\
Advanced topics \\
Solutions to exercises \\
Reference tables",
}
@Book{Hetland:2014:PAM,
author = "Magnus Lie Hetland",
title = "{Python} Algorithms: Mastering Basic Algorithms in the
{Python} Language",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
pages = "303 (est.)",
year = "2014",
DOI = "https://doi.org/10.1007/978-1-4842-0055-1",
ISBN = "1-4842-0055-1",
ISBN-13 = "978-1-4842-0055-1",
LCCN = "QA75.5-76.95",
bibdate = "Fri Oct 23 15:18:36 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "EBL-Schweitzer",
abstract = "\booktitle{Python Algorithms}, Second Edition,
explains the Python approach to algorithm analysis and
design. Written by Magnus Lie Hetland, author of
Beginning Python, this book is sharply focused on
classical algorithms, but it also gives a solid
understanding of fundamental algorithmic
problem-solving techniques. The book deals with some of
the most important and challenging areas of programming
and computer science in a highly readable manner. It
covers both algorithmic theory and programming
practice, demonstrating how theory is reflected in real
Python programs. Well-known algorithms and data
structures \ldots{}",
acknowledgement = ack-nhfb,
subject = "Computer science; Computer software",
tableofcontents = "If You're Curious \ldots{}Exercises \\
References \\
Chapter 3: Counting 101 \\
The Skinny on Sums \\
More Greek \\
Working with Sums \\
A Tale of Two Tournaments \\
Shaking Hands \\
The Hare and the Tortoise \\
Subsets, Permutations, and Combinations \\
Recursion and Recurrences \\
Doing It by Hand \\
A Few Important Examples \\
Guessing and Checking \\
The Master Theorem: a Cookie-Cutter Solution \\
So What Was All That About? \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
Chapter 4: Induction and Recursion and Reduction \\
Oh, That's Easy! \\
One, Two, Many \\
Mirror, Mirror \\
Designing with Induction (and Recursion) \\
Finding a Maximum Permutation \\
The Celebrity Problem \\
Topological Sorting \\
Stronger Assumptions \\
Invariants and Correctness \\
Relaxation and Gradual Improvement \\
Reduction + Contraposition = Hardness Proof \\
Problem Solving Advice \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
Chapter 5: Traversal: The Skeleton Key of Algorithmics
\\
A Walk in the Park \\
No Cycles Allowed \\
How to Stop Walking in Circles \\
Go Deep! \\
Depth-First Timestamps and Topological Sorting (Again)
\\
Infinite Mazes and Shortest (Unweighted) Paths \\
Strongly Connected Components \\
Summary \\
If You're Curious \ldots{} \\
Exercises. Going the Rest of the WayOptimal Merging \\
Minimum Spanning Trees \\
The Shortest Edge \\
What About the Rest? \\
Kruskal's Algorithm \\
Prim's Algorithm \\
Greed Works. But When? \\
Keeping Up with the Best \\
No Worse Than Perfect \\
Staying Safe \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References \\
Chapter 8: Tangled Dependencies and Memoization \\
Don't Repeat Yourself \\
Shortest Paths in Directed Acyclic Graphs \\
Longest Increasing Subsequence \\
Sequence Comparison \\
The Knapsack Strikes Back \\
Binary Sequence Partitioning \\
Summary \\
If You're Curious \ldots{} \\
Exercises \\
References. Chapter 9: From A to B with Edsger and
Friends.",
}
@Book{Hosmer:2014:PFW,
author = "Chet Hosmer",
title = "{Python} Forensics: a workbench for inventing and
sharing digital forensic technology",
publisher = pub-SYNGRESS,
address = pub-SYNGRESS:adr,
pages = "xxviii + 318",
year = "2014",
ISBN = "0-12-418683-1, 0-12-418676-9",
ISBN-13 = "978-0-12-418683-5, 978-0-12-418676-7",
LCCN = "????",
bibdate = "Sat Oct 24 07:03:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9780124186767",
abstract = "Python Forensics provides many never-before-published
proven forensic modules, libraries, and solutions that
can be used right out of the box. In addition, detailed
instruction and documentation provided with the code
samples will allow even novice Python programmers to
add their own unique twists or use the models presented
to build new solutions. Rapid development of new
cybercrime investigation tools is an essential
ingredient in virtually every case and environment.
Whether you are performing post-mortem investigation,
executing live triage, extracting evidence from mobile
devices or cloud services, or you are collecting and
processing evidence from a network, Python forensic
implementations can fill in the gaps. Drawing upon
years of practical experience and using numerous
examples and illustrative code samples, author Chet
Hosmer discusses how to: Develop new forensic solutions
independent of large vendor software release schedules
Participate in an open-source workbench that
facilitates direct involvement in the design and
implementation of new methods that augment or replace
existing tools Advance your career by creating new
solutions along with the construction of cutting-edge
automation solutions to solve old problems.",
acknowledgement = ack-nhfb,
tableofcontents = "Dedication \\
Acknowledgments \\
Endorsements \\
List of figures \\
About the Author \\
About the Technical Editor \\
Foreword \\
Preface \\
Intended audience \\
Prerequisites \\
Reading this book \\
Supported platforms \\
Download software \\
Comments, questions, and contributions \\
1: Why Python Forensics? \\
Abstract \\
Introduction \\
Cybercrime investigation challenges \\
How can the Python programming environment help meet
these challenges? \\
Python and the Daubert evidence standard \\
Organization of the book \\
review \\
Summary questions \\
2: Setting up a Python Forensics Environment \\
Abstract \\
Introduction \\
Setting up a python forensics environment \\
The right environment \\
Choosing a python version \\
Installing python on windows \\
Python packages and modules \\
What is included in the standard library? \\
Third-party packages and modules \\
Integrated development environments \\
Python on mobile devices \\
A virtual machine \\
review \\
Summary questions \\
Looking ahead \\
3: Our First Python Forensics App \\
Abstract \\
Introduction \\
Naming conventions and other considerations \\
Our first application ``one-way file system hashing''
\\
Code walk-through \\
Results presentation \\
review \\
Summary questions \\
Looking ahead \\
4: Forensic Searching and Indexing Using Python \\
Abstract \\
Introduction \\
Keyword context search \\
Code walk-through \\
Results presentation \\
Indexing \\
Coding isWordProbable \\
p-search complete code listings \\
review \\
Summary questions \\
5: Forensic Evidence Extraction (JPEG and TIFF) \\
Abstract \\
Introduction \\
Code Walk-Through \\
review \\
Summary questions \\
6: Forensic Time \\
Abstract \\
Introduction \\
Adding time to the equation \\
The \\
The Network Time Protocol \\
Obtaining and installing the NTP Library \\
World NTP Servers \\
NTP Client Setup Script \\
review \\
Summary questions \\
7: Using Natural Language Tools in Forensics \\
Abstract \\
What is Natural Language Processing? \\
Installing the Natural Language Toolkit and associated
libraries \\
Working with a corpus \\
Experimenting with NLTK \\
Creating a corpus from the Internet \\
NLTKQuery application \\
review \\
Summary questions \\
8: Network Forensics: Part I \\
Abstract \\
Network investigation basics \\
Captain Ramius: re-verify our range to target \ldots{}
one ping only \\
Port scanning \\
review \\
Summary questions \\
9: Network Forensics: Part II \\
Abstract \\
Introduction \\
Packet sniffing \\
Raw sockets in Python \\
Python Silent Network Mapping Tool (PSNMT) \\
PSNMT source code \\
Program execution and output \\
review \\
Summary question/challenge \\
10: Multiprocessing for Forensics \\
Abstract \\
Introduction \\
What is multiprocessing? \\
Python multiprocessing support \\
Simplest multiprocessing example \\
Multiprocessing File Hash \\
Multiprocessing Hash Table generation \\
review \\
Summary question/challenge \\
11: Rainbow in the Cloud \\
Abstract \\
Introduction \\
Putting the cloud to work \\
Cloud options \\
Creating rainbows in the cloud \\
Password Generation Calculations \\
review \\
Summary question/challenge \\
12: Looking Ahead \\
Abstract \\
Introduction \\
Where do we go from here? \\
Conclusion \\
Index",
}
@Article{Hughes:2014:PPI,
author = "Adam Hughes",
title = "\pkg{pyparty}: Intuitive Particle Processing in
{Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "2",
number = "1",
pages = "e26--??",
day = "23",
month = sep,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.bh",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:49 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.bh/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Book{Idris:2014:PDA,
author = "Ivan Idris",
title = "{Python} data analysis: learn how to apply powerful
data analysis techniques with popular open source
{Python} modules",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "v + 329",
year = "2014",
ISBN = "1-78355-335-9, 1-78355-336-7 (e-book)",
ISBN-13 = "978-1-78355-335-8, 978-1-78355-336-5 (e-book)",
LCCN = "QA76.73.P98 I37 2014",
bibdate = "Sat Oct 24 06:19:19 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Programming
languages (Electronic computers); Programming languages
(Electronic computers); Python (Computer program
language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Python Libraries \\
Software used in this book \\
Installing software and setup \\
On Windows \\
On Linux \\
On Mac OS X \\
Building NumPy, SciPy, matplotlib, and IPython from
source \\
Installing with setuptools \\
NumPy arrays \\
A simple application \\
Using IPython as a shell \\
Reading manual pages \\
IPython notebooks \\
Where to find help and references \\
Summary \\
2. NumPy Arrays \\
The NumPy array object \\
The advantages of NumPy arrays \\
Creating a multidimensional array \\
Selecting NumPy array elements \\
NumPy numerical types \\
Data type objects \\
Character codes \\
The dtype constructors \\
The dtype attributes \\
One-dimensional slicing and indexing \\
Manipulating array shapes \\
Stacking arrays \\
Splitting NumPy arrays \\
NumPy array attributes \\
Converting arrays \\
Creating array views and copies \\
Fancy indexing \\
Indexing with a list of locations \\
Indexing NumPy arrays with Booleans \\
Broadcasting NumPy arrays \\
Summary \\
3. Statistics and Linear Algebra \\
NumPy and SciPy modules \\
Basic descriptive statistics with NumPy \\
Linear algebra with NumPy \\
Inverting matrices with NumPy \\
Solving linear systems with NumPy \\
Finding eigenvalues and eigenvectors with NumPy \\
NumPy random numbers \\
Gambling with the binomial distribution \\
Sampling the normal distribution \\
Performing a normality test with SciPy \\
Creating a NumPy-masked array \\
Disregarding negative and extreme values \\
Summary \\
4. pandas Primer \\
Installing and exploring pandas \\
pandas DataFrames \\
pandas Series \\
Querying data in pandas \\
Statistics with pandas DataFrames \\
Data aggregation with pandas DataFrames \\
Concatenating and appending DataFrames \\
Joining DataFrames \\
Handling missing values \\
Dealing with dates \\
Pivot tables \\
Remote data access \\
Summary \\
5. Retrieving, Processing, and Storing Data \\
Writing CSV files with NumPy and pandas \\
Comparing the NumPy .npy binary format and pickling
pandas DataFrames \\
Storing data with PyTables \\
Reading and writing pandas DataFrames to HDF5 stores
\\
Reading and writing to Excel with pandas \\
Using REST web services and JSON \\
Reading and writing JSON with pandas \\
Parsing RSS and Atom feeds \\
Parsing HTML with Beautiful Soup \\
Summary \\
6. Data Visualization \\
matplotlib subpackages \\
Basic matplotlib plots \\
Logarithmic plots \\
Scatter plots \\
Legends and annotations \\
Three-dimensional plots \\
Plotting in pandas \\
Lag plots \\
Autocorrelation plots \\
Plot.ly \\
Summary \\
7. Signal Processing and Time Series \\
statsmodels subpackages \\
Moving averages \\
Window functions \\
Defining cointegration \\
Autocorrelation \\
Autoregressive models \\
ARMA models \\
Generating periodic signals \\
Fourier analysis \\
Spectral analysis \\
Filtering \\
Summary \\
8. Working with Databases \\
Lightweight access with sqlite3 \\
Accessing databases from pandas \\
SQLAlchemy \\
Installing and setting up SQLAlchemy \\
Populating a database with SQLAlchemy \\
Querying the database with SQLAlchemy \\
Pony ORM \\
Dataset --- databases for lazy people \\
PyMongo and MongoDB \\
Storing data in Redis \\
Apache Cassandra \\
Summary \\
9. Analyzing Textual Data and Social Media \\
Installing NLTK \\
Filtering out stopwords, names, and numbers \\
The bag-of-words model \\
Analyzing word frequencies \\
Naive Bayes classification \\
Sentiment analysis \\
Creating word clouds \\
Social network analysis \\
Summary \\
10. Predictive Analytics and Machine Learning \\
A tour of scikit-learn \\
Preprocessing \\
Classification with logistic regression \\
Classification with support vector machines \\
Regression with ElasticNetCV \\
Support vector regression \\
Clustering with affinity propagation \\
Mean Shift \\
Genetic algorithms \\
Neural networks \\
Decision trees \\
Summary \\
11. Environments Outside the Python Ecosystem and Cloud
Computing \\
Exchanging information with MATLAB/Octave \\
Installing rpy2 \\
Interfacing with R \\
Sending NumPy arrays to Java \\
Integrating SWIG and NumPy \\
Integrating Boost and Python \\
Using Fortran code through f2py \\
Setting up Google App Engine \\
Running programs on PythonAnywhere \\
Working with Wakari \\
Summary \\
12. Performance Tuning, Profiling, and Concurrency \\
Profiling the code \\
Installing Cython \\
Calling C code \\
Creating a process pool with multiprocessing \\
Speeding up embarrassingly parallel for loops with
Joblib \\
Comparing Bottleneck to NumPy functions \\
Performing MapReduce with Jug \\
Installing MPI for Python \\
IPython Parallel \\
Summary \\
A. Key Concepts \\
B. Useful Functions \\
matplotlib \\
NumPy \\
pandas \\
Scikit-learn \\
SciPy \\
scipy.fftpack \\
scipy.signal \\
scipy.stats \\
C. Online Resources \\
Index",
}
@Book{Ivezic:2014:SDM,
author = "{\v{Z}}eljko Ivezi{\'c} and Andrew (Andrew J.)
Connolly and Jacob T. VanderPlas and Alexander
(Alexander G.) Gray",
title = "Statistics, data mining, and machine learning in
astronomy: a practical {Python} guide for the analysis
of survey data",
publisher = pub-PRINCETON,
address = pub-PRINCETON:adr,
pages = "x + 540",
year = "2014",
ISBN = "0-691-15168-7",
ISBN-13 = "978-0-691-15168-7",
LCCN = "QB51.3.E43 S72 2014",
bibdate = "Tue Feb 21 10:43:03 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "Princeton series in modern observational astronomy",
URL = "http://www.loc.gov/catdir/enhancements/fy1410/2013951369-b.html;
http://www.loc.gov/catdir/enhancements/fy1410/2013951369-d.html",
acknowledgement = ack-nhfb,
subject = "Statistical astronomy; Astronomy; Data processing;
Python (Computer program language); Data analysis; Data
mining; COMPUTERS; General; SCIENCE; Physics;
Mathematical and Computational; Python (Computer
program language); Data processing; Statistical
astronomy",
tableofcontents = "I. Introduction \\
1. About the Book and Supporting Material \\
1.1. What do Data Mining, Machine Learning, and
Knowledge Discovery mean? \\
1.2. What is this book about? \\
1.3. An incomplete survey of the relevant literature
\\
1.4. Introduction to the Python Language and the Git
Code Management Tool \\
1.5. Description of surveys and data sets used in
examples \\
1.6. Plotting and visualizing the data in this book \\
1.7. How to efficiently use this book \\
References \\
2. Fast Computation on Massive Data Sets \\
2.1. Data types and Data Management systems \\
2.2. Analysis of algorithmic efficiency \\
2.3. Seven types of computational Problem[s] \\
2.4. Seven strategies for speeding things up \\
2.5. Case studies: Speedup strategies in practice \\
References \\
II. Statistical Frameworks and Exploratory Data
Analysis \\
3. Probability and Statistical Distributions \\
3.1. Brief overview of probability and random variables
\\
3.2. Descriptive statistics \\
3.3. Common Univariate Distribution Functions \\
3.4. The Central Limit Theorem \\
3.5. Bivariate and Multivariate Distribution Functions
\\
3.6. Correlation coefficients \\
3.7. Random number generation for arbitrary
distributions \\
References \\
4. Classical Statistical Inference \\
4.1. Classical vs. Bayesian Statistical Inference \\
4.2. Maximum Likelihood Estimation (MLE) \\
4.3. The goodness of Fit and Model Selection \\
4.4. ML Applied to Gaussian Mixtures: The Expectation
Maximization Algorithm \\
4.5. Confidence estimates: the bootstrap and the
jackknife \\
4.6. Hypothesis testing \\
4.7. Comparison of distributions \\
4.8. Nonparametric modeling and histograms \\
4.9. Selection effects and Luminosity Function
Estimation \\
4.10. Summary \\
References \\
5 Bayesian Statistical Inference \\
5.1. Introduction to the Bayesian method \\
5.2. Bayesian priors \\
5.3. Bayesian parameter uncertainty quantification \\
5.4. Bayesian model selection \\
5.5. Nonuniform priors: Eddington, Malmquist, and
Lutz-Kelker biases \\
5.6. Simple examples of Bayesian analysis: Parameter
estimation \\
5.7. Simple examples of Bayesian analysis: Model
selection \\
5.8. Numerical methods for complex problems (MCMC) \\
5.9. Summary of pros and cons for classical and
Bayesian methods \\
References \\
III. Data Mining and Machine Learning \\
6 Searching for Structure in Point Data \\
6.1. Nonparametric density estimation \\
6.2. Nearest-neighbor density estimation \\
6.3. Parametric density estimation \\
6.4. Finding clusters in data \\
6.5. Correlation functions \\
6.6. Which density estimation and clustering algorithms
should I use? \\
References \\
7 Dimensionality and its reduction \\
7.1. The curse of dimensionality \\
7.2. The data sets used in this chapter \\
7.3. Principal component analysis \\
7.4. Nonnegative matrix factorization \\
7.5. Manifold learning \\
7.6. Independent component analysis and projection
pursuit \\
7.7. Which dimensionality reduction technique should I
use? \\
References \\
8 Regression and model fitting \\
8.1. Formulation of the regression problem \\
8.2. Regression for linear models \\
8.3. Regularization and penalizing the likelihood \\
8.4. Principal component regression \\
8.5. Kernel regression \\
8.6. Locally linear regression \\
8.7. Nonlinear regression \\
8.8. Uncertainties in the data \\
8.9. Regression that is robust to outliers \\
8.10. Gaussian process regression \\
8.11. Overfitting, underfitting, and cross-validation
\\
8.12. Which regression method should I use? \\
References \\
III. Data Mining and Machine Learning (continued) \\
9 Classification \\
9.1. Data sets used in this chapter \\
9.2. Assigning categories: Classification \\
9.3. Generative classification \\
9.4. K-nearest-neighbor classifier \\
9.5. Discriminative classification \\
9.6. Support vector machines \\
9.7. Decision trees \\
9.8. Evaluating classifiers: ROC Curves \\
9.9. Which classifier should I use? \\
References \\
10 Time Series Analysis \\
10.1. Main concepts for Time Series Analysis \\
10.2. Modeling toolkit for Time Series Analysis \\
10.3. Analysis of Periodic Time Series \\
10.4. Temporally localized signals \\
10.5. Analysis of Stochastic Processes \\
10.6. Which method should I use for Time Series
Analysis? \\
References \\
IV. Appendices \\
A An Introduction to Scientific Computing with Python
\\
A.1. A brief history of Python \\
A.2. The ScyPy universe \\
A.3. Getting started with Python \\
A.4. IPython: The basics of interactive computing \\
A.5. Introduction to NumPy \\
A.6. Visualization with Matplotlib \\
A.7. Overview of useful NumPy/SciPy modules \\
A.8. Efficient coding with Python and NumPy \\
A.9. Wrapping existing code in Python \\
A.10. Other resources \\
B AstroML: Machine Learning for Astronomy \\
B.1. Introduction \\
B.2. Dependencies \\
B.3. Tools included in AstroML v0.1 \\
C Astronomical Flux Measurements and Magnitudes \\
C.1. The definition of the specific flux \\
C.2. Wavelength window function for astronomical
measurements \\
C.3. The astronomical magnitude systems \\
D SQL Query for Downloading SDSS Data \\
E Approximating the Fourier Transform with the FFT \\
References",
}
@Article{Jacobs:2014:PPP,
author = "Christian Jacobs and Alexandros Avdis and Gerard
Gorman and Matthew Piggott",
title = "\pkg{PyRDM}: a {Python}-based library for automating
the management and online publication of scientific
software and data",
journal = j-J-OPEN-RES-SOFT,
volume = "2",
number = "1",
pages = "e28--??",
day = "03",
month = oct,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.bj",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:49 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.bj/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Misc{Johansson:2014:PMP,
author = "Fredrik Johansson and {The mpmath Development Team}",
title = "\pkg{mpmath}: a {Python} library for
arbitrary-precision floating-point arithmetic",
howpublished = "Web site",
year = "2014",
bibdate = "Wed Apr 24 13:50:47 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://mpmath.org/",
acknowledgement = ack-nhfb,
}
@Book{Karkera:2014:BPG,
author = "Kiran R. Karkera",
title = "Building probabalistic graphical models with {Python}
solve machine learning problems using probabalistic
graphical models implemented in {Python} with
real-world applications",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2014",
ISBN = "1-78328-900-7, 1-78328-901-5 (e-book), 1-306-90287-8
(e-book)",
ISBN-13 = "978-1-78328-900-4, 978-1-78328-901-1 (e-book),
978-1-306-90287-8 (e-book)",
LCCN = "QA279 K37 2014",
bibdate = "Sat Oct 24 06:46:21 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.tech.safaribooksonline.de/9781783289004",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Probability \\
The theory of probability \\
Goals of probabilistic inference \\
Conditional probability \\
The chain rule \\
The Bayes rule \\
Interpretations of probability \\
Random variables \\
Marginal distribution \\
Joint distribution \\
Independence \\
Conditional independence \\
Types of queries \\
Probability queries \\
MAP queries \\
Summary \\
2. Directed Graphical Models \\
Graph terminology \\
Python digression \\
Independence and independent parameters \\
The Bayes network \\
The chain rule \\
Reasoning patterns \\
Causal reasoning \\
Evidential reasoning \\
Inter-causal reasoning \\
D-separation \\
The D-separation example \\
Blocking and unblocking a V-structure \\
Factorization and I-maps \\
The Naive Bayes model \\
The Naive Bayes example \\
Summary \\
3. Undirected Graphical Models \\
Pairwise Markov networks \\
The Gibbs distribution \\
An induced Markov network \\
Factorization \\
Flow of influence \\
Active trail and separation \\
Structured prediction \\
Problem of correlated features \\
The CRF representation \\
The CRF example \\
The factorization-independence tango \\
Summary \\
4. Structure Learning \\
The structure learning landscape \\
Constraint-based structure learning \\
Part I \\
Part II \\
Part III \\
Summary of constraint-based approaches \\
Score-based learning \\
The likelihood score \\
The Bayesian information criterion score \\
The Bayesian score \\
Summary of score-based learning \\
Summary \\
5. Parameter Learning \\
The likelihood function \\
Parameter learning example using MLE \\
MLE for Bayesian networks \\
Bayesian parameter learning example using MLE \\
Data fragmentation \\
Effects of data fragmentation on parameter estimation
\\
Bayesian parameter estimation \\
An example of Bayesian methods for parameter learning
\\
Bayesian estimation for the Bayesian network \\
Example of Bayesian estimation \\
Summary \\
6. Exact Inference Using Graphical Models \\
Complexity of inference \\
Real-world issues \\
Using the Variable Elimination algorithm \\
Marginalizing factors that are not relevant \\
Factor reduction to filter evidence \\
Shortcomings of the brute-force approach \\
Using the Variable Elimination approach \\
Complexity of Variable Elimination \\
Why does elimination ordering matter? \\
Graph perspective \\
Learning the induced width from the graph structure \\
Why does induced width matter? \\
Finding VE orderings \\
The tree algorithm \\
The four stages of the junction tree algorithm \\
Using the junction tree algorithm for inference \\
Stage 1.1 --- moralization \\
Stage 1.2 --- triangulation \\
Stage 1.3 --- building the join tree \\
Stage 2 --- initializing potentials \\
Stage 3 --- message passing \\
Summary \\
7. Approximate Inference Methods \\
The optimization perspective \\
Belief propagation in general graphs \\
Creating a cluster graph to run LBP \\
Message passing in LBP \\
Steps in the LBP algorithm \\
Improving the convergence of LBP \\
Applying LBP to segment an image \\
Understanding energy-based models \\
Visualizing unary and pairwise factors on a 3 x 3 grid
\\
Creating a model for image segmentation \\
Applications of LBP \\
Sampling-based methods \\
Forward sampling \\
The accept-reject sampling method \\
The Markov Chain Monte Carlo sampling process \\
The Markov property \\
The Markov chain \\
Reaching a steady state \\
Sampling using a Markov chain \\
Gibbs sampling \\
Steps in the Gibbs sampling procedure \\
An example of Gibbs sampling \\
Summary \\
A. References \\
Chapter 1 \\
Chapter 2 \\
Chapter 3 \\
Chapter 4 \\
Chapter 5 \\
Chapter 6 \\
Chapter 7 \\
Other references \\
Index",
}
@Article{Koenka:2014:IOS,
author = "Israel Joel Koenka and Jorge S{\'a}iz and Peter C.
Hauser",
title = "{Instrumentino}: an open-source modular {Python}
framework for controlling {Arduino} based experimental
instruments",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "10",
pages = "2724--2729",
month = oct,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Aug 16 08:37:41 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465514002112",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Korzen:2014:PPP,
author = "Marcin Korze{\'n} and Szymon Jaroszewicz",
title = "{PaCAL}: a {Python} Package for Arithmetic
Computations with Random Variables",
journal = j-J-STAT-SOFT,
volume = "57",
number = "10",
pages = "??--??",
month = may,
year = "2014",
CODEN = "JSSOBK",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Mon Jun 16 11:01:52 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v57/i10",
acknowledgement = ack-nhfb,
fjournal = "Journal of Statistical Software",
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2012-02-14; Accepted 2013-07-21",
}
@Article{Koulouri:2014:TIP,
author = "Theodora Koulouri and Stanislao Lauria and Robert D.
Macredie",
title = "Teaching Introductory Programming: a Quantitative
Evaluation of Different Approaches",
journal = j-TOCE,
volume = "14",
number = "4",
pages = "26:1--26:??",
month = dec,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.1145/2662412",
ISSN = "1946-6226",
bibdate = "Wed Feb 11 21:50:28 MST 2015",
bibsource = "http://www.acm.org/pubs/toce;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
abstract = "Teaching programming to beginners is a complex task.
In this article, the effects of three factors-choice of
programming language, problem-solving training, and the
use of formative assessment-on learning to program were
investigated. The study adopted an iterative
methodological approach carried out across 4
consecutive years. To evaluate the effects of each
factor (implemented as a single change in each
iteration) on students' learning performance, the study
used quantitative, objective metrics. The findings
revealed that using a syntactically simple language
(Python) instead of a more complex one (Java)
facilitated students' learning of programming concepts.
Moreover, teaching problem solving before programming
yielded significant improvements in student
performance. These two factors were found to have
variable effects on the acquisition of basic
programming concepts. Finally, it was observed that
effective formative feedback in the context of
introductory programming depends on multiple
parameters. The article discusses the implications of
these findings, identifies avenues for further
research, and argues for the importance of studies in
computer science education anchored on sound research
methodologies to produce generalizable results.",
acknowledgement = ack-nhfb,
articleno = "26",
fjournal = "ACM Transactions on Computing Education",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1193",
}
@Book{Libeskind-Hadas:2014:CBP,
author = "Ran Libeskind-Hadas and Eliot Christen Bush",
title = "Computing for biologists: {Python} programming and
principles",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "x + 207",
year = "2014",
ISBN = "1-107-04282-8 (hardcover), 1-107-64218-3 (paperback)",
ISBN-13 = "978-1-107-04282-7 (hardcover), 978-1-107-64218-8
(paperback)",
LCCN = "QH324.2 .L53 2014",
bibdate = "Wed Sep 30 07:48:31 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.cambridge.org/us/academic/subjects/life-sciences/genomics-bioinformatics-and-systems-biology/computing-biologists-python-programming-and-principles",
acknowledgement = ack-nhfb,
subject = "Biology; Data processing; Python (Computer program
language); Computer programming",
}
@Article{Logaras:2014:PAE,
author = "Evangelos Logaras and Orsalia G. Hazapis and Elias S.
Manolakos",
title = "{Python} to accelerate embedded {SoC} design: a case
study for systems biology",
journal = j-TECS,
volume = "13",
number = "4",
pages = "84:1--84:??",
month = feb,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.1145/2560032",
ISSN = "1539-9087 (print), 1558-3465 (electronic)",
ISSN-L = "1539-9087",
bibdate = "Tue Mar 11 18:33:06 MDT 2014",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tecs.bib",
abstract = "We present SysPy (System Python) a tool which exploits
the strengths of the popular Python scripting language
to boost design productivity of embedded System on
Chips for FPGAs. SysPy acts as a ``glue'' software
between mature HDLs, ready-to-use VHDL components and
programmable processor soft IP cores. SysPy can be used
to: (i) automatically translate hardware components
described in Python into synthesizable VHDL, (ii)
capture top-level structural descriptions of
processor-centric SoCs in Python, (iii) implement all
the steps necessary to compile the user's C code for an
instruction set processor core and generate processor
specific Tcl scripts that import to the design project
all the necessary HDL files of the processor's
description and instantiate/connect the core to other
blocks in a synthesizable top-level Python description.
Moreover, we have developed a Hardware Abstraction
Layer (HAL) in Python which allows user applications
running in a host PC to utilize effortlessly the SoC's
resources in the FPGA. SysPy's design capabilities,
when complemented with the developed HAL software API,
provide all the necessary tools for hw/sw partitioning
and iterative design for efficient SoC's performance
tuning. We demonstrate how SysPy's design flow and
functionalities can be used by building a
processor-centric embedded SoC for computational
systems biology. The designed SoC, implemented using a
Xilinx Virtex-5 FPGA, combines the flexibility of a
programmable soft processor core (Leon3) with the high
performance of an application specific core to simulate
flexibly and efficiently the stochastic behavior of
large size biomolecular reaction networks. Such
networks are essential for studying the dynamics of
complex biological systems consisting of multiple
interacting pathways.",
acknowledgement = ack-nhfb,
articleno = "84",
fjournal = "ACM Transactions on Embedded Computing Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?&idx=J840",
}
@Book{Lopez:2014:MPR,
author = "F{\'e}lix L{\'o}pez and V{\'i}ctor Romero",
title = "Mastering {Python} regular expressions: leverage
regular expressions in {Python} even for the most
complex features",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iii + 93",
year = "2014",
ISBN = "1-78328-315-7 (paperback), 1-78328-316-5 (e-book)",
ISBN-13 = "978-1-78328-315-6 (paperback), 978-1-78328-316-3
(e-book)",
LCCN = "QA76.73.P98 L67 2014",
bibdate = "Sat Oct 24 07:11:51 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783283156",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Text processing
(Computer science); COMPUTERS / Programming Languages /
Python",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Introducing Regular Expressions \\
History, relevance, and purpose \\
The regular expression syntax \\
Literals \\
Character classes \\
Predefined character classes \\
Alternation \\
Quantifiers \\
Greedy and reluctant quantifiers \\
Boundary Matchers \\
Summary \\
2. Regular Expressions with Python \\
A brief introduction \\
Backslash in string literals \\
String Python 2.x \\
Building blocks for Python regex \\
RegexObject \\
Searching \\
match(string[, pos[, endpos]]) \\
search(string[, pos[, endpos]]) \\
findall(string[, pos[, endpos]]) \\
finditer(string[, pos[, endpos]]) \\
Modifying a string \\
split(string, maxsplit=0) \\
sub(repl, string, count=0) \\
subn(repl, string, count=0) \\
MatchObject \\
group([group1, \ldots{} ]) \\
groups([default]) \\
groupdict([default]) \\
start([group]) \\
end([group]) \\
span([group]) \\
expand(template) \\
Module operations \\
escape() \\
purge() \\
Compilation flags \\
re.IGNORECASE or re.I \\
re.MULTILINE or re.M \\
re.DOTALL or re.S \\
re.LOCALE or re.L \\
re.UNICODE or re.U \\
re.VERBOSE or re.X \\
re.DEBUG \\
Python and regex special considerations \\
Differences between Python and other flavors \\
Unicode \\
What's new in Python 3 \\
Summary \\
3. Grouping \\
Introduction \\
Backreferences \\
Named groups \\
Non-capturing groups \\
Atomic groups \\
Special cases with groups \\
Flags per group \\
yes-pattern|no-pattern \\
Overlapping groups \\
Summary \\
4. Look Around \\
Look ahead \\
Negative look ahead \\
Look around and substitutions \\
Look behind \\
Negative look behind \\
Look around and groups \\
Summary \\
5. Performance of Regular Expressions \\
Benchmarking regular expressions with Python \\
The RegexBuddy tool \\
Understanding the Python regex engine \\
Backtracking \\
Optimization recommendations \\
Reuse compiled patterns \\
Extract common parts in alternation \\
Shortcut to alternation \\
Use non-capturing groups when appropriate \\
Be specific \\
Don't be greedy \\
Summary \\
Index",
}
@Book{Lott:2014:MOO,
author = "Steven F. Lott",
title = "Mastering object-oriented {Python}: grasp the
intricacies of object-oriented programming in {Python}
in order to efficiently build powerful real-world
applications",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xii + 609",
year = "2014",
ISBN = "1-78328-097-2, 1-78328-098-0 (e-book)",
ISBN-13 = "978-1-78328-097-1, 978-1-78328-098-8 (e-book)",
LCCN = "QA76.73.P98 L688 2014",
bibdate = "Sat Oct 24 07:21:25 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community expertise distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783280971",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code for this book \\
Errata \\
Piracy \\
Questions \\
Some Preliminaries \\
About casino Blackjack \\
Playing the game \\
Blackjack player strategies \\
Object design for simulating Blackjack \\
Performance --- the timeit module \\
Testing --- unittest and doctest \\
Unit testing and technology spikes \\
Docstrings --- RST markup and documentation tools \\
The IDE question \\
About special method names \\
Summary \\
I. Pythonic Classes via Special Methods \\
Pythonic Classes via Special Methods \\
1. The __init__() Method \\
The implicit superclass --- object \\
The base class object __init__() method \\
Implementing __init__() in a superclass \\
Using __init__() to create manifest constants \\
Leveraging __init__() via a factory function \\
Faulty factory design and the vague else clause \\
Simplicity and consistency using elif sequences \\
Simplicity using mapping and class objects \\
Two parallel mappings \\
Mapping to a tuple of values \\
The partial function solution \\
Fluent APIs for factories \\
Implementing __init__() in each subclass \\
Simple composite objects \\
Wrapping a collection class \\
Extending a collection class \\
More requirements and another design \\
Complex composite objects \\
Complete composite object initialization \\
Stateless objects without __init__() \\
Some additional class definitions \\
Multi-strategy __init__() \\
More complex initialization alternatives \\
Initializing static methods \\
Yet more __init__() techniques \\
Initialization with type validation \\
Initialization, encapsulation, and privacy \\
Summary \\
2. Integrating Seamlessly with Python --- Basic Special
Methods \\
The __repr__() and __str__() methods \\
Non collection __str__() and __repr__() \\
Collection __str__() and __repr__() \\
The __format__() method \\
Nested formatting specifications \\
Collections and delegating format specifications \\
The __hash__() method \\
Deciding what to hash \\
Inheriting definitions for immutable objects \\
Overriding definitions for immutable objects \\
Overriding definitions for mutable objects \\
Making a frozen hand from a mutable hand \\
The __bool__() method \\
The __bytes__() method \\
The comparison operator methods \\
Designing comparisons \\
Implementation of comparison for objects of the same
class \\
Implementation of comparison for objects of mixed
classes \\
Hard totals, soft totals, and polymorphism \\
A mixed class comparison example \\
The __del__() method \\
The reference count and destruction \\
Circular references and garbage collection \\
Circular references and the weakref module \\
The __del__() and close() methods \\
The __new__() method and immutable objects \\
The __new__() method and metaclasses \\
Metaclass example 1 --- ordered attributes \\
Metaclass example 2 --- self-reference \\
Summary \\
3. Attribute Access, Properties, and Descriptors \\
Basic attribute processing \\
Attributes and the __init__() method \\
Creating properties \\
Eagerly computed properties \\
Setter and deleter properties \\
Using special methods for attribute access \\
Creating immutable objects with __slots__ \\
Creating immutable objects as a tuple subclass \\
Eagerly computed attributes \\
The __getattribute__() method \\
Creating descriptors \\
Using a nondata descriptor \\
Using a data descriptor \\
Summary, design considerations, and trade-offs \\
Properties versus attributes \\
Designing with descriptors \\
Looking forward \\
4. The ABCs of Consistent Design \\
Abstract base classes \\
Base classes and polymorphism \\
Callables \\
Containers and collections \\
Numbers \\
Some additional abstractions \\
The iterator abstraction \\
Contexts and context managers \\
The abc module \\
Summary, design considerations, and trade-offs \\
Looking forward \\
5. Using Callables and Contexts \\
Designing with ABC callables \\
Improving performance \\
Using memoization or caching \\
Using functools for memoization \\
Aiming for simplicity using the callable API \\
Complexities and the callable API \\
Managing contexts and the with statement \\
Using the decimal context \\
Other contexts \\
Defining the __enter__() and __exit__() methods \\
Handling exceptions \\
Context manager as a factory \\
Cleaning up in a context manager \\
Summary \\
Callable design considerations and trade-offs \\
Context manager design considerations and trade-offs
\\
Looking forward \\
6. Creating Containers and Collections \\
ABCs of collections \\
Examples of special methods \\
Using the standard library extensions \\
The namedtuple() function \\
The deque class \\
The ChainMap use case \\
The OrderedDict collection \\
The defaultdict subclass \\
The counter collection \\
Creating new kinds of collections \\
Defining a new kind of sequence \\
A statistical list \\
Choosing eager versus lazy calculation \\
Working with __getitem__(), __setitem__(),
__delitem__(), and slices \\
Implementing __getitem__(), __setitem__(), and
__delitem__() \\
Wrapping a list and delegating \\
Creating iterators with __iter__() \\
Creating a new kind of mapping \\
Creating a new kind of set \\
Some design rationale \\
Defining the Tree class \\
Defining the TreeNode class \\
Demonstrating the binary tree set \\
Summary \\
Design considerations and Trade-offs \\
Looking forward \\
7. Creating Numbers \\
ABCs of numbers \\
Deciding which types to use \\
The method resolution and the reflected operator
concept \\
The arithmetic operator's special methods \\
Creating a numeric class \\
Defining FixedPoint initialization \\
Defining FixedPoint binary arithmetic operators \\
Defining FixedPoint unary arithmetic operators \\
Implementing FixedPoint reflected operators \\
Implementing FixedPoint comparison operators \\
Computing a numeric hash \\
Designing more useful rounding \\
Implementing other special methods \\
Optimization with the in-place operators \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
8. Decorators and Mixins --- Cross-cutting Aspects \\
Class and meaning \\
Constructing the functions \\
Constructing the class \\
Some class design principles \\
Aspect-oriented programming \\
Using built-in decorators \\
Using standard library decorators \\
Using standard library mixin classes \\
Using the context manager mixin class \\
Turning off a class feature \\
Writing a simple function decorator \\
Creating separate loggers \\
Parameterizing a decorator \\
Creating a method function decorator \\
Creating a class decorator \\
Adding method functions to a class \\
Using decorators for security \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
II. Persistence and Serialization \\
Persistence and Serialization \\
9. Serializing and Saving --- JSON, YAML, Pickle, CSV,
and XML \\
Understanding persistence, class, state, and
representation \\
Common Python terminologies \\
Filesystem and network considerations \\
Defining classes to support persistence \\
Rendering a blog and posts \\
Dumping and loading with JSON \\
Supporting JSON in our classes \\
Customizing JSON encoding \\
Customizing JSON decoding \\
The security and the eval() issue \\
Refactoring the encode function \\
Standardizing the date string \\
Writing JSON to a file \\
Dumping and loading with YAML \\
Formatting YAML data on a file \\
Extending the YAML representation \\
Security and safe loading \\
Dumping and loading with pickle \\
Designing a class for reliable pickle processing \\
Security and the global issue \\
Dumping and loading with CSV \\
Dumping simple sequences to CSV \\
Loading simple sequences from CSV \\
Handling containers and complex classes \\
Dumping and loading multiple row types in a CSV file
\\
Filtering CSV rows with an iterator \\
Dumping and loading joined rows in a CSV file \\
Dumping and loading with XML \\
Dumping objects using string templates \\
Dumping objects with xml.etree.ElementTree \\
Loading XML documents \\
Summary \\
Design considerations and trade-offs \\
Schema evolution \\
Looking forward \\
10. Storing and Retrieving Objects via Shelve \\
Analyzing persistent object use cases \\
The ACID properties \\
Creating a shelf \\
Designing shelvable objects \\
Designing keys for our objects \\
Generating surrogate keys for objects \\
Designing a class with a simple key \\
Designing classes for containers or collections \\
Referring to objects via foreign keys \\
Designing CRUD operations for complex objects \\
Searching, scanning, and querying \\
Designing an access layer for shelve \\
Writing a demonstration script \\
Creating indexes to improve efficiency \\
Creating top-level indices \\
Adding yet more index maintenance \\
The writeback alternative to index updates \\
Schema evolution \\
Summary \\
Design considerations and trade-offs \\
Application software layers \\
Looking forward \\
11. Storing and Retrieving Objects via SQLite \\
SQL databases, persistence, and objects \\
The SQL data model --- rows and tables \\
CRUD processing via SQL DML statements \\
Querying rows with the SQL SELECT statement \\
SQL transactions and the ACID properties \\
Designing primary and foreign database keys \\
Processing application data with SQL \\
Implementing class-like processing in pure SQL \\
Mapping Python objects to SQLite BLOB columns \\
Mapping Python objects to database rows manually \\
Designing an access layer for SQLite \\
Implementing container relationships \\
Improving performance with indices \\
Adding an ORM layer \\
Designing ORM-friendly classes \\
Building the schema with the ORM layer \\
Manipulating objects with the ORM layer \\
Querying post objects given a tag string \\
Improving performance with indices \\
Schema evolution \\
Summary \\
Design considerations and trade-offs \\
Mapping alternatives \\
Keys and key designs \\
Application software layers \\
Looking forward \\
12. Transmitting and Sharing Objects \\
Class, state, and representation \\
Using HTTP and REST to transmit objects \\
Implementing CRUD operations via REST \\
Implementing non-CRUD operations \\
The REST protocol and ACID \\
Choosing a representation --- JSON, XML, or YAML \\
Implementing a REST server --- WSGI and mod_wsgi \\
Creating a simple REST application and server \\
Implementing a REST client \\
Demonstrating and unit testing the RESTful services \\
Using Callable classes for WSGI applications \\
Designing RESTful object identifiers \\
Multiple layers of REST services \\
Creating the roulette server \\
Creating the roulette client \\
Creating a secure REST service \\
The WSGI Authentication application \\
Implementing REST with a web application framework \\
Using a message queue to transmit objects \\
Defining processes \\
Building queues and supplying data \\
Summary \\
Design considerations and trade-offs \\
Schema evolution \\
Application software layers \\
Looking forward \\
13. Configuration Files and Persistence \\
Configuration file use cases \\
Representation, persistence, state, and usability \\
Application configuration design patterns \\
Configuring via object construction \\
Implementing a configuration hierarchy \\
Storing the configuration in the INI files \\
Handling more literals via the eval() variants \\
Storing the configuration in PY files \\
Configuration via class definitions \\
Configuration via SimpleNamespace \\
Using Python with exec() for the configuration \\
Why is exec() a nonproblem? \\
Using ChainMap for defaults and overrides \\
Storing the configuration in JSON or YAML files \\
Using flattened JSON configurations \\
Loading a YAML configuration \\
Storing the configuration in property files \\
Parsing a properties file \\
Using a properties file \\
Storing the configuration in XML files --- PLIST and
others \\
Customized XML configuration files \\
Summary \\
Design considerations and trade-offs \\
Creating a shared configuration \\
Schema evolution \\
Looking Forward \\
III. Testing, Debugging, Deploying, and Maintaining \\
Testing, Debugging, Deploying, and Maintaining \\
14. The Logging and Warning Modules \\
Creating a basic log \\
Creating a shared class-level logger \\
Configuring the loggers \\
Starting up and shutting down the logging system \\
Naming the loggers \\
Extending the logger levels \\
Defining handlers for multiple destinations \\
Managing the propagation rules \\
Configuration gotcha \\
Specializing logging for control, debug, audit, and
security \\
Creating a debugging log \\
Creating audit and security logs \\
Using the warnings module \\
Showing API changes with a warning \\
Showing configuration problems with a warning \\
Showing possible software problems with a warning \\
Advanced logging --- the last few messages and network
destinations \\
Building an automatic tail buffer \\
Sending logging messages to a remote process \\
Preventing queue overrun \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
15. Designing for Testability \\
Defining and isolating units for testing \\
Minimizing the dependencies \\
Creating simple unit tests \\
Creating a test suite \\
Including edge and corner cases \\
Mocking dependencies for testing \\
Using more mocks to test more behaviors \\
Using doctest to define test cases \\
Combining doctest and unittest \\
Creating a more complete test package \\
Using setup and teardown \\
Using setup and teardown with OS resources \\
Using setup and teardown with databases \\
The TestCase class hierarchy \\
Using externally defined expected results \\
Automated integration or performance testing \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
16. Coping With the Command Line \\
The OS interface and the command line \\
Arguments and options \\
Parsing the command line with argparse \\
A simple on/off option \\
An option with an argument \\
Positional arguments \\
All other arguments \\
--version display and exit \\
--help display and exit \\
Integrating command-line options and environment
variables \\
Providing more configurable defaults \\
Overriding configuration file settings with environment
variables \\
Overriding environment variables with the configuration
files \\
Making the configuration aware of the None values \\
Customizing the help output \\
Creating a top-level main() function \\
Ensuring DRY for the configuration \\
Managing nested configuration contexts \\
Programming In The Large \\
Designing command classes \\
Adding the analysis command subclass \\
Adding and packaging more features into an application
\\
Designing a higher-level composite command \\
Additional composite command design patterns \\
Integrating with other applications \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
17. The Module and Package Design \\
Designing a module \\
Some module design patterns \\
Module versus class \\
The expected content of a module \\
Whole module versus module items \\
Designing a package \\
Designing a module-package hybrid \\
Designing a package with alternate implementations \\
Designing a main script and the __main__ module \\
Creating an executable script file \\
Creating a __main__ module \\
Programming in the large \\
Designing long-running applications \\
Organizing code into src, bin, and test \\
Installing Python modules \\
Summary \\
Design considerations and trade-offs \\
Looking forward \\
18. Quality and Documentation \\
Writing docstrings for the help() function \\
Using pydoc for documentation \\
Better output via the RST markup \\
Blocks of text \\
The RST inline markup \\
RST directives \\
Learning RST \\
Writing effective docstrings \\
Writing file-level docstrings, including modules and
packages \\
Writing API details in RST markup \\
Writing class and method function docstrings \\
Writing function docstrings \\
More sophisticated markup techniques \\
Using Sphinx to produce the documentation \\
Using the Sphinx quickstart \\
Writing the Sphinx documentation \\
Filling in the 4+1 views for documentation \\
Writing the implementation document \\
Creating the Sphinx cross-references \\
Refactoring Sphinx files into directories \\
Writing the documentation \\
Literate programming \\
Use cases for literate programming \\
Working with a literate programming tool \\
Summary \\
Design considerations and trade-offs \\
Index",
}
@Book{Lott:2014:PSA,
author = "Steven F. Lott",
title = "{Python} for secret agents: analyze, encrypt, and
uncover intelligence data using {Python}, the essential
tool for all aspiring secret agents",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "v + 197",
year = "2014",
ISBN = "1-78398-042-7 (paperback), 1-78398-043-5 (e-book)",
ISBN-13 = "978-1-78398-042-0 (paperback), 978-1-78398-043-7
(e-book)",
LCCN = "TK5105.8883",
bibdate = "Sat Oct 24 06:28:49 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Data mining; Data
mining.; Python (Computer program language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Our Espionage Toolkit \\
Getting the tools of the trade --- Python 3.3 \\
Windows secrets \\
Mac OS X secrets \\
Getting more tools --- a text editor \\
Getting other developer tools \\
Getting a tool to get more Python components \\
Confirming our tools \\
How do we stop? \\
Using the help() system \\
Mac OS and GNU/Linux secrets \\
Windows secrets \\
Using the help mode \\
Background briefing --- math and numbers \\
The usual culprits \\
The ivory tower of numbers \\
Integer numbers \\
Rational numbers \\
Floating-point numbers \\
Decimal numbers \\
Complex numbers \\
Outside the numbers \\
Assigning values to variables \\
Writing scripts and seeing output \\
Gathering user input \\
Handling exceptions \\
Looping and trying again \\
Handling text and strings \\
Converting between numbers and strings \\
Parsing strings \\
Organizing our software \\
Working with files and folders \\
Creating a file \\
Reading a file \\
Defining more complex logical conditions \\
Solving problems --- recovering a lost password \\
Reading a word corpus \\
Reading a ZIP archive \\
Using brute-force search \\
Summary \\
2. Acquiring Intelligence Data \\
Accessing data from the Internet \\
Background briefing --- the TCP/IP protocols \\
Using http.client for HTTP GET \\
Changing our client information \\
Using FTP in Python \\
Downloading a file via FTP \\
Using our FTP get() function \\
Using urllib for HTTP, FTP, or file access \\
Using urllib for FTP access \\
Using a REST API in Python \\
Getting simple REST data \\
Using more complex RESTful queries \\
Saving our data via JSON \\
Organizing collections of data \\
Using a Python list \\
Using list index operations \\
Using a Python tuple \\
Using generator expressions with list of tuples \\
Using a Python dictionary mapping \\
Using the dictionary access methods \\
Transforming sequences with generator functions \\
Using the defaultdict and counter mappings \\
Using a Python set \\
Using the for statement with a collection \\
Using Python operators on collections \\
Solving problems --- currency conversion rates \\
Summary \\
3. Encoding Secret Messages with Steganography \\
Background briefing --- handling file formats \\
Working with the OS filesystem \\
glob \\
os \\
Processing simple text files \\
Working with ZIP files \\
Working with JSON files \\
Working with CSV files \\
JPEG and PNG graphics --- pixels and metadata \\
Using the Pillow library \\
Adding the required supporting libraries \\
GNU/Linux secrets \\
Mac OS X secrets \\
Windows secrets \\
Installing and confirming Pillow \\
Decoding and encoding image data \\
Manipulating images --- resizing and thumbnails \\
Manipulating images --- cropping \\
Manipulating images --- enhancing \\
Manipulating images --- filtering \\
Manipulating images --- ImageOps \\
Some approaches to steganography \\
Getting the red-channel data \\
Extracting bytes from Unicode characters \\
Manipulating bits and bytes \\
Assembling the bits \\
Encoding the message \\
Decoding a message \\
Detecting and preventing tampering \\
Using hash totals to validate a file \\
Using a key with a digest \\
Solving problems --- encrypting a message \\
Unpacking a message \\
Summary \\
4. Drops, Hideouts, Meetups, and Lairs \\
Background briefing --- latitude, longitude, and GPS
\\
Coping with GPS device limitations \\
Handling politics --- borders, precincts,
jurisdictions, and neighborhoods \\
Finding out where we are with geocoding services \\
Geocoding an address \\
Reverse geocoding a latitude-longitude point \\
How close? What direction? \\
Combining geocoding and haversine \\
Compressing data to make grid codes \\
Creating GeoRef codes \\
Decoding a GeoRef code \\
Creating Maidenhead grid codes \\
Decoding the Maidenhead grid codes \\
Creating natural area codes \\
Decoding natural area codes \\
Solving problems --- closest good restaurant \\
Creating simple Python objects \\
Working with HTML web services --- tools \\
Working with HTML web services --- getting the page \\
Working with HTML web services --- parsing a table \\
Making a simple Python object from columns of data \\
Enriching Python objects with geocodes \\
Enriching Python objects with health scores \\
Combining the pieces and parts \\
Working with clean data portals \\
Making a simple Python object from a JSON document \\
Combining different pieces and parts \\
Final steps \\
Understanding the data --- schema and metadata \\
Summary \\
5. A Spymaster's More Sensitive Analyses \\
Creating statistical summaries \\
Parsing the raw data file \\
Finding an average value \\
Understanding generator expressions \\
Finding the value in the middle \\
Finding the most popular value \\
Creating Python modules and applications \\
Creating and using a module \\
Creating an application module \\
Creating a hybrid module \\
Creating our own classes of objects \\
Using a class definition \\
Comparisons and correlations \\
Computing the standard deviation \\
Computing a standardized score \\
Comparing a sequence and an iterable \\
Computing a coefficient of correlation \\
Writing high-quality software \\
Building a self-testing module and a test module \\
Creating more sophisticated tests \\
Adding doctest cases to a class definition \\
Solving problems --- analyzing some interesting
datasets \\
Getting some more data \\
Further research \\
Summary \\
Index",
}
@Book{Lubanovic:2014:IPM,
author = "Bill Lubanovic",
title = "Introducing {Python}: modern computing in simple
packages",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xx + 454",
year = "2014",
ISBN = "1-4493-5936-1 (paperback), 1-4493-6119-6 (e-book),
1-4493-6118-8 (e-book)",
ISBN-13 = "978-1-4493-5936-2 (paperback), 978-1-4493-6119-8
(e-book), 978-1-4493-6118-1 (e-book)",
LCCN = "QA76.73.P98 L83 2015",
bibdate = "Sat Oct 24 06:14:54 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
tableofcontents = "Dedication \\
Preface \\
Audience \\
Outline \\
Python Versions \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
1. A Taste of Py \\
Python in the Real World \\
Python versus Language X \\
So, Why Python? \\
When Not to Use Python \\
Python 2 versus Python 3 \\
Installing Python \\
Running Python \\
Using the Interactive Interpreter \\
Use Python Files \\
What's Next? \\
Your Moment of Zen \\
Things to Do \\
2. Py Ingredients: Numbers, Strings, and Variables \\
Variables, Names, and Objects \\
Numbers \\
Integers \\
Precedence \\
Bases \\
Type Conversions \\
How Big Is an int? \\
Floats \\
Math Functions \\
Strings \\
Create with Quotes \\
Convert Data Types by Using str() \\
Escape with [backslash] \\
Combine with + \\
Duplicate with * \\
Extract a Character with [] \\
Slice with [] \\
Get Length with len() \\
Split with split() \\
Combine with join() \\
Playing with Strings \\
Case and Alignment \\
Substitute with replace() \\
More String Things \\
Things to Do \\
3. Py Filling: Lists, Tuples, Dictionaries, and Sets
\\
Lists and Tuples \\
Lists \\
Create with [] or list() \\
Convert Other Data Types to Lists with list() \\
Get an Item by Using [] \\
Lists of Lists \\
Change an Item by [] \\
Get a Slice to Extract Items by Offset Range \\
Add an Item to the End with append() \\
Combine Lists by Using extend() or += \\
Add an Item by Offset with insert() \\
Delete an Item by Offset with del \\
Delete an Item by Value with remove() \\
Get an Item by Offset and Delete It by Using pop() \\
Find an Item's Offset by Value with index() \\
Test for a Value with in \\
Count Occurrences of a Value by Using count() \\
Convert to a String with join() \\
Reorder Items with sort() \\
Get Length by Using len() \\
Assign with =, Copy with copy() \\
Tuples \\
Create a Tuple by Using () \\
Tuples versus Lists \\
Dictionaries \\
Create with \{\} \\
Convert by Using dict() \\
Add or Change an Item by [] \\
Combine Dictionaries with update() \\
Delete an Item by Key with del \\
Delete All Items by Using clear() \\
Test for a Key by Using in \\
Get an Item by [] \\
Get All Keys by Using keys() \\
Get All Values by Using values() \\
Get All Key-Value Pairs by Using items() \\
Assign with =, Copy with copy() \\
Sets \\
Create with set() \\
Convert from Other Data Types with set() \\
Test for Value by Using in \\
Combinations and Operators \\
Compare Data Structures \\
Make Bigger Data Structures \\
Things to Do \\
4. Py Crust: Code Structures \\
Comment with # \\
Continue Lines with [backslash] \\
Compare with if, elif, and else \\
What Is True? \\
Repeat with while \\
Cancel with break \\
Skip Ahead with continue \\
Check break Use with else \\
Iterate with for \\
Cancel with break \\
Skip with continue \\
Check break Use with else \\
Iterate Multiple Sequences with zip() \\
Generate Number Sequences with range() \\
Other Iterators \\
Comprehensions \\
List Comprehensions \\
Dictionary Comprehensions \\
Set Comprehensions \\
Generator Comprehensions \\
Functions \\
Positional Arguments \\
Keyword Arguments \\
Specify Default Parameter Values \\
Gather Positional Arguments with * \\
Gather Keyword Arguments with ** \\
Docstrings \\
Functions Are First-Class Citizens \\
Inner Functions \\
Closures \\
Anonymous Functions: the lambda() Function \\
Generators \\
Decorators \\
Namespaces and Scope \\
Uses of _ and __ in Names \\
Handle Errors with try and except \\
Make Your Own Exceptions \\
Things to Do \\
5. Py Boxes: Modules, Packages, and Programs \\
Standalone Programs \\
Command-Line Arguments \\
Modules and the import Statement \\
Import a Module \\
Import a Module with Another Name \\
Import Only What You Want from a Module \\
Module Search Path \\
Packages \\
The Python Standard Library \\
Handle Missing Keys with setdefault() and defaultdict()
\\
Count Items with Counter() \\
Order by Key with OrderedDict() \\
Stack + Queue == deque \\
Iterate over Code Structures with itertools \\
Print Nicely with pprint() \\
More Batteries: Get Other Python Code \\
Things to Do \\
6. Oh Oh: Objects and Classes \\
What Are Objects? \\
Define a Class with class \\
Inheritance \\
Override a Method \\
Add a Method \\
Get Help from Your Parent with super \\
In self Defense \\
Get and Set Attribute Values with Properties \\
Name Mangling for Privacy \\
Method Types \\
Duck Typing \\
Special Methods \\
Composition \\
When to Use Classes and Objects versus Modules \\
Named Tuples \\
Things to Do \\
7. Mangle Data Like a Pro \\
Text Strings \\
Unicode \\
Python 3 Unicode strings \\
Encode and decode with UTF-8 \\
Encoding \\
Decoding \\
For more information \\
Format \\
Old style with \% \\
New style formatting with {} and format \\
Match with Regular Expressions \\
Exact match with match() \\
First match with search() \\
All matches with findall() \\
Split at matches with split() \\
Replace at matches with sub() \\
Patterns: special characters \\
Patterns: using specifiers \\
Patterns: specifying match output \\
Binary Data \\
bytes and bytearray \\
Convert Binary Data with struct \\
Other Binary Data Tools \\
Convert Bytes/Strings with binascii() \\
Bit Operators \\
Things to Do \\
8. Data Has to Go Somewhere \\
File Input/Output \\
Write a Text File with write() \\
Read a Text File with read(), readline(), or
readlines() \\
Write a Binary File with write() \\
Read a Binary File with read() \\
Close Files Automatically by Using with \\
Change Position with seek() \\
Structured Text Files \\
CSV \\
XML \\
HTML \\
JSON \\
YAML \\
A Security Note \\
Configuration Files \\
Other Interchange Formats \\
Serialize by Using pickle \\
Structured Binary Files \\
Spreadsheets \\
HDF5 \\
Relational Databases \\
SQL \\
DB-API \\
SQLite \\
MySQL \\
PostgreSQL \\
SQLAlchemy \\
The engine layer \\
The SQL Expression Language \\
The Object-Relational Mapper \\
NoSQL Data Stores \\
The dbm Family \\
Memcached \\
Redis \\
Strings \\
Lists \\
Hashes \\
Sets \\
Sorted sets \\
Bits \\
Caches and expiration \\
Other NoSQL \\
Full-Text Databases \\
Things to Do \\
9. The Web, Untangled \\
Web Clients \\
Test with telnet \\
Python's Standard Web Libraries \\
Beyond the Standard Library: Requests \\
Web Servers \\
The Simplest Python Web Server \\
Web Server Gateway Interface \\
Frameworks \\
Bottle \\
Flask \\
Pass an argument as part of the URL path \\
Non-Python Web Servers \\
Apache \\
The nginx Web Server \\
Other Frameworks \\
Other Python Web Servers \\
Web Services and Automation \\
The webbrowser Module \\
Web APIs and Representational State Transfer \\
JSON \\
Crawl and Scrape \\
Scrape HTML with BeautifulSoup \\
Things to Do \\
10. Systems \\
Files \\
Create with open() \\
Check Existence with exists() \\
Check Type with isfile() \\
Copy with copy() \\
Change Name with rename() \\
Link with link() or symlink() \\
Change Permissions with chmod() \\
Change Ownership with chown() \\
Get a Pathname with abspath() \\
Get a symlink Pathname with realpath() \\
Delete a File with remove() \\
Directories \\
Create with mkdir() \\
Delete with rmdir() \\
List Contents with listdir() \\
Change Current Directory with chdir() \\
List Matching Files with glob() \\
Programs and Processes \\
Create a Process with subprocess \\
Create a Process with multiprocessing \\
Kill a Process with terminate() \\
Calendars and Clocks \\
The datetime Module \\
Using the time Module \\
Read and Write Dates and Times \\
Alternative Modules \\
Things to Do \\
11. Concurrency and Networks \\
Concurrency \\
Queues \\
Processes \\
Threads \\
Green Threads and gevent \\
twisted \\
asyncio \\
Redis \\
Beyond Queues \\
Networks \\
Patterns \\
The Publish-Subscribe Model \\
Redis \\
ZeroMQ \\
Other Pub-sub Tools \\
TCP/IP \\
Sockets \\
ZeroMQ \\
Scapy \\
Internet Services \\
Domain Name System \\
Python Email Modules \\
Other protocols \\
Web Services and APIs \\
Remote Processing \\
Remote Procedure Calls \\
fabric \\
Salt \\
Big Fat Data and MapReduce \\
Working in the Clouds \\
Google \\
Amazon \\
OpenStack \\
Things to Do \\
12. Be a Pythonista \\
About Programming \\
Find Python Code \\
Install Packages \\
Use pip \\
Use a Package Manager \\
Install from Source \\
Integrated Development Environments \\
IDLE \\
PyCharm \\
IPython \\
Name and Document \\
Testing Your Code \\
Check with pylint, pyflakes, and pep8 \\
Test with unittest \\
Test with doctest \\
Test with nose \\
Other Test Frameworks \\
Continuous Integration \\
Debugging Python Code \\
Debug with pdb \\
Logging Error Messages \\
Optimize Your Code \\
Measure Timing \\
Algorithms and Data Structures \\
Cython, NumPy, and C Extensions \\
PyPy \\
Source Control \\
Mercurial \\
Git \\
Clone This Book \\
How You Can Learn More \\
Books \\
Websites \\
Groups \\
Conferences \\
Coming Attractions \\
A. Py Art \\
2-D Graphics \\
Standard Library \\
PIL and Pillow \\
ImageMagick \\
Graphical User Interfaces (GUIs) \\
3-D Graphics and Animation \\
Plots, Graphs, and Visualization \\
matplotlib \\
bokeh \\
Games \\
Audio and Music \\
B. Py at Work \\
The Microsoft Office Suite \\
Carrying Out Business Tasks \\
Processing Business Data \\
Extracting, Transforming, and Loading \\
Additional Sources of Information \\
Python in Finance \\
Business Data Security \\
Maps \\
Formats \\
Draw a Map \\
Applications and Data \\
C. Py Sci \\
Math and Statistics in the Standard Library \\
Math Functions \\
Working with Complex Numbers \\
Calculate Accurate Floating Point with decimal \\
Perform Rational Arithmetic with fractions \\
Use Packed Sequences with array \\
Handling Simple Stats by Using statistics \\
Matrix Multiplication \\
Scientific Python \\
NumPy \\
Make an Array with array() \\
Make an Array with arange() \\
Make an Array with zeros(), ones(), or random() \\
Change an Array's Shape with reshape() \\
Get an Element with [] \\
Array Math \\
Linear Algebra \\
The SciPy Library \\
The SciKit Library \\
The IPython Library \\
A Better Interpreter \\
IPython Notebook \\
Pandas \\
Python and Scientific Areas \\
D. Install Python 3 \\
Install Standard Python \\
Mac OS X \\
Windows \\
Linux or Unix \\
Install Anaconda \\
Install and Use pip and virtualenv \\
Install and Use conda \\
E. Answers to Exercises \\
Chapter 1, \\
Chapter 2, \\
Chapter 3, \\
Chapter 4, \\
Chapter 5, \\
Chapter 6, \\
Chapter 7, \\
Chapter 8, \\
Chapter 9, \\
Chapter 10, \\
Chapter 11, \\
F. Cheat Sheets \\
Operator Precedence \\
String Methods \\
Change Case \\
Search \\
Modify \\
Format \\
String Type \\
String Module Attributes \\
Fin \\
Index \\
Colophon",
}
@Book{Lutz:2014:PPR,
author = "Mark Lutz",
title = "{Python} pocket reference",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Fifth",
pages = "vii + 254",
year = "2014",
ISBN = "1-4493-5701-6 (paperback)",
ISBN-13 = "978-1-4493-5701-6 (paperback)",
LCCN = "QA76.73.P98 L89 2014",
bibdate = "Sat Oct 24 07:10:28 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "Updated for both Python 3.4 and 2.7, this guide
provides concise information on Python types and
statements, special method names, built-in functions
and exceptions, commonly used standard library modules,
and other prominent Python tools.",
acknowledgement = ack-nhfb,
remark = "Previous edition: 2010.",
subject = "Python (Computer program language)",
tableofcontents = "1. Python Pocket Reference \\
Introduction \\
Book Conventions \\
Python Command-Line Usage \\
Python Command Options \\
Command-Line Program Specification \\
Python 2.X Command Options \\
Python Environment Variables \\
Operational Variables \\
Python Command Option Variables \\
Python Windows Launcher Usage \\
Launcher File Directives \\
Launcher Command Lines \\
Launcher Environment Variables \\
Built-in Types and Operators \\
Operators and Precedence \\
Atomic terms and dynamic typing \\
Operator Usage Notes \\
Operations by Category \\
Sequence Operation Notes \\
Specific Built-in Types \\
Numbers \\
Literals and creation \\
Operations \\
Decimal and fraction \\
Other numeric types \\
Strings \\
Literals and creation \\
Operations \\
String formatting \\
String formatting expression \\
Formatting expression syntax \\
String formatting method \\
Formatting method syntax \\
Template string substitution \\
String methods \\
byte and bytearray methods \\
Searching methods \\
Splitting and joining methods \\
Formatting methods \\
Content test methods \\
The original string module \\
Unicode Strings \\
Unicode support in Python 3.X \\
byte and bytearray strings \\
Unicode support in Python 2.X \\
Lists \\
Literals and creation \\
Operations \\
List comprehension expressions \\
The iteration protocol \\
Generator expressions \\
Other comprehension expressions \\
Dictionaries \\
Literals and creation \\
Operations \\
Tuples \\
Literals and creation \\
Operations \\
Files \\
Input files \\
Output files \\
Any files \\
Other file attributes (some read-only) \\
File context managers \\
File usage notes \\
Sets \\
Literals and creation \\
Operations \\
Other Types and Conversions \\
Boolean \\
Type Conversions \\
Statements and Syntax \\
Syntax Rules \\
Name Rules \\
Name format \\
Name conventions \\
Specific Statements \\
The Assignment Statement \\
Augmented assignment \\
Normal sequence assignment \\
Extended sequence assignment (3.X) \\
The Expression Statement \\
Call syntax \\
Arbitrary arguments call syntax \\
The print Statement \\
Python 2.X print statements \\
The if Statement \\
The while Statement \\
The for Statement \\
The pass Statement \\
The break Statement \\
The continue Statement \\
The del Statement \\
The def Statement \\
Python 3.X keyword-only arguments \\
Python 3.X function annotations \\
lambda expressions \\
Function defaults and attributes \\
Function and method decorators \\
The return Statement \\
The yield Statement \\
Generator function changes in Python 3.3 \\
The global Statement \\
The nonlocal Statement \\
The import Statement \\
Package imports \\
Python 3.3 namespace packages \\
Import algorithm \\
The from Statement \\
Package relative import syntax \\
The class Statement \\
Class decorators in Python 3.X, 2.6, and 2.7 \\
Metaclasses \\
The try Statement \\
Python 2.X try statement forms \\
The raise Statement \\
Python 3.X chained exceptions \\
Class exceptions \\
Python 2.X raise statement forms \\
The assert Statement \\
The with Statement \\
Multiple context managers in Python 3.1 and 2.7 \\
Context manager protocol \\
Python 2.X Statements \\
Namespace and Scope Rules \\
Qualified Names: Object Namespaces \\
Unqualified Names: Lexical Scopes \\
Nested Scopes and Closures \\
Enclosing scopes and defaults \\
Object-Oriented Programming \\
Classes and Instances \\
Class objects provide default behavior \\
Instance objects are generated from classes \\
Inheritance rules \\
Pseudoprivate Attributes \\
Module privates \\
Class privates \\
New-Style Classes \\
Formal Inheritance Rules \\
Classic classes: DFLR \\
New-style classes: MRO \\
Example: nondiamonds \\
Example: diamonds \\
New-style inheritance algorithm \\
New-style precedence and context \\
Operator Overloading Methods \\
Methods for All Types \\
Methods for Collections (Sequences, Mappings) \\
Methods for Numbers (Binary Operators) \\
Basic binary methods \\
Right-side binary methods \\
Augmented binary methods \\
Methods for Numbers (Other Operations) \\
Methods for Descriptors \\
Methods for Context Managers \\
Python 2.X Operator Overloading Methods \\
Methods in Python 3.X only \\
Methods in Python 2.X only \\
Built-in Functions \\
Python 2.X Built-in Functions \\
Python 3.X built-ins not supported by Python 2.X \\
Python 2.X built-ins not supported by Python 3.X \\
Built-in Exceptions \\
Superclasses: Categories \\
Specific Exceptions \\
Specific OSError Exceptions \\
Warning Category Exceptions \\
Warnings Framework \\
Python 3.2 Built-in Exceptions \\
Python 2.X Built-in Exceptions \\
Built-in Attributes \\
Standard Library Modules \\
The sys Module \\
The string Module \\
Functions and Classes \\
Constants \\
The os System Module \\
Administrative Tools \\
Portability Constants \\
Shell Commands \\
Environment Tools \\
File Descriptor Tools \\
File Pathname Tools \\
Process Control \\
The os.path Module \\
The re Pattern-Matching Module \\
Module Functions \\
Regular Expression Objects \\
Match Objects \\
Pattern Syntax \\
Object Persistence Modules \\
The shelve and dbm Modules \\
File opens \\
File operations \\
The pickle Module \\
Pickling interfaces \\
Unpickling interfaces \\
pickle usage notes \\
The tkinter GUI Module and Tools \\
tkinter Example \\
tkinter Core Widgets \\
Common Dialog Calls \\
Module tkinter.messagebox (tkMessageBox in Python 2.X)
\\
Module tkinter.simpledialog (tkSimpleDialog in Python
2.X) \\
Module tkinter.colorchooser (tkColorChooser in Python
2.X) \\
Module tkinter.filedialog (tkFileDialog in Python 2.X)
\\
Additional tkinter Classes and Tools \\
Tcl/Tk-to-Python/tkinter Mappings \\
Internet Modules and Tools \\
Other Standard Library Modules \\
The math Module \\
The time Module \\
The timeit Module \\
The datetime Module \\
The random Module \\
The json Module \\
The subprocess Module \\
The enum Module \\
The struct Module \\
Threading Modules \\
Python SQL Database API \\
API Usage Example \\
Module Interface \\
Connection Objects \\
Cursor Objects \\
Type Objects and Constructors \\
More Hints and Idioms \\
Core Language Hints \\
Environment Hints \\
Usage Hints \\
Assorted Hints \\
Index \\
Copyright",
}
@Book{Miller:2014:MTP,
author = "Thomas Miller",
title = "Modeling techniques in predictive analytics with
{Python} and {R}: a guide to data science",
publisher = "Pearson Education",
address = "Upper Saddle River, NJ",
pages = "xviii + 418",
year = "2014",
ISBN = "0-13-389206-9 (hardcover), 0-13-389212-3",
ISBN-13 = "978-0-13-389206-2 (hardcover), 978-0-13-389212-3",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 06:37:49 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
Figures \\
Tables \\
Exhibits \\
1. Analytics and Data Science \\
2. Advertising and Promotion \\
3. Preference and Choice \\
4. Market Basket Analysis \\
5. Economic Data Analysis \\
6. Operations Management \\
7. Text Analytics \\
8. Sentiment Analysis \\
9. Sports Analytics \\
10. Spatial Data Analysis \\
11. Brand and Price \\
12. The Big Little Data Game \\
A. Data Science Methods \\
A.1 Databases and Data Preparation \\
A.2 Classical and Bayesian Statistics \\
A.3 Regression and Classification \\
A.4 Machine Learning \\
A.5 Web and Social Network Analysis \\
A.6 Recommender Systems \\
A.7 Product Positioning \\
A.8 Market Segmentation \\
A.9 Site Selection \\
A.10 Financial Data Science \\
B. Measurement \\
C. Case Studies \\
C.1 Return of the Bobbleheads \\
C.2 DriveTime Sedans \\
C.3 Two Month s Salary \\
C.4 Wisconsin Dells \\
C.5 Computer Choice Study \\
D. Code and Utilities \\
Bibliography \\
Index",
}
@Book{Mueller:2014:BPP,
author = "John Mueller",
title = "Beginning programming with Python for dummies",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xiv + 382",
year = "2014",
ISBN = "1-118-89145-7 (paperback), 1-118-89147-3 (e-book),
1-118-89149-X (ePDF)",
ISBN-13 = "978-1-118-89145-2 (paperback), 978-1-118-89147-6
(e-book), 978-1-118-89149-0 (ePDF)",
LCCN = "QA76.73.P98 M839 2014",
bibdate = "Sat Oct 24 06:34:31 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.dummies.com/how-to/content/beginning-python-for-dummies-cheat-sheet.html;
http://www.loc.gov/catdir/enhancements/fy1513/2014935516-b.html;
http://www.loc.gov/catdir/enhancements/fy1513/2014935516-t.html",
abstract = "Make sense of Python --- and get in the programming
game. This guide takes you step-by-step through the
syntax and logic of Python, and provides you with
plenty of real-world examples along the way.",
acknowledgement = ack-nhfb,
author-dates = "1958--",
subject = "Python (Computer program language); Computer
programming; Computer programming",
tableofcontents = "Introduction \\
About This Book \\
Foolish Assumptions \\
Icons Used in This Book \\
Beyond the Book \\
Where to Go from Here \\
Part I: Getting Started with Python \\
Chapter 1: Talking to Your Computer \\
Understanding Why You Want to Talk to Your Computer \\
Knowing that an Application is a Form of Communication
\\
Thinking about procedures you use daily \\
Writing procedures down \\
Seeing applications as being like any other procedure
\\
Understanding that computers take things literally \\
Defining What an Application Is \\
Understanding that computers use a special language \\
Helping humans speak to the computer \\
Understanding Why Python is So Cool \\
Unearthing the reasons for using Python \\
Deciding how you can personally benefit from Python \\
Discovering which organizations use Python \\
Finding useful Python applications \\
Comparing Python to other languages \\
Chapter 2: Getting Your Own Copy of Python \\
Downloading the Version You Need \\
Installing Python \\
Working with Windows \\
Working with the Mac \\
Working with Linux \\
Accessing Python on Your Machine \\
Using Windows \\
Using the Mac \\
Using Linux \\
Testing Your Installation \\
Chapter 3: Interacting with Python \\
Opening the Command Line \\
Starting Python \\
Using the command line to your advantage \\
Using Python environment variables to your advantage
\\
Typing a Command \\
Telling the computer what to do \\
Telling the computer you're done \\
Seeing the result \\
Using Help \\
Getting into help mode \\
Asking for help \\
Leaving help mode \\
Obtaining help directly \\
Closing the Command Line \\
Chapter 4: Writing Your First Application \\
Understanding the Integrated DeveLopment Environment
(IDLE) \\
Starting IDLE \\
Using standard commands \\
Understanding color coding \\
Getting GUI help \\
Configuring IDLE \\
Creating the Application \\
Opening a new window \\
Typing the command \\
Saving the file \\
Running the Application \\
Understanding the Use of Indentation \\
Adding Comments \\
Understanding comments \\
Using comments to leave yourself reminders \\
Using comments to keep code from executing \\
Loading and Running Existing Applications \\
Using the command line or terminal window \\
Using the Edit window \\
Using the Python Shell window or Python command line
\\
Closing IDLE \\
Part II: Talking the Talk \\
Chapter 5: Storing and Modifying Information \\
Storing Information \\
Seeing variables as storage boxes \\
Using the right box to store the data \\
Defining the Essential Python Data Types \\
Putting information into variables \\
Understanding the numeric types \\
Understanding Boolean values \\
Understanding strings \\
Working with Dates and Times \\
Chapter 6: Managing Information \\
Controlling How Python Views Data \\
Making comparisons \\
Understanding how computers make comparisons \\
Working with Operators \\
Defining the operators \\
Understanding operator precedence \\
Creating and Using Functions \\
Viewing functions as code packages \\
Understanding code reusability \\
Defining a function \\
Accessing functions \\
Sending information to functions \\
Returning information from functions \\
Comparing function output \\
Getting User Input \\
Chapter 7: Making Decisions \\
Making Simple Decisions Using the if Statement \\
Understanding the if statement \\
Using the if statement in an application \\
Choosing Alternatives Using the if\ldots{}else
Statement \\
Understanding the if\ldots{}else statement \\
Using the if\ldots{}else statement in an application \\
Using the if\ldots{}elif statement in an application \\
Using Nested Decision Statements \\
Using multiple if or if\ldots{}else statements \\
Combining other types of decisions \\
Chapter 8: Performing Repetitive Tasks \\
Processing Data Using the for Statement \\
Understanding the for statement \\
Creating a basic for loop \\
Controlling execution with the break statement \\
Controlling execution with the continue statement \\
Controlling execution with the pass clause \\
Controlling execution with the else statement \\
Processing Data Using the while Statement \\
Understanding the while statement \\
Using the while statement in an application \\
Nesting Loop Statements \\
Chapter 9: Dealing with Errors \\
Knowing Why Python Doesn't Understand You \\
Considering the Sources of Errors \\
Classifying when errors occur \\
Distinguishing error types \\
Catching Exceptions \\
Basic exception handling \\
Handling more specific to less specific exceptions \\
Nested exception handling \\
Raising Exceptions \\
Raising exceptions during exceptional conditions \\
Passing error information to the caller \\
Creating and Using Custom Exceptions \\
Using the finally Clause \\
Part III: Performing Common Tasks \\
Chapter 10: Interacting with Modules \\
Creating Code Groupings \\
Importing Modules \\
Using the import statement \\
Using the from\ldots{}import statement \\
Finding Modules on Disk \\
Viewing the Module Content \\
Using the Python Module Documentation \\
Opening the pydoc application \\
Using the quick-access links \\
Typing a search term \\
Viewing the results \\
Chapter 11: Working with Strings \\
Understanding That Strings Are Different \\
Defining a character using numbers \\
Using characters to create strings \\
Creating Stings with Special Characters \\
Selecting Individual Characters \\
Slicing and Dicing Strings \\
Locating a Value in a String \\
Formatting Strings \\
Chapter 12: Managing Lists \\
Organizing Information in an Application \\
Defining organization using lists \\
Understanding how computers view lists \\
Creating Lists \\
Accessing Lists \\
Looping through Lists \\
Modifying Lists \\
Searching Lists \\
Sorting Lists \\
Working with the Counter Object \\
Chapter 13: Collecting All Sorts of Data \\
Understanding Collections \\
Working with Tuples \\
Working with Dictionaries \\
Creating and using a dictionary \\
Replacing the switch statement with a dictionary \\
Creating Stacks Using Lists \\
Working with queues \\
Working with deques \\
Chapter 14: Creating and Using Classes \\
Understanding the Class as a Packaging Method \\
Considering the Parts of a Class \\
Creating the class definition \\
Considering the built-in class attributes \\
Working with methods \\
Working with constructors \\
Working with variables \\
Using methods with variable argument lists \\
Overloading operators \\
Creating a Class \\
Using the Class in an Application \\
Extending Classes to Make New Classes \\
Building the child class \\
Testing the class in an application \\
Part IV: Performing Advanced Tasks \\
Chapter 15: Storing Data in Files \\
Understanding How Permanent Storage Works \\
Creating Content for Permanent Storage \\
Creating a File \\
Reading File Content \\
Updating File Content \\
Deleting a File \\
Chapter 16: Sending an E-Mail \\
Understanding What Happens When You Send E-mail \\
Viewing e-mail as you do a letter \\
Defining the parts of the envelope \\
Defining the parts of the letter \\
Creating the E-mail Message \\
Working with a text message \\
Working with an HTML message \\
Seeing the E-mail Output \\
Part V: The Part of Tens \\
Chapter 17: Ten Amazing Programming Resources \\
Working with the Python Documentation Online \\
Using the LearnPython.org Tutorial \\
Performing Web Programming Using Python \\
Getting Additional Libraries \\
Creating Applications Faster Using an IDE \\
Checking Your Syntax with Greater Ease \\
Using XML to Your Advantage \\
Getting Past the Common Python Newbie Errors \\
Understanding Unicode \\
Making Your Python Application Fast \\
Chapter 18: Ten Ways to Make a Living with Python \\
Working in QA \\
Becoming the IT Staff for a Smaller Organization \\
Performing Specialty Scripting for Applications \\
Administering a Network \\
Teaching Programming Skills \\
Helping People Decide on Location \\
Performing Data Mining \\
Interacting with Embedded Systems \\
Carrying Out Scientific Tasks \\
Performing Real-Time Analysis of Data \\
Chapter 19: Ten Interesting Tools \\
Tracking Bugs with Roundup Issue Tracker \\
Creating a Virtual Environment Using VirtualEnv \\
Installing Your Application Using PyInstaller \\
Building Developer Documentation Using pdoc \\
Developing Application Code Using Komodo Edit \\
Debugging Your Application Using pydbgr \\
Entering an Interactive Environment Using IPython \\
Testing Python Applications Using PyUnit \\
Tidying Your Code Using Isort \\
Providing Version Control Using Mercurial \\
Chapter 20: Ten Libraries You Need to Know About \\
Developing a Secure Environment Using PyCrypto \\
Interacting with Databases Using SQLAlchemy \\
Seeing the World Using Google Maps \\
Adding a Graphical User Interface Using TkInter \\
Providing a Nice Tabular Data Presentation Using
PrettyTable \\
Enhancing Your Application with Sound Using PyAudio \\
Manipulating Images Using PyQtGraph \\
Locating Your Information Using IRLib \\
Creating an Interoperable Java Environment Using JPype
\\
Accessing Local Network Resources Using Twisted Matrix
\\
Accessing Internet Resources Using Libraries \\
About the Author \\
Cheat Sheet",
}
@Article{Muller:2014:SAP,
author = "Stefan C. Muller and Gustavo Alonso and Andre
Csillaghy",
title = "Scaling Astroinformatics: {Python} + Automatic
Parallelization",
journal = j-COMPUTER,
volume = "47",
number = "9",
pages = "41--47",
month = sep,
year = "2014",
CODEN = "CPTRB4",
DOI = "https://doi.org/10.1109/MC.2014.262",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Fri Feb 13 11:56:29 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/csdl/mags/co/2014/09/mco2014090041-abs.html",
abstract-URL = "http://csdl.computer.org/csdl/mags/co/2014/09/mco2014090041-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/computer",
}
@Article{Mushtaq:2014:ACG,
author = "Asif Mushtaq and K{\aa}re Olaussen",
title = "Automatic code generator for higher order
integrators",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "5",
pages = "1461--1472",
month = may,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Mar 14 17:14:22 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465514000253",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
keywords = "Hamilton's equation; Python; symplectic integration",
}
@Book{Nair:2014:GSB,
author = "Vineeth G. Nair",
title = "Getting Started with Beautiful Soup: build your own
web scraper and learn all about web scraping with
Beautiful Soup",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2014",
ISBN = "1-78328-956-2, 1-78328-955-4, 1-4619-5720-6 (e-book),
1-306-40146-1 (e-book)",
ISBN-13 = "978-1-78328-956-1, 978-1-78328-955-4,
978-1-4619-5720-1 (e-book), 978-1-306-40146-3
(e-book)",
LCCN = "QA76.9.D343",
bibdate = "Wed Oct 14 07:37:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.tech.safaribooksonline.de/9781783289554",
abstract = "This book is a practical, hands-on guide that takes
you through the techniques of web scraping using
Beautiful Soup. Getting Started with Beautiful Soup is
great for anybody who is interested in website scraping
and extracting information. However, a basic knowledge
of Python, HTML tags, and CSS is required for better
understanding.",
acknowledgement = ack-nhfb,
subject = "Data mining; COMPUTERS; Programming Languages.;
General.; Data mining.",
}
@Article{Ortin:2014:SDL,
author = "Francisco Ortin and Sheila Mendez and Vicente
Garc{\'\i}a-D{\'\i}az and Miguel Garcia",
title = "On the suitability of dynamic languages for
hot-reprogramming a robotics framework: a {Python} case
study",
journal = j-SPE,
volume = "44",
number = "1",
pages = "77--104",
month = jan,
year = "2014",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.2162",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Thu Jan 23 06:00:37 MST 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
acknowledgement = ack-nhfb,
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "15 Oct 2012",
}
@Article{Oxvig:2014:PMP,
author = "Christian Oxvig and Patrick Pedersen and Thomas
Arildsen and Jan {\O}stergaard and Torben Larsen",
title = "\pkg{Magni}: a {Python} Package for Compressive
Sampling and Reconstruction of Atomic Force Microscopy
Images",
journal = j-J-OPEN-RES-SOFT,
volume = "2",
number = "1",
pages = "e29--??",
day = "07",
month = oct,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.bk",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:49 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.bk/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Book{Palach:2014:PPP,
author = "Jan Palach",
title = "Parallel programming with {Python} develop efficient
parallel systems using the robust {Python}
environment",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2014",
ISBN = "1-78328-839-6, 1-78328-840-X (e-book)",
ISBN-13 = "978-1-78328-839-7, 978-1-78328-840-3 (e-book)",
LCCN = "QA76.642",
bibdate = "Sat Oct 24 06:48:20 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.tech.safaribooksonline.de/9781783288397",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Contextualizing Parallel, Concurrent, and
Distributed Programming \\
Why use parallel programming? \\
Exploring common forms of parallelization \\
Communicating in parallel programming \\
Understanding shared state \\
Understanding message passing \\
Identifying parallel programming problems \\
Deadlock \\
Starvation \\
Race conditions \\
Discovering Python's parallel programming tools \\
The Python threading module \\
The Python multiprocessing module \\
The parallel Python module \\
Celery --- a distributed task queue \\
Taking care of Python GIL \\
Summary \\
2. Designing Parallel Algorithms \\
The divide and conquer technique \\
Using data decomposition \\
Decomposing tasks with pipeline \\
Processing and mapping \\
Identifying independent tasks \\
Identifying the tasks that require data exchange \\
Load balance \\
Summary \\
3. Identifying a Parallelizable Problem \\
Obtaining the highest Fibonacci value for multiple
inputs \\
Crawling the Web \\
Summary \\
4. Using the threading and concurrent.futures Modules
\\
Defining threads \\
Advantages and disadvantages of using threads \\
Understanding different kinds of threads \\
Defining the states of a thread \\
Choosing between threading and _thread \\
Using threading to obtain the Fibonacci series term
with multiple inputs \\
Crawling the Web using the concurrent.futures module
\\
Summary \\
5. Using Multiprocessing and ProcessPoolExecutor \\
Understanding the concept of a process \\
Understanding the process model \\
Defining the states of a process \\
Implementing multiprocessing communication \\
Using multiprocessing.Pipe \\
Understanding multiprocessing.Queue \\
Using multiprocessing to compute Fibonacci series terms
with multiple inputs \\
Crawling the Web using ProcessPoolExecutor \\
Summary \\
6. Utilizing Parallel Python \\
Understanding interprocess communication \\
Exploring named pipes \\
Using named pipes with Python \\
Writing in a named pipe \\
Reading named pipes \\
Discovering PP \\
Using PP to calculate the Fibonacci series term on SMP
architecture \\
Using PP to make a distributed Web crawler \\
Summary \\
7. Distributing Tasks with Celery \\
Understanding Celery \\
Why use Celery? \\
Understanding Celery's architecture \\
Working with tasks \\
Discovering message transport (broker) \\
Understanding workers \\
Understanding result backends \\
Setting up the environment \\
Setting up the client machine \\
Setting up the server machine \\
Dispatching a simple task \\
Using Celery to obtain a Fibonacci series term \\
Defining queues by task types \\
Using Celery to make a distributed Web crawler \\
Summary \\
8. Doing Things Asynchronously \\
Understanding blocking, nonblocking, and asynchronous
operations \\
Understanding blocking operations \\
Understanding nonblocking operations \\
Understanding asynchronous operations \\
Understanding event loop \\
Polling functions \\
Using event loops \\
Using asyncio \\
Understanding coroutines and futures \\
Using coroutine and asyncio.Future \\
Using asyncio.Task \\
Using an incompatible library with asyncio \\
Summary \\
Index",
}
@Book{Percival:2014:TDD,
author = "Harry Percival",
title = "Test-driven development with {Python}",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xxviii + 449",
year = "2014",
ISBN = "1-4493-6482-9 (paperback)",
ISBN-13 = "978-1-4493-6482-3 (paperback)",
LCCN = "QA76.73.P98 P46 2014",
bibdate = "Sat Oct 24 06:45:21 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Application
software; Development; Web site development;
Object-oriented programming (Computer science);
Development.",
tableofcontents = "Getting Django set up using a functional test \\
Extending our functional test using the unittest module
\\
Testing a simple home page with unit tests \\
What are we doing with all these tests? \\
Saving user input \\
Getting to the minimum viable site \\
Prettification : layout and styling, and what to test
about it \\
Testing deployment using a staging site \\
Automating deployment with fabric \\
Input validation and test organisation \\
A simple form \\
More advanced forms \\
Dipping our toes, very tentatively, into JavaScript \\
Deploying our new code \\
User authentication, integrating third-party plugins,
and mocking with JavaScript \\
Server-side authentication and mocking in Python \\
Test fixtures, logging, and server-side debugging \\
Finishing ``my lists'' : outside-in TDD \\
Test isolation, and ``listening to your tests'' \\
Continuous integration (CI) \\
The token social bit, the page pattern, and an exercise
for the reader \\
Fast tests, slow tests, and hot lava \\
Obey the testing goat! \\
Appendix A: PythonAnywhere \\
Appendix B: Django class-based views \\
Appendix C: Provisioning with ansible \\
Appendix D: Testing database migrations \\
Appendix E: What to do next \\
Appendix F: Cheat sheet",
}
@Book{Perkins:2014:PTP,
author = "Jacob Perkins",
title = "{Python 3} text processing with {NLTK 3} cookbook:
over 80 practical recipes on natural language
processing techniques using {Python}'s {NLKT 3.0}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
edition = "Second",
pages = "iii + 288",
year = "2014",
ISBN = "1-78216-785-4, 1-78216-786-2 (e-book)",
ISBN-13 = "978-1-78216-785-3, 978-1-78216-786-0 (e-book)",
LCCN = "QA76.73.P98 P43 2014",
bibdate = "Sat Oct 24 06:30:51 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
author-dates = "1982--",
subject = "Python (Computer program language); Text processing
(Computer science); Natural language processing
(Computer science)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Tokenizing Text and WordNet Basics \\
Introduction \\
Tokenizing text into sentences \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Tokenizing sentences in other languages \\
See also \\
Tokenizing sentences into words \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Separating contractions \\
PunktWordTokenizer \\
WordPunctTokenizer \\
See also \\
Tokenizing sentences using regular expressions \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Simple whitespace tokenizer \\
See also \\
Training a sentence tokenizer \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Filtering stopwords in a tokenized sentence \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Looking up Synsets for a word in WordNet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Working with hypernyms \\
Part of speech (POS) \\
See also \\
Looking up lemmas and synonyms in WordNet \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
All possible synonyms \\
Antonyms \\
See also \\
Calculating WordNet Synset similarity \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Comparing verbs \\
Path and Leacock Chordorow (LCH) similarity \\
See also \\
Discovering word collocations \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Scoring functions \\
Scoring ngrams \\
See also \\
2. Replacing and Correcting Words \\
Introduction \\
Stemming words \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The LancasterStemmer class \\
The RegexpStemmer class \\
The SnowballStemmer class \\
See also \\
Lemmatizing words with WordNet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Combining stemming with lemmatization \\
See also \\
Replacing words matching regular expressions \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Replacement before tokenization \\
See also \\
Removing repeating characters \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Spelling correction with Enchant \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The en_GB dictionary \\
Personal word lists \\
See also \\
Replacing synonyms \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
CSV synonym replacement \\
YAML synonym replacement \\
See also \\
Replacing negations with antonyms \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
3. Creating Custom Corpora \\
Introduction \\
Setting up a custom corpus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Loading a YAML file \\
See also \\
Creating a wordlist corpus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Names wordlist corpus \\
English words corpus \\
See also \\
Creating a part-of-speech tagged word corpus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Customizing the word tokenizer \\
Customizing the sentence tokenizer \\
Customizing the paragraph block reader \\
Customizing the tag separator \\
Converting tags to a universal tagset \\
See also \\
Creating a chunked phrase corpus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Tree leaves \\
Treebank chunk corpus \\
CoNLL2000 corpus \\
See also \\
Creating a categorized text corpus \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Category file \\
Categorized tagged corpus reader \\
Categorized corpora \\
See also \\
Creating a categorized chunk corpus reader \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Categorized CoNLL chunk corpus reader \\
See also \\
Lazy corpus loading \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Creating a custom corpus view \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Block reader functions \\
Pickle corpus view \\
Concatenated corpus view \\
See also \\
Creating a MongoDB-backed corpus reader \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Corpus editing with file locking \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
4. Part-of-speech Tagging \\
Introduction \\
Default tagging \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Evaluating accuracy \\
Tagging sentences \\
Untagging a tagged sentence \\
See also \\
Training a unigram part-of-speech tagger \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Overriding the context model \\
Minimum frequency cutoff \\
See also \\
Combining taggers with backoff tagging \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Saving and loading a trained tagger with pickle \\
See also \\
Training and combining ngram taggers \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Quadgram tagger \\
See also \\
Creating a model of likely word tags \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Tagging with regular expressions \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Affix tagging \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Working with min_stem_length \\
See also \\
Training a Brill tagger \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Tracing \\
See also \\
Training the TnT tagger \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Controlling the beam search \\
Significance of capitalization \\
See also \\
Using WordNet for tagging \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Tagging proper names \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Classifier-based tagging \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Detecting features with a custom feature detector \\
Setting a cutoff probability \\
Using a pre-trained classifier \\
See also \\
Training a tagger with NLTK-Trainer \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Saving a pickled tagger \\
Training on a custom corpus \\
Training with universal tags \\
Analyzing a tagger against a tagged corpus \\
Analyzing a tagged corpus \\
See also \\
5. Extracting Chunks \\
Introduction \\
Chunking and chinking with regular expressions \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Parsing different chunk types \\
Parsing alternative patterns \\
Chunk rule with context \\
See also \\
Merging and splitting chunks with regular expressions
\\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Specifying rule descriptions \\
See also \\
Expanding and removing chunks with regular expressions
\\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Partial parsing with regular expressions \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The ChunkScore metrics \\
Looping and tracing chunk rules \\
See also \\
Training a tagger-based chunker \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using different taggers \\
See also \\
Classification-based chunking \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using a different classifier builder \\
See also \\
Extracting named entities \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Binary named entity extraction \\
See also \\
Extracting proper noun chunks \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Extracting location chunks \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Training a named entity chunker \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Training a chunker with NLTK-Trainer \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Saving a pickled chunker \\
Training a named entity chunker \\
Training on a custom corpus \\
Training on parse trees \\
Analyzing a chunker against a chunked corpus \\
Analyzing a chunked corpus \\
See also \\
6. Transforming Chunks and Trees \\
Introduction \\
Filtering insignificant words from a sentence \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Correcting verb forms \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Swapping verb phrases \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Swapping noun cardinals \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Swapping infinitive phrases \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Singularizing plural nouns \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Chaining chunk transformations \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Converting a chunk tree to text \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Flattening a deep tree \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The cess_esp and cess_cat treebank \\
See also \\
Creating a shallow tree \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Converting tree labels \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
7. Text Classification \\
Introduction \\
Bag of words feature extraction \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Filtering stopwords \\
Including significant bigrams \\
See also \\
Training a Naive Bayes classifier \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Classification probability \\
Most informative features \\
Training estimator \\
Manual training \\
See also \\
Training a decision tree classifier \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Controlling uncertainty with entropy_cutoff \\
Controlling tree depth with depth_cutoff \\
Controlling decisions with support_cutoff \\
See also \\
Training a maximum entropy classifier \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Megam algorithm \\
See also \\
Training scikit-learn classifiers \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Comparing Naive Bayes algorithms \\
Training with logistic regression \\
Training with LinearSVC \\
See also \\
Measuring precision and recall of a classifier \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
F-measure \\
See also \\
Calculating high information words \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The MaxentClassifier class with high information words
\\
The DecisionTreeClassifier class with high information
words \\
The SklearnClassifier class with high information words
\\
See also \\
Combining classifiers with voting \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Classifying with multiple binary classifiers \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Training a classifier with NLTK-Trainer \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Saving a pickled classifier \\
Using different training instances \\
The most informative features \\
The Maxent and LogisticRegression classifiers \\
SVMs \\
Combining classifiers \\
High information words and bigrams \\
Cross-fold validation \\
Analyzing a classifier \\
See also \\
8. Distributed Processing and Handling Large Datasets
\\
Introduction \\
Distributed tagging with execnet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Creating multiple channels \\
Local versus remote gateways \\
See also \\
Distributed chunking with execnet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Python subprocesses \\
See also \\
Parallel list processing with execnet \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Storing a frequency distribution in Redis \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Storing a conditional frequency distribution in Redis
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Storing an ordered dictionary in Redis \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Distributed word scoring with Redis and execnet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
9. Parsing Specific Data Types \\
Introduction \\
Parsing dates and times with dateutil \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Timezone lookup and conversion \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Local timezone \\
Custom offsets \\
See also \\
Extracting URLs from HTML with lxml \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Extracting links directly \\
Parsing HTML from URLs or files \\
Extracting links with XPaths \\
See also \\
Cleaning and stripping HTML \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Converting HTML entities with BeautifulSoup \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Extracting URLs with BeautifulSoup \\
See also \\
Detecting and converting character encodings \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Converting to ASCII \\
UnicodeDammit conversion \\
See also \\
A. Penn Treebank Part-of-speech Tags \\
Index",
}
@Article{Ragan-Kelley:2014:OPP,
author = "Benjamin Ragan-Kelley and John P. Verboncoeur and
Ming-Chieh Lin",
title = "Optimizing physical parameters in {$1$-D}
particle-in-cell simulations with {Python}",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "10",
pages = "2487--2494",
month = oct,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Aug 16 08:37:41 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465514001994",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Book{Rhodes:2014:FPN,
author = "Brandon Rhodes and John Goerzen",
title = "Foundations of {Python} network programming",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Third",
pages = "xxi + 388",
year = "2014",
ISBN = "1-4302-5854-3 (paperback), 1-4302-5855-1 (e-book)",
ISBN-13 = "978-1-4302-5854-4 (paperback), 978-1-4302-5855-1
(e-book)",
LCCN = "QA76.73.P98 R48 2014",
bibdate = "Sat Oct 24 06:26:55 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/enhancements/fy1603/2015458068-b.html;
http://www.loc.gov/catdir/enhancements/fy1603/2015458068-d.html;
http://www.loc.gov/catdir/enhancements/fy1603/2015458068-t.html",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "About the Authors \\
About the Technical Reviewers \\
Acknowledgments \\
Introduction \\
Chapter 1: Introduction to Client-Server Networking \\
The Building Blocks: Stacks and Libraries \\
Application Layers \\
Speaking a Protocol \\
A Raw Network Conversation \\
Turtles All the Way Down \\
Encoding and Decoding \\
The Internet Protocol \\
IP Addresses \\
Routing \\
Packet Fragmentation \\
Learning More About IP \\
Summary \\
Chapter 2: UDP \\
Port Numbers \\
Sockets \\
Promiscuous Clients and Unwelcome Replies \\
Unreliability, Backoff, Blocking, and Timeouts \\
Connecting UDP Sockets \\
Request IDs: a Good Idea \\
Binding to Interfaces \\
UDP Fragmentation \\
Socket Options \\
Broadcast \\
When to Use UDP \\
Summary \\
Chapter 3: TCP \\
How TCP Works \\
When to Use TCP \\
What TCP Sockets Mean \\
A Simple TCP Client and Server \\
One Socket per Conversation \\
Address Already in Use \\
Binding to Interfaces \\
Deadlock \\
Closed Connections, Half-Open Connections \\
Using TCP Streams Like Files \\
Summary \\
Chapter 4: Socket Names and DNS \\
Hostnames and Sockets \\
Five Socket Coordinates \\
IPv6 \\
Modern Address Resolution \\
Using getaddrinfo() to Bind Your Server to a Port \\
Using getaddrinfo() to Connect to a Service \\
Asking getaddrinfo() for a Canonical Hostname \\
Other getaddrinfo() Flags \\
Primitive Name Service Routines \\
Using getsockaddr() in Your Own Code \\
The DNS Protocol \\
Why Not to Use Raw DNS \\
Making a DNS Query from Python \\
Resolving Mail Domains \\
Summary \\
Chapter 5: Network Data and Network Errors \\
Bytes and Strings \\
Character Strings \\
Binary Numbers and Network Byte Order \\
Framing and Quoting \\
Pickles and Self-delimiting Formats \\
XML and JSON \\
Compression \\
Network Exceptions \\
Raising More Specific Exceptions \\
Catching and Reporting Network Exceptions \\
Summary \\
Chapter 6: TLS/SSL \\
What TLS Fails to Protect \\
What Could Possibly Go Wrong? \\
Generating Certificates \\
Offloading TLS \\
Python 3.4 Default Contexts \\
Variations on Socket Wrapping \\
Hand-Picked Ciphers and Perfect Forward Security \\
Protocol Support for TLS \\
Learning Details \\
Summary \\
Chapter 7: Server Architecture \\
A Few Words About Deployment \\
A Simple Protocol \\
A Single-Threaded Server \\
Threaded and Multiprocess Servers \\
The Legacy SocketServer Framework \\
Async Servers \\
Callback-Style asyncio \\
Coroutine-Style asyncio \\
The Legacy Module asyncore \\
The Best of Both Worlds \\
Running Under inetd \\
Summary \\
Chapter 8: Caches and Message Queues \\
Using Memcached \\
Hashing and Sharding \\
Message Queues \\
Using Message Queues from Python \\
Summary \\
Chapter 9: HTTP Clients \\
Python Client Libraries \\
Ports, Encryption, and Framing \\
Methods \\
Paths and Hosts \\
Status Codes \\
Caching and Validation \\
Content Encoding \\
Content Negotiation \\
Content Type \\
HTTP Authentication \\
Cookies \\
Connections, Keep-Alive, and httplib \\
Summary \\
Chapter 10: HTTP Servers \\
WSGI \\
Asynchronous Server-Frameworks \\
Forward and Reverse Proxies \\
Four Architectures \\
Running Python Under Apache \\
The Rise of Pure-Python HTTP Servers \\
The Benefits of Reverse Proxies \\
Platforms as a Service \\
GET and POST Patterns and the Question of REST \\
WSGI Without a Framework \\
Summary \\
Chapter 11: The World Wide Web \\
Hypermedia and URLs \\
Parsing and Building URLs \\
Relative URLs \\
The Hypertext Markup Language \\
Reading and Writing to a Database \\
A Terrible Web Application (in Flask) \\
The Dance of Forms and HTTP Methods \\
When Forms Use Wrong Methods \\
Safe and Unsafe Cookies \\
Nonpersistent Cross-Site Scripting \\
Persistent Cross-Site Scripting \\
Cross-Site Request Forgery \\
The Improved Application \\
The Payments Application in Django \\
Choosing a Web Framework \\
WebSockets \\
Web Scraping \\
Fetching Pages \\
Scraping Pages \\
Recursive Scraping \\
Summary \\
Chapter 12: Building and Parsing E-Mail \\
E-Mail Message Format \\
Building an E-Mail Message \\
Adding HTML and Multimedia \\
Adding Content \\
Parsing E-Mail Messages \\
Walking MIME Parts \\
Header Encodings \\
Parsing Dates \\
Summary \\
Chapter 13: SMTP \\
E-mail Clients vs. Webmail Services \\
In the Beginning Was the Command Line \\
The Rise of Clients \\
The Move to Webmail \\
How SMTP Is Used \\
Sending E-Mail \\
Headers and the Envelope Recipient \\
Multiple Hops \\
Introducing the SMTP Library \\
Error Handling and Conversation Debugging \\
Getting Information fromEHLO \\
Using Secure Sockets Layer and Transport Layer Security
\\
Authenticated SMTP \\
SMTP Tips \\
Summary \\
Chapter 14: POP \\
POP Server Compatibility \\
Connecting and Authenticating \\
Obtaining Mailbox Information \\
Downloading and Deleting Messages \\
Summary \\
Chapter 15: IMAP \\
Understanding IMAP in Python \\
IMAPClient \\
Examining Folders \\
Message Numbers vs. UIDs \\
Message Ranges \\
Summary Information \\
Downloading an Entire Mailbox \\
Downloading Messages Individually \\
Flagging and Deleting Messages \\
Deleting Messages \\
Searching \\
Manipulating Folders and Messages \\
Asynchrony \\
Summary \\
Chapter 16: Telnet and SSH \\
Command-Line Automation \\
Command-Line Expansion and Quoting \\
Unix Command Arguments Can Include (Almost) Any
Character \\
Quoting Characters for Protection \\
The Terrible Windows Command Line \\
Things Are Different in a Terminal \\
Terminals Do Buffering \\
Telnet \\
SSH: The Secure Shell \\
An Overview of SSH \\
SSH Host Keys \\
SSH Authentication \\
Shell Sessions and Individual Commands \\
SFTP: File Transfer Over SSH \\
Other Features \\
Summary \\
Chapter 17: FTP \\
What to Use Instead of FTP \\
Communication Channels \\
Using FTP in Python \\
ASCII and Binary Files \\
Advanced Binary Downloading \\
Uploading Data \\
Advanced Binary Uploading \\
Handling Errors \\
Scanning Directories \\
Detecting Directories and Recursive Download \\
Creating Directories, Deleting Things \\
Doing FTP Securely \\
Summary \\
Chapter 18: RPC \\
Features of RPC \\
XML-RPC \\
JSON-RPC \\
Self-Documenting Data \\
Talking About Objects: Pyro and RPyC \\
An RPyC Example \\
RPC, Web Frameworks, and Message Queues \\
Recovering from Network Errors \\
Summary \\
Index",
}
@Book{Richardson:2014:BEL,
author = "Matt Richardson",
title = "{BeagleBone f{\"u}r Einsteiger: [Linux-basierte
Elektronik-Projekte mit Python und JavaScript]}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xii + 134",
year = "2014",
ISBN = "3-95561-409-3",
ISBN-13 = "978-3-95561-409-6",
LCCN = "????",
bibdate = "Thu Feb 26 14:22:56 MST 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/linux.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/unix.bib",
acknowledgement = ack-nhfb,
language = "German",
subject = "BeagleBone Black; BeagleBone; Digitalelektronik;
Hobbyelektronik; JavaScript; LINUX; Programmierung;
Python (Programmiersprache); Systemplattform",
}
@Book{Romero:2014:MPR,
author = "Victor Romero",
title = "Mastering {Python} regular expressions",
publisher = "Shroff Publishers",
address = "????",
year = "2014",
ISBN = "93-5110-550-4",
ISBN-13 = "978-93-5110-550-3",
LCCN = "????",
bibdate = "Wed Oct 14 08:00:43 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Book{Rossant:2014:IIC,
author = "Cyrille Rossant",
title = "{IPython} interactive computing and visualization
cookbook: over 100 hands-on recipes to sharpen your
skills in high-performance numerical computing and data
science with {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "v + 494",
year = "2014",
ISBN = "1-78328-481-1, 1-78328-482-X (e-book), 1-322-16622-6
(e-book)",
ISBN-13 = "978-1-78328-481-8, 978-1-78328-482-5 (e-book),
978-1-322-16622-3 (e-book)",
LCCN = "QA76.73.P98 R677 2014",
bibdate = "Sat Mar 21 07:16:36 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "IPython Interactive Computing and Visualization
Cookbook contains many ready-to-use focused recipes for
high-performance scientific computing and data
analysis. The first part covers programming techniques,
including code quality and reproducibility, code
optimization, high-performance computing through
dynamic compilation, parallel computing, and graphics
card programming. The second part tackles data science,
statistics, machine learning, signal and image
processing, dynamical systems, and pure and applied
mathematics.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Command languages
(Computer science); Information visualization;
Interactive computer systems; Command languages
(Computer science); Information visualization;
Interactive computer systems; Python (Computer program
language)",
}
@Book{Russell:2014:MSW,
author = "Matthew A. Russell",
title = "Mining the social web",
publisher = pub-ORA,
address = pub-ORA:adr,
edition = "Second",
pages = "xxiv + 421",
year = "2014",
ISBN = "1-4493-6761-5 (paperback), 1-4493-7045-4 (e-book),
1-4493-6821-2 (e-book), 1-4493-6822-0 (e-book)",
ISBN-13 = "978-1-4493-6761-9 (paperback), 978-1-4493-7045-9
(e-book), 978-1-4493-6821-0 (e-book), 978-1-4493-6822-7
(e-book)",
LCCN = "QA76.9.D343 R87 2013",
bibdate = "Sat Mar 21 07:07:01 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "How can you tap into the wealth of social web data to
discover who's making connections with whom, what
they're talking about, and where they're located? With
this expanded and thoroughly revised edition, you'll
learn how to acquire, analyze, and summarize data from
all corners of the social web, including Facebook,
Twitter, LinkedIn, Google+, GitHub, email, websites,
and blogs. Employ the Natural Language Toolkit,
NetworkX, and other scientific computing tools to mine
popular social web sites. Apply advanced text-mining
techniques, such as clustering and TF-IDF, to extract
meaning from human language data. Bootstrap interest
graphs from GitHub by discovering affinities among
people, programming languages, and coding projects.
Build interactive visualizations with D3.js, an
extraordinarily flexible HTML5 and JavaScript toolkit.
Take advantage of more than two-dozen Twitter recipes,
presented in O'Reilly's popular ``problem / solution /
discussion'' cookbook format. The example code for this
unique data science book is maintained in a public
GitHub repository. It's designed to be easily
accessible through a turnkey virtual machine that
facilitates interactive learning with an easy-to-use
collection of IPython Notebooks.",
acknowledgement = ack-nhfb,
remark = "Previous edition: 2011.",
subject = "Data mining; Online social networks; Data mining;
Online social networks",
}
@Book{Sabia:2014:PTV,
author = "Martino Sabia and Cathy Wang",
title = "{Python} tools for {Visual Studio} leverage the power
of the {Visual Studio IDE} to develop better and more
efficient {Python} projects",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2014",
ISBN = "1-78328-868-X, 1-78328-869-8",
ISBN-13 = "978-1-78328-868-7, 978-1-78328-869-4",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 07:19:26 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.tech.safaribooksonline.de/9781783288687",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
Special thanks from the authors \\
1. Introduction to PTVS \\
Step-by-step installation and configuration \\
PTVS tools overview \\
The Python Environments window \\
Python Interactive \\
Visual Studio panels with PTVS \\
Summary \\
2. Python Tools in Visual Studio \\
Mastering IntelliSense with Python \\
Using REPL in Visual Studio \\
Navigating code with ease \\
Object Browser \\
Summary \\
3. Day-to-day Coding Tools \\
Project handling \\
Solution \\
Project \\
Specifying Python environments \\
Defining Search Paths \\
Refactoring \\
Debugging \\
Using breakpoints \\
Utilizing watch entries \\
Summary \\
4. Django in PTVS \\
Django project template and tools \\
Installing a Python package \\
Running the application \\
IntelliSense in Django templates \\
Setting up and managing a database for a Django project
\\
Setting up the admin interface \\
Creating a new Django application \\
Deploying a Django project on Microsoft Azure \\
Summary \\
5. Advanced Django in PTVS \\
Library management \\
The Fabric library --- the deployment and development
task manager \\
South --- the database deployment library \\
Why use South with Django \\
Installing South \\
Schema migration with South \\
Summary \\
6. IPython and IronPython in PTVS \\
IPython in PTVS \\
IronPython \\
Using .NET classes in Python code with IronPython \\
Using the Python code in .NET with IronPython \\
Summary \\
Index",
}
@Book{Sale:2014:TPA,
author = "David Sale",
title = "Testing {Python}: applying unit testing, {TDD}, {BDD},
and acceptance testing",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xv + 222",
year = "2014",
ISBN = "1-118-90122-3 (paperback), 1-118-90125-8 (e-book),
1-118-90124-X (ePDF)",
ISBN-13 = "978-1-118-90122-9 (paperback), 978-1-118-90125-0
(e-book), 978-1-118-90124-3 (ePDF)",
LCCN = "QA76.73.P98 .S254 2014eb",
bibdate = "Sat Oct 24 06:56:36 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This is the most comprehensive book available on
testing for Python, a programming language that is a
natural choice for new and experienced developers. It
will show you why Unit Testing and TDD can lead to
cleaner, more flexible programs. In enterprise
settings, it is critical for developers to ensure they
always have working code, and that's what makes testing
methodologies so attractive. This book will teach you
the most widely used testing strategies and will
introduce to you to still others, covering performance
testing, continuous testing, and more. You will learn
Unit Testing and TDD-important development
methodologies that lie at the heart of Agile
development and enhance your ability to work with
Python to develop powerful, flexible applications with
clean code.",
acknowledgement = ack-nhfb,
remark = "Titre de l'{\'e}cran-titre (visionn{\'e} le 21 juillet
2015). TRAITEMENT SOMMAIRE.",
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Introduction \\
Chapter 1: a History of Testing \\
You Do Test, Don't You? \\
Fundamentals and Best Practices \\
Python Installation \\
Pip \\
Virtualenv \\
Source Control (SVN, Git) \\
Interactive Development Environment (IDE) \\
Summary \\
Chapter 2: Writing Unit Tests \\
What Is Unit Testing? \\
What Should You Test? \\
Writing Your First Unit Test \\
Checking Values with the assertEquals Method \\
Checking Exception Handling with assertRaises \\
Following the PEP-8 Standard \\
Unit Test Structure \\
Additional Unit Test Examples \\
Getting Clever with assertRaises \\
Making Your Life Easier with setUp \\
Useful Methods in Unit Testing \\
Summary \\
Chapter 3: Utilizing Unit Test Tools \\
Using Python's Nose \\
Installing Nose \\
Using Nose's Best Features \\
PyTest: an Alternative Test Runner \\
Installing PyTest \\
PyTest's Best Features \\
Choosing Between Nose and PyTest \\
Mock and Patch Tricky Situations \\
Installing the Mock Library \\
Mocking a Class and Method Response \\
When Mock Won't Do, Patch! \\
Summary \\
Chapter 4: Writing Testable Documentation \\
Writing Your First Doctest \\
The Python Shell \\
Adding Doctests to a Method \\
Running Your Doctests \\
Handling Error Cases \\
Advanced Doctest Usage \\
Improving Doctests with Nose Integration \\
Summary \\
Resources \\
Chapter 5: Driving Your Development with Tests \\
Agile Development \\
Adopting the Agile Process Now \\
Ethos of Test Driven Development \\
Advantages of Test Driven Development \\
Ping-Pong Programming \\
Test Driving Your Problem \\
Writing Your Failing Test \\
Making Your Test Pass \\
Driving More Features with Tests \\
Wrapping Up the Task \\
Summary \\
Resources \\
Chapter 6: Writing Acceptance Tests \\
What Is Acceptance Testing? \\
Anatomy of an Acceptance Test \\
Using Gherkin Syntax \\
The Magic Is in the Step File \\
Goals of Acceptance Testing \\
Implementing Developer and QA Collaboration \\
Letting Behavior Drive Your Problem \\
Writing Your Failing Acceptance Test \\
Defining Your Steps \\
Implementing Your Code \\
Developing More of the Feature \\
Delivering the Finished Article \\
Advanced Acceptance Test Techniques \\
Scenario Outline \\
Tables of Data in Scenarios \\
Summary \\
Resources \\
Chapter 7: Utilizing Acceptance Test Tools \\
Cucumber: The Acceptance Test Standard \\
Lettuce in Detail \\
Tagging \\
Fail Fast \\
Nosetest Integration \\
Robot: an Alternative Test Framework \\
Installing Robot \\
Writing a Test Case \\
Implementing Keywords \\
Running Robot Tests \\
Summary \\
Resources \\
Chapter 8: Maximizing Your Code's Performance \\
Understanding the Importance of Performance Testing \\
JMeter and Python \\
Installation \\
Configuring Your Test Plans \\
Utilizing Your Test Plans Effectively \\
Code Profiling with cProfile \\
Run a cProfile Session \\
Analyzing the cProfile Output \\
Summary \\
Resources \\
Chapter 9: Looking After Your Lint \\
Coming to Grips with Pylint \\
Installing Pylint \\
Using Pylint \\
Understanding the Pylint Report \\
Customizing Pylint's Output \\
Covering All Your Code with Unit Tests \\
Installing Coverage \\
Using Coverage \\
Advanced Coverage Options \\
Summary \\
Resources \\
Chapter 10: Automating Your Processes \\
Build Paver Tasks \\
Installing Paver \\
Creating a Paver Task \\
Executing Paver Tasks \\
Defining a Default Build \\
Setting Up Automated Builds \\
Installing Jenkins \\
Adding Coverage and PyLint Reports \\
Making Your Build Status Highly Visible \\
Summary \\
Resources \\
Chapter 11: Deploying Your Application \\
Deploying Your Application to Production \\
Creating a Deployable Artifact \\
QA Environment \\
Implementing Stage and Production Environments \\
Implementing a Cloud Deployment \\
Smoke Testing a Deployed Application \\
Example Application Stack \\
Smoke Test Scenarios \\
Implementing Smoke Tests \\
Summary \\
Resources \\
Chapter 12: The Future of Testing Python \\
Stub the Solution \\
Making Deployment Natural \\
Automating (Nearly) Everything \\
Working in Public \\
Collaborating on Step Definitions \\
Final Thoughts \\
Resources",
}
@Article{Sandner:2014:CMC,
author = "Raimar Sandner and Andr{\'a}s Vukics",
title = "{C++QEDv2 Milestone 10}: a {C++\slash Python}
application-programming framework for simulating open
quantum dynamics",
journal = j-COMP-PHYS-COMM,
volume = "185",
number = "9",
pages = "2380--2382",
month = sep,
year = "2014",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Aug 16 08:37:39 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465514001349",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Book{Sarker:2014:PNP,
author = "M. O. Faruque Sarker",
title = "Python network programming cookbook over 70 detailed
recipes to develop pratical solutions for a wide range
of real-world network programming tasks",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2014",
ISBN = "1-84951-346-5",
ISBN-13 = "978-1-84951-346-3",
LCCN = "????",
bibdate = "Sat Oct 24 07:15:53 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Quick answers to common problems",
URL = "http://proquest.tech.safaribooksonline.de/9781849513463",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Sockets, IPv4, and Simple Client/Server Programming
\\
Introduction \\
Printing your machine's name and IPv4 address \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Retrieving a remote machine's IP address \\
How to do it \ldots{} \\
How it works \ldots{} \\
Converting an IPv4 address to different formats \\
How to do it \ldots{} \\
How it works \ldots{} \\
Finding a service name, given the port and protocol \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Converting integers to and from host to network byte
order \\
How to do it \ldots{} \\
How it works \ldots{} \\
Setting and getting the default socket timeout \\
How to do it \ldots{} \\
How it works \ldots{} \\
Handling socket errors gracefully \\
How to do it \ldots{} \\
How it works \ldots{} \\
Modifying socket's send/receive buffer sizes \\
How to do it \ldots{} \\
How it works \ldots{} \\
Changing a socket to the blocking/non-blocking mode \\
How to do it \ldots{} \\
How it works \ldots{} \\
Reusing socket addresses \\
How to do it \ldots{} \\
How it works \ldots{} \\
Printing the current time from the Internet time server
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a SNTP client \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a simple echo client/server application \\
How to do it \ldots{} \\
How it works \ldots{} \\
2. Multiplexing Socket I/O for Better Performance \\
Introduction \\
Using ForkingMixIn in your socket server applications
\\
How to do it \ldots{} \\
How it works \ldots{} \\
Using ThreadingMixIn in your socket server applications
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a chat server using select.select \\
How to do it \ldots{} \\
How it works \ldots{} \\
Multiplexing a web server using select.epoll \\
How to do it \ldots{} \\
How it works \ldots{} \\
Multiplexing an echo server using Diesel concurrent
library \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
3. IPv6, Unix Domain Sockets, and Network Interfaces
\\
Introduction \\
Forwarding a local port to a remote host \\
How to do it \ldots{} \\
How it works \ldots{} \\
Pinging hosts on the network with ICMP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Waiting for a remote network service \\
How to do it \ldots{} \\
How it works \ldots{} \\
Enumerating interfaces on your machine \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Finding the IP address for a specific interface on your
machine \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Finding whether an interface is up on your machine \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Detecting inactive machines on your network \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Performing a basic IPC using connected sockets
(socketpair) \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Performing IPC using Unix domain sockets \\
How to do it \ldots{} \\
How it works \ldots{} \\
Finding out if your Python supports IPv6 sockets \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Extracting an IPv6 prefix from an IPv6 address \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing an IPv6 echo client/server \\
How to do it \ldots{} \\
How it works \ldots{} \\
4. Programming with HTTP for the Internet \\
Introduction \\
Downloading data from an HTTP server \\
How to do it \ldots{} \\
How it works \ldots{} \\
Serving HTTP requests from your machine \\
How to do it \ldots{} \\
How it works \ldots{} \\
Extracting cookie information after visiting a website
\\
How to do it \ldots{} \\
How it works \ldots{} \\
Submitting web forms \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Sending web requests through a proxy server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Checking whether a web page exists with the HEAD
request \\
How to do it \ldots{} \\
How it works \ldots{} \\
Spoofing Mozilla Firefox in your client code \\
How to do it \ldots{} \\
How it works \ldots{} \\
Saving bandwidth in web requests with the HTTP
compression \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing an HTTP fail-over client with resume and
partial downloading \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a simple HTTPS server code with Python and
OpenSSL \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
5. E-mail Protocols, FTP, and CGI Programming \\
Introduction \\
Listing the files in a remote FTP server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Uploading a local file to a remote FTP server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
E-mailing your current working directory as a
compressed ZIP file \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Downloading your Google e-mail with POP3 \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Checking your remote e-mail with IMAP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Sending an e-mail with an attachment via Gmail SMTP
server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a guestbook for your (Python-based) web server
with CGI \\
How to do it \ldots{} \\
How it works \ldots{} \\
6. Screen-scraping and Other Practical Applications \\
Introduction \\
Searching for business addresses using the Google Maps
API \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Searching for geographic coordinates using the Google
Maps URL \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching for an article in Wikipedia \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching for Google stock quote \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching for a source code repository at GitHub \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Reading news feed from BBC \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Crawling links present in a web page \\
How to do it \ldots{} \\
How it works \ldots{} \\
7. Programming Across Machine Boundaries \\
Introduction \\
Executing a remote shell command using telnet \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Copying a file to a remote machine by SFTP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Printing a remote machine's CPU information \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Installing a Python package remotely \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Running a MySQL command remotely \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Transferring files to a remote machine over SSH \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Configuring Apache remotely to host a website \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
8. Working with Web Services --- XML-RPC, SOAP, and
REST \\
Introduction \\
Querying a local XML-RPC server \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Writing a multithreaded multicall XML-RPC server \\
How to do it \ldots{} \\
How it works \ldots{} \\
Running an XML-RPC server with a basic HTTP
authentication \\
How to do it \ldots{} \\
How it works \ldots{} \\
Collecting some photo information from Flickr using
REST \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching for SOAP methods from an Amazon S3 web
service \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching Google for custom information \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Searching Amazon for books through product search API
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
9. Network Monitoring and Security \\
Introduction \\
Sniffing packets on your network \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Saving packets in the pcap format using the pcap dumper
\\
How to do it \ldots{} \\
How it works \ldots{} \\
Adding an extra header in HTTP packets \\
How to do it \ldots{} \\
How it works \ldots{} \\
Scanning the ports of a remote host \\
How to do it \ldots{} \\
How it works \ldots{} \\
Customizing the IP address of a packet \\
How to do it \ldots{} \\
How it works \ldots{} \\
Replaying traffic by reading from a saved pcap file \\
How to do it \ldots{} \\
How it works \ldots{} \\
Scanning the broadcast of packets \\
How to do it \ldots{} \\
How it works \ldots{} \\
Index",
}
@Book{Seitz:2014:BPP,
author = "Justin Seitz",
title = "Black hat {Python}: {Python} programming for hackers
and pentesters",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "xviii + 170",
year = "2014",
ISBN = "1-59327-590-0",
ISBN-13 = "978-1-59327-590-7",
LCCN = "QA76.73.P98 S45 2015",
bibdate = "Sat Oct 24 05:55:13 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
tableofcontents = "Black Hat Python: Python Programming for Hackers
and Pentesters \\
Dedication \\
About the Author \\
About the Technical Reviewers \\
Foreword \\
Preface \\
Acknowledgments \\
1. Setting Up Your Python Environment \\
Installing Kali Linux \\
WingIDE \\
2. The Network: Basics \\
Python Networking in a Paragraph \\
TCP Client \\
UDP Client \\
TCP Server \\
Replacing Netcat \\
Kicking the Tires \\
Building a TCP Proxy \\
Kicking the Tires \\
SSH with Paramiko \\
Kicking the Tires \\
SSH Tunneling \\
Kicking the Tires \\
3. The Network: Raw Sockets and Sniffing \\
Building a UDP Host Discovery Tool \\
Packet Sniffing on Windows and Linux \\
Kicking the Tires \\
Decoding the IP Layer \\
Kicking the Tires \\
Decoding ICMP \\
Kicking the Tires \\
4. Owning the Network with Scapy \\
Stealing Email Credentials \\
Kicking the Tires \\
ARP Cache Poisoning with Scapy \\
Kicking the Tires \\
PCAP Processing \\
Kicking the Tires \\
5. Web Hackery \\
The Socket Library of the Web: urllib2 \\
Mapping Open Source Web App Installations \\
Kicking the Tires \\
Brute-Forcing Directories and File Locations \\
Kicking the Tires \\
Brute-Forcing HTML Form Authentication \\
Kicking the Tires \\
6. Extending Burp Proxy \\
Setting Up \\
Burp Fuzzing \\
Kicking the Tires \\
Bing for Burp \\
Kicking the Tires \\
Turning Website Content into Password Gold \\
Kicking the Tires \\
7. Github Command and Control \\
Setting Up a GitHub Account \\
Creating Modules \\
Trojan Configuration \\
Building a Github-Aware Trojan \\
Hacking Python s import Functionality \\
Kicking the Tires \\
8. Common Trojaning Tasks on Windows \\
Keylogging for Fun and Keystrokes \\
Kicking the Tires \\
Taking Screenshots \\
Pythonic Shellcode Execution \\
Kicking the Tires \\
Sandbox Detection \\
9. Fun with Internet Explorer \\
Man-in-the-Browser (Kind Of) \\
Creating the Server \\
Kicking the Tires \\
IE COM Automation for Exfiltration \\
Kicking the Tires \\
10. Windows Privilege Escalation \\
Installing the Prerequisites \\
Creating a Process Monitor \\
Process Monitoring with WMI \\
Kicking the Tires \\
Windows Token Privileges \\
Winning the Race \\
Kicking the Tires \\
Code Injection \\
Kicking the Tires \\
11. Automating Offensive Forensics \\
Installation \\
Profiles \\
Grabbing Password Hashes \\
Direct Code Injection \\
Kicking the Tires \\
Updates \\
Index",
}
@Book{Sileika:2014:PPS,
author = "Rytis Sileika",
title = "{Pro Python} system administration",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
pages = "xxvi + 399",
year = "2014",
ISBN = "1-4842-0218-X (paperback), 1-4842-0217-1 (e-book)",
ISBN-13 = "978-1-4842-0218-0 (paperback), 978-1-4842-0217-3
(e-book)",
LCCN = "QA76.73.P98 S55 2014",
bibdate = "Sat Oct 24 06:17:20 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
series = "The expert's voice in Python",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer systems;
Management; Computer programs; Systems software",
tableofcontents = "About the Author \\
About the Technical Reviewers \\
Acknowledgments \\
Introduction \\
Chapter 1: Reading and Collecting Performance Data
Using SNMP \\
Application Requirements and Design \\
Specifying the Requirements \\
High-Level Design Specification \\
Introduction to SNMP \\
The System SNMP Variables Node \\
The Interfaces SNMP Variables Node \\
Authentication in SNMP \\
Querying SNMP from the Command Line \\
Querying SNMP Devices from Python \\
Configuring the Application \\
Using the PySNMP Library \\
Implementing the SNMP Read Functionality \\
Storing Data with RRDTool \\
Introduction to RRDTool \\
Using RRDTool from a Python Program \\
Creating a Round Robin Database \\
Writing and Reading Data from the Round Robin Database
\\
Plotting Graphs with RRDTool \\
Integrating RRDTool with the Monitoring Solution \\
Creating Web Pages with the Jinja2 Templating System
\\
Loading Template Files with Jinja2 \\
The Jinja2 Template Language \\
Generating Website Pages \\
Summary \\
Chapter 2: Managing Devices Using the SOAP API \\
What Is the SOAP API? \\
The Structure of a SOAP Message \\
Requesting Services with SOAP \\
Finding Information About Available Services with WSDL
\\
SOAP Support in Python \\
Converting WSDL Schema to Python Helper Module \\
Defining Requirements for Our Load Balancer Tool \\
Basic Requirements \\
Code Structure \\
Configuration \\
Accessing Citrix Netscaler Load Balancer with the SOAP
API \\
Fixing Issues with Citrix Netscaler WSDL \\
Creating a Connection Object \\
Logging In: Our First SOAP Call \\
Gathering Performance Statistics Data \\
SOAP Methods for Reading Statistical Data and its
Return Values \\
Reading System Health Data \\
Reading Service Status Data \\
Automating Some Administration Tasks \\
Device Configuration SOAP Methods \\
Setting a Service State \\
A Word About Logging and Error Handling \\
Using the Python Logging Module \\
Handling Exceptions \\
NetScaler NITRO API \\
Download \\
Using the Nitro-Python Module \\
Summary \\
Chapter 3: Creating a Web Application for IP Address
Accountancy \\
Designing the Application \\
Setting out the Requirements \\
Making Design Decisions \\
Defining the Database Schema \\
Creating the Application Workflow \\
The Basic Concepts of the Django Framework \\
What Is Django? \\
The Model/View/Controller Pattern \\
Installing the Django Framework \\
The Structure of a Django Application \\
Using Django with Apache Web Server \\
Implementing Basic Functionality \\
Defining the Database Model \\
URL Configuration \\
Using the Management Interface \\
Viewing Records \\
Using Templates \\
Deleting Records \\
Adding New Records \\
Modifying Existing Records \\
Summary \\
Chapter 4: Integrating the IP Address Application with
DHCP \\
Extending the Design and Requirements \\
Extending the Database Schema \\
Making Additions to the Workflow \\
Adding DHCP Network Data \\
The Data Models \\
Additional Workflows \\
The Add Function \\
The Modify Function \\
The Delete Function \\
Extending the DHCP Configuration with Address Pools \\
The Address Pool Data Model \\
The DHCP Network Details \\
The Add and Delete Functions \\
Reworking the URL Structure \\
Generation of URLs in the Model Class \\
Reverse Resolution of URLs \\
Assignment of Names to URL Patterns \\
Use of URL References in the Templates \\
Adding Client Classification \\
Additions to the Data Model \\
Template Inheritance \\
Class Rules Management \\
Generating the DHCP Configuration File \\
Other Modifications \\
Resolving IPs to Hostnames \\
Checking Whether the Address Is in Use \\
Dynamic DHCP Lease Management \\
Employ Python Interface to OMAPI \\
Set up the ISC DHCP Server \\
Add a New Host Lease Record \\
Delete a Host Lease Record \\
Summary \\
Chapter 5: Maintaining a List of Virtual Hosts in an
Apache Configuration File \\
Specifying the Design and Requirements for the
Application \\
Functional Requirements \\
High-Level Design \\
Setting Up the Environment \\
Apache Configuration \\
Creating a Django Project and Application \\
Configuring the Application \\
Defining the URL Structure \\
The Data Model \\
The Basic Model Structure \\
Modifying the Administration Interface \\
Improving the Class and Object Lists \\
Adding Custom Object Actions \\
Generating the Configuration File \\
Summary \\
Chapter 6: Gathering and Presenting Statistical Data
from Apache Log Files \\
Application Structure and Functionality \\
Application Requirements \\
Application Design \\
Plug-in Framework Implementation in Python \\
The Mechanics of a Plug-in Framework \\
Creating the Plug-in Framework \\
Log-Parsing Application \\
Format of Apache Log Files \\
Log File Reader \\
Calling the Plug-in Methods \\
Plug-in Modules \\
Installing the Required Libraries \\
Writing the Plug-in Code \\
Visualizing the Data \\
Summary \\
Chapter 7: Performing Complex Searches and Reporting on
Application Log Files \\
Defining the Problem \\
Why We Use Exceptions \\
Are Exceptions Always a Bad Sign? \\
Why We Should Analyze Exceptions \\
Parsing Complex Log Files \\
What Can We Find in a Typical Log File? \\
The Structure of an Exception Stack Trace Log \\
Handling Multiple Files \\
Using the Built-in Bzip2 Library \\
Traversing Large Data Files \\
What Are Generators, and How Are They Used? \\
Detecting the Exceptions \\
Detecting the Potential Candidates \\
Filtering the Legitimate Exception Traces \\
Storing Data in Data Structures \\
The Structure of Exception Stack Trace Data \\
Generating an Exception Fingerprint for Unknown
Exceptions \\
Detecting Known Exceptions \\
Producing Reports \\
Grouping the Exceptions \\
Producing Differently Formatted Outputs for the Same
Dataset \\
Calculating Group Statistics \\
Summary \\
Chapter 8: a Website Availability Check Script for
Nagios \\
Requirements for the Check System \\
The Nagios Monitoring System \\
Nagios Plug-In Architecture \\
The Site Navigation Check \\
Installing the Beautiful Soup HTML Parsing Library \\
Retrieving a Web Page \\
Parsing the HTML Pages with Beautiful Soup \\
Adding the New Check to the Nagios System \\
Emulating the User Login Process \\
Simplifying HTTP Client with Requests Module \\
Summary \\
Chapter 9: Management and Monitoring Subsystem \\
Design \\
The Components \\
The Data Objects \\
The Data Structures \\
Introduction to Data Normalization \\
Configuration Data \\
Performance Data \\
Scheduling \\
Site Configuration \\
Communication Flows \\
XML-RPC for Information Exchange \\
CherryPy \\
The Server Process \\
Storing Data in a SQLite3 Database \\
Actions \\
The Scheduler \\
Actions \\
Running Multiple Processes \\
Running Methods at Equal Intervals \\
A Cron-Like Scheduler \\
Ticket Dispatcher \\
Summary \\
Chapter 10: Remote Monitoring Agents \\
Design \\
The Passive Component \\
Architecture \\
Actions \\
The Security Model \\
Configuration \\
The ConfigParser Library \\
The Configuration Class Wrapper \\
The Sensor Design \\
Running External Processes \\
Using the Subprocess Library \\
Controlling the Running Processes \\
Communicating with External Processes \\
Automatically Updating Sensor Code \\
Sending and Receiving Binary Data with XML-RPC \\
Working with Files and Archives (TAR and BZip2) \\
Summary \\
Chapter 11: Statistics Gathering and Reporting \\
Application Requirements and Design \\
Using the NumPy Library \\
Installing NumPy \\
NumPy Examples \\
Representing Data with matplotlib \\
Installing matplotlib \\
Understanding the Library Structure \\
Plotting Graphs \\
Saving Plots to a File \\
Graphing Statistical Data \\
Collating Data from the Database \\
Drawing Timescale Graphs \\
Host Details Page \\
Summary \\
Chapter 12: Distributed Message Processing System \\
Quick Introduction to Message and Task Queues \\
Task Queuing Systems \\
Message Queuing Systems \\
Setting up the Celery Server and Client \\
Installing and Setting up RabbitMQ \\
Installing and Setting up Celery \\
Celery Basics \\
Layout of a Typical Celery Application \\
Creating aTasks Module \\
Routing Tasks \\
Summary \\
Chapter 13: Automatic MySQL Database Performance Tuning
\\
Requirements Specification and Design \\
Basic Application Requirements \\
System Design \\
Modifying the Plug-in Framework \\
Changes to the Host Application \\
Modifying the Plug-in Manager \\
Writing the Producer Plug-ins \\
Accessing the MySQL Database from Python Applications
\\
Querying the Configuration Variables \\
Querying the Server Status Variables \\
Collecting the Host Configuration Data \\
Writing the Consumer Plug-ins \\
Checking the MySQL Version \\
Checking the Key Buffer Size Setting \\
Checking the Slow Queries Counter \\
Summary \\
Chapter 14: Using Amazon EC2/S3 as a Data Warehouse
Solution \\
Specifying the Problem and the Solution \\
The Problem \\
Our Solution \\
Design Specifications \\
The Amazon EC2 and S3 Crash Course \\
Authentication and Security \\
The Simple Storage System Concepts \\
The Elastic Computing Cloud Concepts \\
User Interfaces \\
Creating a Custom EC2 Image \\
Reusing Existing Images \\
Making Modifications \\
Bundling the New AMI \\
Controlling the EC2 Using the Boto Python Module \\
Setting Up the Configuration Variables \\
Initializing the EC2 Instance Programmatically \\
Transferring the Data \\
Destroying the EC2 Instance Programmatically \\
Summary \\
Index",
}
@Article{Sinz:2014:PNP,
author = "Fabian H. Sinz and J{\"o}rn-Philipp Lies and Sebastian
Gerwinn and Matthias Bethge",
title = "\pkg{Natter}: a {Python} Natural Image Statistics
Toolbox",
journal = j-J-STAT-SOFT,
volume = "61",
number = "5",
pages = "??--??",
month = nov,
year = "2014",
CODEN = "JSSOBK",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Wed Feb 11 10:31:33 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v61/i05",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2013-04-21; Accepted 2014-05-23",
}
@Book{Stewart:2014:PS,
author = "John Stewart",
title = "Python for Scientists",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "xii + 220",
year = "2014",
ISBN = "1-107-06139-3 (hardcover), 1-107-68642-3",
ISBN-13 = "978-1-107-06139-2 (hardcover), 978-1-107-68642-7",
LCCN = "Q183.9 .S865 2014",
bibdate = "Thu Jun 26 09:42:41 MDT 2014",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://assets.cambridge.org/97811070/61392/cover/9781107061392.jpg",
abstract = "Python is a free, open source, easy-to-use software
tool that offers a significant alternative to
proprietary packages such as MATLAB and Mathematica.
This book covers everything the working scientist needs
to know to start using Python effectively. The author
explains scientific Python from scratch, showing how
easy it is to implement and test non-trivial
mathematical algorithms and guiding the reader through
the many freely available add-on modules. A range of
examples, relevant to many different fields, illustrate
the program's capabilities. In particular, readers are
shown how to use pre-existing legacy code (usually in
Fortran77) within the Python environment, thus avoiding
the need to master the original code. Instead of
exercises the book contains useful snippets of tested
code which the reader can adapt to handle problems in
their own field, allowing students and researchers with
little computer expertise to get up and running as soon
as possible.",
acknowledgement = ack-nhfb,
author-dates = "1943 July 1",
subject = "Science; Data processing; Python (Computer program
language); COMPUTERS / General.",
tableofcontents = "Preface \\
1. Introduction \\
2. Getting started with IPython \\
3. A short Python tutorial \\
4. Numpy \\
5. Two-dimensional graphics \\
6. Three-dimensional graphics \\
7. Ordinary differential equations \\
8. Partial differential equations: a pseudospectral
approach \\
9. Case study: multigrid \\
Appendix A. Installing a Python environment \\
Appendix B. Fortran77 subroutines for pseudospectral
methods \\
References \\
Index",
}
@Article{Strickland:2014:PPM,
author = "Christopher Strickland and Robert Burdett and Kerrie
Mengersen and Robert Denham",
title = "{PySSM}: a {Python} Module for {Bayesian} Inference of
Linear {Gaussian} State Space Models",
journal = j-J-STAT-SOFT,
volume = "57",
number = "6",
pages = "??--??",
month = apr,
year = "2014",
CODEN = "JSSOBK",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Mon Jun 16 11:01:52 MDT 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v57/i06",
acknowledgement = ack-nhfb,
fjournal = "Journal of Statistical Software",
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2012-03-23; Accepted 2013-09-21",
}
@Book{Sweigart:2014:ABS,
author = "Al Sweigart",
title = "Automate the boring stuff with {Python}: practical
programming for total beginners",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "xxi + 479",
year = "2014",
ISBN = "1-59327-599-4",
ISBN-13 = "978-1-59327-599-0",
LCCN = "QA76.73.P98",
bibdate = "Wed Oct 14 07:33:44 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://proquestcombo.safaribooksonline.com/9781457189906",
abstract = "In \booktitle{Automate the Boring Stuff with Python},
you'll learn how to use Python to write programs that
do in minutes what would take you hours to do by hand
no prior programming experience required. Once you've
mastered the basics of programming, you'll create
Python programs that effortlessly perform useful and
impressive feats of automation to: Search for text in a
file or across multiple files; Create, update, move,
and rename files and folders; Search the Web and
download online content; Update and format data in
Excel spreadsheets of any size; Split, merge,
watermark, and encrypt PDFs; Send reminder emails and
text notifications; Fill out online forms. Step-by-step
instructions walk you through each program, and
practice projects at the end of each chapter challenge
you to improve those programs and use your newfound
skills to automate similar tasks.",
acknowledgement = ack-nhfb,
tableofcontents = "Dedication \\
About the Author \\
About the Tech Reviewer \\
Acknowledgments \\
Introduction \\
Whom Is This Book For? \\
Conventions \\
What Is Programming? \\
What Is Python? \\
Programmers Don t Need to Know Much Math \\
Programming Is a Creative Activity \\
About This Book \\
Downloading and Installing Python \\
Starting IDLE \\
The Interactive Shell \\
How to Find Help \\
Asking Smart Programming Questions \\
Summary \\
I. Python Programming Basics \\
1. Python Basics \\
Entering Expressions into the Interactive Shell \\
The Integer, Floating-Point, and String Data Types \\
String Concatenation and Replication \\
Storing Values in Variables \\
Assignment Statements \\
Variable Names \\
Your First Program \\
Dissecting Your Program \\
Comments \\
The print() Function \\
The input() Function \\
Printing the User s Name \\
The len() Function \\
The str(), int(), and float() Functions \\
Summary \\
Practice Questions \\
2. Flow Control \\
Boolean Values \\
Comparison Operators \\
Boolean Operators \\
Binary Boolean Operators \\
The not Operator \\
Mixing Boolean and Comparison Operators \\
Elements of Flow Control \\
Conditions \\
Blocks of Code \\
Program Execution \\
Flow Control Statements \\
if Statements \\
else Statements \\
elif Statements \\
while Loop Statements \\
An Annoying while Loop \\
break Statements \\
continue Statements \\
for Loops and the range() Function \\
An Equivalent while Loop \\
The Starting, Stopping, and Stepping Arguments to
range() \\
Importing Modules \\
from import Statements \\
Ending a Program Early with sys.exit() \\
Summary \\
Practice Questions \\
3. Functions \\
def Statements with Parameters \\
Return Values and return Statements \\
The None Value \\
Keyword Arguments and print() \\
Local and Global Scope \\
Local Variables Cannot Be Used in the Global Scope \\
Local Scopes Cannot Use Variables in Other Local Scopes
\\
Global Variables Can Be Read from a Local Scope \\
Local and Global Variables with the Same Name \\
The global Statement \\
Exception Handling \\
A Short Program: Guess the Number \\
Summary \\
Practice Questions \\
Practice Projects \\
The Collatz Sequence \\
Input Validation \\
4. Lists \\
The List Data Type \\
Getting Individual Values in a List with Indexes \\
Negative Indexes \\
Getting Sublists with Slices \\
Getting a List s Length with len() \\
Changing Values in a List with Indexes \\
List Concatenation and List Replication \\
Removing Values from Lists with del Statements \\
Working with Lists \\
Using for Loops with Lists \\
The in and not in Operators \\
The Multiple Assignment Trick \\
Augmented Assignment Operators \\
Methods \\
Finding a Value in a List with the index() Method \\
Adding Values to Lists with the append() and insert()
Methods \\
Removing Values from Lists with remove() \\
Sorting the Values in a List with the sort() Method \\
Example Program: Magic 8 Ball with a List \\
List-like Types: Strings and Tuples \\
Mutable and Immutable Data Types \\
The Tuple Data Type \\
Converting Types with the list() and tuple() Functions
\\
References \\
Passing References \\
The copy Module s copy() and deepcopy() Functions \\
Summary \\
Practice Questions \\
Practice Projects \\
Comma Code \\
Character Picture Grid \\
5. Dictionaries and Structuring Data \\
The Dictionary Data Type \\
Dictionaries vs. Lists \\
The keys(), values(), and items() Methods \\
Checking Whether a Key or Value Exists in a Dictionary
\\
The get() Method \\
The setdefault() Method \\
Pretty Printing \\
Using Data Structures to Model Real-World Things \\
A Tic-Tac-Toe Board \\
Nested Dictionaries and Lists \\
Summary \\
Practice Questions \\
Practice Projects \\
Fantasy Game Inventory \\
List to Dictionary Function for Fantasy Game Inventory
\\
6. Manipulating Strings \\
Working with Strings \\
String Literals \\
Double Quotes \\
Escape Characters \\
Raw Strings \\
Multiline Strings with Triple Quotes \\
Multiline Comments \\
Indexing and Slicing Strings \\
The in and not in Operators with Strings \\
Useful String Methods \\
The upper(), lower(), isupper(), and islower() String
Methods \\
The isX String Methods \\
The startswith() and endswith() String Methods \\
The join() and split() String Methods \\
Justifying Text with rjust(), ljust(), and center() \\
Removing Whitespace with strip(), rstrip(), and
lstrip() \\
Copying and Pasting Strings with the pyperclip Module
\\
Project: Password Locker \\
Step 1: Program Design and Data Structures \\
Step 2: Handle Command Line Arguments \\
Step 3: Copy the Right Password \\
Project: Adding Bullets to Wiki Markup \\
Step 1: Copy and Paste from the Clipboard \\
Step 2: Separate the Lines of Text and Add the Star \\
Step 3: Join the Modified Lines \\
Summary \\
Practice Questions \\
Practice Project \\
Table Printer \\
II. Automating Tasks \\
7. Pattern Matching with Regular Expressions \\
Finding Patterns of Text Without Regular Expressions
\\
Finding Patterns of Text with Regular Expressions \\
Creating Regex Objects \\
Matching Regex Objects \\
Review of Regular Expression Matching \\
More Pattern Matching with Regular Expressions \\
Grouping with Parentheses \\
Matching Multiple Groups with the Pipe \\
Optional Matching with the Question Mark \\
Matching Zero or More with the Star \\
Matching One or More with the Plus \\
Matching Specific Repetitions with Curly Brackets \\
Greedy and Nongreedy Matching \\
The findall() Method \\
Character Classes \\
Making Your Own Character Classes \\
The Caret and Dollar Sign Characters \\
The Wildcard Character \\
Matching Everything with Dot-Star \\
Matching Newlines with the Dot Character \\
Review of Regex Symbols \\
Case-Insensitive Matching \\
Substituting Strings with the sub() Method \\
Managing Complex Regexes \\
Combining re.IGNORECASE, re.DOTALL, and re.VERBOSE \\
Project: Phone Number and Email Address Extractor \\
Step 1: Create a Regex for Phone Numbers \\
Step 2: Create a Regex for Email Addresses \\
Step 3: Find All Matches in the Clipboard Text \\
Step 4: Join the Matches into a String for the
Clipboard \\
Running the Program \\
Ideas for Similar Programs \\
Summary \\
Practice Questions \\
Practice Projects \\
Strong Password Detection \\
Regex Version of strip() \\
8. Reading and Writing Files \\
Files and File Paths \\
Backslash on Windows and Forward Slash on OS X and
Linux \\
The Current Working Directory \\
Absolute vs. Relative Paths \\
Creating New Folders with os.makedirs() \\
The os.path Module \\
Handling Absolute and Relative Paths \\
Finding File Sizes and Folder Contents \\
Checking Path Validity \\
The File Reading/Writing Process \\
Opening Files with the open() Function \\
Reading the Contents of Files \\
Writing to Files \\
Saving Variables with the shelve Module \\
Saving Variables with the pprint.pformat() Function \\
Project: Generating Random Quiz Files \\
Step 1: Store the Quiz Data in a Dictionary \\
Step 2: Create the Quiz File and Shuffle the Question
Order \\
Step 3: Create the Answer Options \\
Step 4: Write Content to the Quiz and Answer Key Files
\\
Project: Multiclipboard \\
Step 1: Comments and Shelf Setup \\
Step 2: Save Clipboard Content with a Keyword \\
Step 3: List Keywords and Load a Keyword s Content \\
Summary \\
Practice Questions \\
Practice Projects \\
Extending the Multiclipboard \\
Mad Libs \\
Regex Search \\
9. Organizing Files \\
The shutil Module \\
Copying Files and Folders \\
Moving and Renaming Files and Folders \\
Permanently Deleting Files and Folders \\
Safe Deletes with the send2trash Module \\
Walking a Directory Tree \\
Compressing Files with the zipfile Module \\
Reading ZIP Files \\
Extracting from ZIP Files \\
Creating and Adding to ZIP Files \\
Project: Renaming Files with American-Style Dates to
European-Style Dates \\
Step 1: Create a Regex for American-Style Dates \\
Step 2: Identify the Date Parts from the Filenames \\
Step 3: Form the New Filename and Rename the Files \\
Ideas for Similar Programs \\
Project: Backing Up a Folder into a ZIP File \\
Step 1: Figure Out the ZIP File s Name \\
Step 2: Create the New ZIP File \\
Step 3: Walk the Directory Tree and Add to the ZIP File
\\
Ideas for Similar Programs \\
Summary \\
Practice Questions \\
Practice Projects \\
Selective Copy \\
Deleting Unneeded Files \\
Filling in the Gaps \\
10. Debugging \\
Raising Exceptions \\
Getting the Traceback as a String \\
Assertions \\
Using an Assertion in a Traffic Light Simulation \\
Disabling Assertions \\
Logging \\
Using the logging Module \\
Don t Debug with print() \\
Logging Levels \\
Disabling Logging \\
Logging to a File \\
IDLE s Debugger \\
Go \\
Step \\
Over \\
Out \\
Quit \\
Debugging a Number Adding Program \\
Breakpoints \\
Summary \\
Practice Questions \\
Practice Project \\
Debugging Coin Toss \\
11. Web Scraping \\
Project: mapit.py with the webbrowser Module \\
Step 1: Figure Out the URL \\
Step 2: Handle the Command Line Arguments \\
Step 3: Handle the Clipboard Content and Launch the
Browser \\
Ideas for Similar Programs \\
Downloading Files from the Web with the requests Module
\\
Downloading a Web Page with the requests.get() Function
\\
Checking for Errors \\
Saving Downloaded Files to the Hard Drive \\
HTML \\
Resources for Learning HTML \\
A Quick Refresher \\
Viewing the Source HTML of a Web Page \\
Opening Your Browser s Developer Tools \\
Using the Developer Tools to Find HTML Elements \\
Parsing HTML with the BeautifulSoup Module \\
Creating a BeautifulSoup Object from HTML \\
Finding an Element with the select() Method \\
Getting Data from an Element s Attributes \\
Project: I m Feeling Lucky Google Search \\
Step 1: Get the Command Line Arguments and Request the
Search Page \\
Step 2: Find All the Results \\
Step 3: Open Web Browsers for Each Result \\
Ideas for Similar Programs \\
Project: Downloading All XKCD Comics \\
Step 1: Design the Program \\
Step 2: Download the Web Page \\
Step 3: Find and Download the Comic Image \\
Step 4: Save the Image and Find the Previous Comic \\
Ideas for Similar Programs \\
Controlling the Browser with the selenium Module \\
Starting a Selenium-Controlled Browser \\
Finding Elements on the Page \\
Clicking the Page \\
Filling Out and Submitting Forms \\
Sending Special Keys \\
Clicking Browser Buttons \\
More Information on Selenium \\
Summary \\
Practice Questions \\
Practice Projects \\
Command Line Emailer \\
Image Site Downloader \\
2048 \\
Link Verification \\
12. Working with Excel Spreadsheets \\
Excel Documents \\
Installing the openpyxl Module \\
Reading Excel Documents \\
Opening Excel Documents with OpenPyXL \\
Getting Sheets from the Workbook \\
Getting Cells from the Sheets \\
Converting Between Column Letters and Numbers \\
Getting Rows and Columns from the Sheets \\
Workbooks, Sheets, Cells \\
Project: Reading Data from a Spreadsheet \\
Step 1: Read the Spreadsheet Data \\
Step 2: Populate the Data Structure \\
Step 3: Write the Results to a File \\
Ideas for Similar Programs \\
Writing Excel Documents \\
Creating and Saving Excel Documents \\
Creating and Removing Sheets \\
Writing Values to Cells \\
Project: Updating a Spreadsheet \\
Step 1: Set Up a Data Structure with the Update
Information \\
Step 2: Check All Rows and Update Incorrect Prices \\
Ideas for Similar Programs \\
Setting the Font Style of Cells \\
Font Objects \\
Formulas \\
Adjusting Rows and Columns \\
Setting Row Height and Column Width \\
Merging and Unmerging Cells \\
Freeze Panes \\
Charts \\
Summary \\
Practice Questions \\
Practice Projects \\
Multiplication Table Maker \\
Blank Row Inserter \\
Spreadsheet Cell Inverter \\
Text Files to Spreadsheet \\
Spreadsheet to Text Files \\
13. Working with PDF and word Documents \\
PDF Documents \\
Extracting Text from PDFs \\
Decrypting PDFs \\
Creating PDFs \\
Copying Pages \\
Rotating Pages \\
Overlaying Pages \\
Encrypting PDFs \\
Project: Combining Select Pages from Many PDFs \\
Step 1: Find All PDF Files \\
Step 2: Open Each PDF \\
Step 3: Add Each Page \\
Step 4: Save the Results \\
Ideas for Similar Programs \\
Word Documents \\
Reading Word Documents \\
Getting the Full Text from a .docx File \\
Styling Paragraph and Run Objects \\
Creating Word Documents with Nondefault Styles \\
Run Attributes \\
Writing Word Documents \\
Adding Headings \\
Adding Line and Page Breaks \\
Adding Pictures \\
Summary \\
Practice Questions \\
Practice Projects \\
PDF Paranoia \\
Custom Invitations as Word Documents \\
Brute-Force PDF Password Breaker \\
14. Working with CSV Files and JSON Data \\
The CSV Module \\
Reader Objects \\
Reading Data from Reader Objects in a for Loop \\
Writer Objects \\
The delimiter and lineterminator Keyword Arguments \\
Project: Removing the Header from CSV Files \\
Step 1: Loop Through Each CSV File \\
Step 2: Read in the CSV File \\
Step 3: Write Out the CSV File Without the First Row
\\
Ideas for Similar Programs \\
JSON and APIs \\
The JSON Module \\
Reading JSON with the loads() Function \\
Writing JSON with the dumps() Function \\
Project: Fetching Current Weather Data \\
Step 1: Get Location from the Command Line Argument \\
Step 2: Download the JSON Data \\
Step 3: Load JSON Data and Print Weather \\
Ideas for Similar Programs \\
Summary \\
Practice Questions \\
Practice Project \\
Excel-to-CSV Converter \\
15. Keeping Time, Scheduling Tasks, and Launching
Programs \\
The time Module \\
The time.time() Function \\
The time.sleep() Function \\
Rounding Numbers \\
Project: Super Stopwatch \\
Step 1: Set Up the Program to Track Times \\
Step 2: Track and Print Lap Times \\
Ideas for Similar Programs \\
The datetime Module \\
The timedelta Data Type \\
Pausing Until a Specific Date \\
Converting datetime Objects into Strings \\
Converting Strings into datetime Objects \\
Review of Python s Time Functions \\
Multithreading \\
Passing Arguments to the Thread s Target Function \\
Concurrency Issues \\
Project: Multithreaded XKCD Downloader \\
Step 1: Modify the Program to Use a Function \\
Step 2: Create and Start Threads \\
Step 3: Wait for All Threads to End \\
Launching Other Programs from Python \\
Passing Command Line Arguments to Popen() \\
Task Scheduler, launchd, and cron \\
Opening Websites with Python \\
Running Other Python Scripts \\
Opening Files with Default Applications \\
Project: Simple Countdown Program \\
Step 1: Count Down \\
Step 2: Play the Sound File \\
Ideas for Similar Programs \\
Summary \\
Practice Questions \\
Practice Projects \\
Prettified Stopwatch \\
Scheduled Web Comic Downloader \\
16. Sending Email and Text Messages \\
SMTP \\
Sending Email \\
Connecting to an SMTP Server \\
Sending the SMTP Hello Message \\
Starting TLS Encryption \\
Logging in to the SMTP Server \\
Sending an Email \\
Disconnecting from the SMTP Server \\
IMAP \\
Retrieving and Deleting Emails with IMAP \\
Connecting to an IMAP Server \\
Logging in to the IMAP Server \\
Searching for Email \\
Selecting a Folder \\
Performing the Search \\
Size Limits \\
Fetching an Email and Marking It As Read \\
Getting Email Addresses from a Raw Message \\
Getting the Body from a Raw Message \\
Deleting Emails \\
Disconnecting from the IMAP Server \\
Project: Sending Member Dues Reminder Emails \\
Step 1: Open the Excel File \\
Step 2: Find All Unpaid Members \\
Step 3: Send Customized Email Reminders \\
Sending Text Messages with Twilio \\
Signing Up for a Twilio Account \\
Sending Text Messages \\
Project: Just Text Me Module \\
Summary \\
Practice Questions \\
Practice Projects \\
Random Chore Assignment Emailer \\
Umbrella Reminder \\
Auto Unsubscriber \\
Controlling Your Computer Through Email \\
17. Manipulating Images \\
Computer Image Fundamentals \\
Colors and RGBA Values \\
Coordinates and Box Tuples \\
Manipulating Images with Pillow \\
Working with the Image Data Type \\
Cropping Images \\
Copying and Pasting Images onto Other Images \\
Resizing an Image \\
Rotating and Flipping Images \\
Changing Individual Pixels \\
Project: Adding a Logo \\
Step 1: Open the Logo Image \\
Step 2: Loop Over All Files and Open Images \\
Step 3: Resize the Images \\
Step 4: Add the Logo and Save the Changes \\
Ideas for Similar Programs \\
Drawing on Images \\
Drawing Shapes \\
Points \\
Lines \\
Rectangles \\
Ellipses \\
Polygons \\
Drawing Example \\
Drawing Text \\
Summary \\
Practice Questions \\
Practice Projects \\
Extending and Fixing the Chapter Project Programs \\
Identifying Photo Folders on the Hard Drive \\
Custom Seating Cards \\
18. Controlling the Keyboard and Mouse with GUI
Automation \\
Installing the pyautogui Module \\
Staying on Track \\
Shutting Down Everything by Logging Out \\
Pauses and Fail-Safes \\
Controlling Mouse Movement \\
Moving the Mouse \\
Getting the Mouse Position \\
Project: Where Is the Mouse Right Now? \\
Step 1: Import the Module \\
Step 2: Set Up the Quit Code and Infinite Loop \\
Step 3: Get and Print the Mouse Coordinates \\
Controlling Mouse Interaction \\
Clicking the Mouse \\
Dragging the Mouse \\
Scrolling the Mouse \\
Working with the Screen \\
Getting a Screenshot \\
Analyzing the Screenshot \\
Project: Extending the mouseNow Program \\
Image Recognition \\
Controlling the Keyboard \\
Sending a String from the Keyboard \\
Key Names \\
Pressing and Releasing the Keyboard \\
Hotkey Combinations \\
Review of the PyAutoGUI Functions \\
Project: Automatic Form Filler \\
Step 1: Figure Out the Steps \\
Step 2: Set Up Coordinates \\
Step 3: Start Typing Data \\
Step 4: Handle Select Lists and Radio Buttons \\
Step 5: Submit the Form and Wait \\
Summary \\
Practice Questions \\
Practice Projects \\
Looking Busy \\
Instant Messenger Bot \\
Game-Playing Bot Tutorial \\
A. Installing Third-Party Modules \\
The pip Tool \\
Installing Third-Party Modules \\
B. Running Programs \\
Shebang Line \\
Running Python Programs on Windows \\
Running Python Programs on OS X and Linux \\
C. Answers to the Practice Questions \\
Chapter 1 \\
Chapter 2 \\
Chapter 3 \\
Chapter 4 \\
Chapter 5 \\
Chapter 6 \\
Chapter 7 \\
Chapter 8 \\
Chapter 9 \\
Chapter 10 \\
Chapter 11 \\
Chapter 12 \\
Chapter 13 \\
Chapter 14 \\
Chapter 15 \\
Chapter 16 \\
Chapter 17 \\
Chapter 18 \\
D. Resources \\
Index",
}
@Article{Trevino:2014:ANP,
author = "Jeffrey Trevi{\~n}o and Craig Sapp",
title = "Automated Notation of Piano Recordings for Historic
Performance Practice Study",
journal = j-JOCCH,
volume = "7",
number = "3",
pages = "17:1--17:??",
month = aug,
year = "2014",
CODEN = "????",
DOI = "https://doi.org/10.1145/2597179",
ISSN = "1556-4673 (print), 1556-4711 (electronic)",
ISSN-L = "1556-4673",
bibdate = "Fri Aug 8 11:12:50 MDT 2014",
bibsource = "http://www.acm.org/pubs/contents/journals/jocch/;
https://www.math.utah.edu/pub/tex/bib/jocch.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "We describe a system that automatically notates a
comparative visualization of multiple recorded
performances of the same musical work. Written musical
scores have transmitted basic performance information
to musicians over the ages; however, these scores only
provide skeletal instructions that must be fleshed out
in performance, as musical notation describes phrasing,
articulation, dynamics, accentuation, and other
ornamentations in generalized and ambiguous forms.
Consequently, musical performances derived from the
same notation can vary widely from each other in the
same manner that a written text may be spoken with
intense emotion or in flat monotone. Prior to the
advent of recording technology, musical performances
were ephemeral, only occurring once, never to be heard
again in exactly the same rendition. As a result,
musical interpretations were informed only by live
listening. Now, with more than a century of recorded
performance practice, musicians can delve deeper into
the history of their aural art to gain inspiration and
insight from sources that would otherwise have been
inaccessible. Performers have become interested in
giving performances inspired by recordings of the past,
which often obey a musical common sense alien to the
standards of modern practice, and it is useful for
historically informed performers to describe, analyze,
emulate, and internalize the performance styles of the
past through the detailed study of recordings. Although
much can be learned by listening, a visual interface
may reveal potentially inaudible details of a
recording. Because performers interact daily with
traditional musical notation-a sophisticated, if
ambiguous, multidimensional visualization of musical
information-one approach to the design of such an
interface leverages performers' existing knowledge by
reducing the gap between data visualization and
traditional musical notation as much as possible. Using
Abjad, a Python-based tool for musical composition, the
symbols of conventional staff notation are augmented to
illustrate the intensity and temporal proximity of
performed musical events graphically, thus facilitating
the comparison of individual performances and the study
of changes in performance aesthetics over time.",
acknowledgement = ack-nhfb,
articleno = "17",
fjournal = "Journal on Computing and Cultural Heritage (JOCCH)",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1157",
}
@Book{Vaingast:2014:BPV,
author = "Shai Vaingast",
title = "Beginning {Python} visualization crafting visual
transformation scripts",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
year = "2014",
ISBN = "1-4842-0053-5",
ISBN-13 = "978-1-4842-0053-7",
LCCN = "????",
bibdate = "Sat Oct 24 06:21:41 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Expert's voice in Python",
URL = "http://proquest.tech.safaribooksonline.de/9781484200520",
acknowledgement = ack-nhfb,
tableofcontents = "About the Author \\
About the Technical Reviewer \\
Acknowledgments \\
Introduction \\
Chapter 1: Navigating the World of Data Visualization
\\
Gathering Data \\
Case Study: GPS Data \\
Scanning Serial Ports \\
Recording GPS Data \\
Data Organization \\
File Format \\
File Naming Conventions \\
Data Location \\
Data Analysis \\
Walking Directories \\
Reading CSV Files \\
Analyzing GPS Data \\
Extracting GPS Data \\
Data Visualization \\
GPS Location Plot \\
Annotating the Graph \\
Velocity Plot \\
Subplots \\
Text \\
Tying It All Together \\
Final Notes and References \\
Chapter 2: The Environment \\
Tools of the Trade \\
Operating Systems \\
GNU/Linux \\
Windows \\
Choosing an Operating System \\
Then Again, Why Choose? Using Several Operating Systems
\\
The Python Environment \\
Versions \\
Python \\
Python Integrated Development Environments \\
Scientific Computing \\
Manually Installing a Python Package \\
Installation Summary \\
Additional Applications \\
Editors \\
A Short List of Text Editors \\
Spreadsheets \\
Word Processors \\
Image Viewers \\
Version-Control Systems \\
Licensing \\
Final Notes and References \\
Chapter 3: Python for Programmers \\
The Building Blocks \\
What Is Python? \\
Interactive Python \\
Invoking Python \\
Entering Commands \\
The Interactive Help System \\
Moving Around \\
Running Scripts \\
Data Types \\
Numbers \\
Strings \\
Booleans \\
Data Structures \\
Lists \\
Tuples \\
Dictionaries \\
Sets \\
Variables \\
Statements \\
Printing \\
User Input \\
Comments \\
Flow Control \\
Some Built-in Functions \\
Defining Functions \\
Generators \\
Generator Expressions \\
Object-Oriented Programming \\
Modules and Packages \\
The import Statement \\
Modules Installed in a System \\
The dir Statement \\
Final Notes and References \\
Chapter 4: Data Organization \\
Organizing Chaos \\
File Name Conventions \\
Date and Time in a File Name \\
Useful File Name Titles \\
File Name Extensions \\
File Name Convention Recap \\
Other Schemes \\
File Formats \\
CSV File Format \\
Binary Files \\
Readme Files \\
INI Files \\
XML and Other Formats \\
Locating Data Files \\
Organization into Directories \\
Searching for Files \\
Indexing \\
Catalogs \\
Files vs. a Database \\
Final Notes and References \\
Chapter 5: Processing Text Files \\
Text Is Everywhere \\
Text and Strings \\
Splitting Text \\
Joining Strings \\
Converting Strings to Numbers \\
Find and Replace \\
Stripping Strings \\
String Formatting \\
String Conditionals \\
More on Strings \\
Files \\
Opening a File \\
Closing a File \\
Writing Text \\
Reading Text \\
Working with Text Files \\
Example: Character, Word, and Line Count \\
Example: head and tail \\
Example: Splitting and Combining Files \\
Example: Searching Inside a Text File \\
Example: Working with Comments \\
Example: Extracting Numbers from a Text File \\
CSV Files \\
The csv Module \\
The csv.reader Object \\
The csv.writer Object \\
More CSV Functionality \\
DictReader and DictWriter Objects \\
Date and Time \\
Time Module \\
The struct_time Tuple \\
Parsing and Formatting Date and Time \\
The Epoch: ``Linearizing'' the Time Base \\
Additional Time and Date Functions \\
Regular Expressions \\
Regular Expression Patterns \\
Special Sequences \\
Alternatives \\
Ranges \\
When to Use Regular Expressions \\
Internationalization and Localization \\
Locale \\
Unicode Strings \\
Final Notes and References \\
Chapter 6: Graphs and Plots \\
Visualizing Data \\
The matplotlib Package \\
Interactive Graphs vs. Image Files \\
Interactive Graphs \\
Savings Graphs to Files \\
Plotting Graphs \\
Lines and Markers \\
Plotting Several Graphs on One Figure \\
Line Widths and Marker Sizes \\
Colors \\
Controlling the Graph \\
Axis \\
Grid and Ticks \\
Subplots \\
Erasing the Graph \\
Adding Text \\
Title \\
Axis Labels and Legend \\
Text Rendering \\
Mathematical Symbols and Expressions \\
More Graph Types \\
Bar Charts \\
Histograms \\
Pie Charts \\
Logarithmic Plots \\
Polar Plots \\
Stem Plots \\
Additional Graphs \\
Getting and Setting Values \\
Setting Figure and Axis Parameters \\
Patches \\
Example: Adding Arrows to a Graph \\
Example: Some Other Patches \\
3D Plots \\
The Basemap Toolkit \\
Example: French Airports \\
Final Notes and References \\
Chapter 7: Math Games \\
Preprocessing Data Prior to Visualization \\
Modules math and cmath \\
Example: Mandelbrot Set \\
Example: a Newton Fractal \\
Module decimal \\
Module fractions \\
Module random \\
Using Module random to Solve Probability Questions \\
Random Sequences \\
Module NumPy \\
Array Creation \\
Slicing, Indexing, and Reshaping \\
N-Dimensional Arrays \\
Math Functions \\
Array Methods and Properties \\
Other Useful Array Functions \\
Final Notes and References \\
Chapter 8: Science and Visualization \\
Numerical Analysis and Signal Processing \\
Finding Your Way: Variables and Functions \\
SciPy \\
Linear Algebra \\
Solving a System of Linear Equations \\
Vector and Matrix Operations \\
Matrix Decomposition \\
Additional Linear Algebra Functionality \\
Numerical Integration \\
More Integration Methods \\
Interpolation and Curve Fitting \\
Piecewise Linear Interpolation \\
Polynomials \\
Uses of Polynomials \\
Spline Interpolation \\
Solving Nonlinear Equations \\
Special Functions \\
Signal Processing \\
Functions find, nonzero, where and select \\
Functions diff and split \\
Waveforms \\
Fourier Transform \\
Example: FFT of a Sampled Cosine Wave \\
Window Functions \\
Filtering \\
Filter Design \\
Example: a Heart-Rate Monitor \\
Example: Moving Average \\
Final Notes and References \\
Chapter 9: Image Processing \\
Two-Dimensional Data \\
Reading, Writing, and Displaying Images \\
Reading Images from File \\
Image Attributes \\
Displaying Images \\
Converting File Formats \\
Image Manipulation \\
Creating New Images \\
Copy and Paste \\
Crop and Resize \\
Rotate \\
Image Annotation \\
Annotating with Geometrical Shapes \\
Text Annotations \\
Image Processing \\
Matrix Representation and Colors \\
Reading an Image to a NumPy Array \\
Example: Counting Objects (Five Parts) \\
Image Arithmetic \\
Image Filtering \\
Making Movies \\
Splitting Movies \\
Creating Movies from Images \\
Example: a Fractal Movie \\
Final Notes and References \\
Chapter 10: Advanced File Processing \\
More on Files \\
Binary Files and Random Access \\
Example: Reading the Nth Field \\
Example: Efficient Tail Implementation \\
Example: Creating a Fixed Size File \\
Example: Recording Time-Based Binary Data \\
Reading MATLAB Files as NumPy Arrays \\
Reading Text Files Directly to NumPy Arrays \\
Example: Reading and Writing Text Files to NumPy Arrays
\\
Object Serialization \\
The Pickle Module \\
Command-Line Parameters \\
argv \\
Example: Creating a Fixed Size File (a Stand-Alone
Script) \\
The optparse Module \\
The FileInput Module \\
File and Directory Manipulation \\
Module glob \\
Additional os Module Functionality \\
Additional os.path Module Functionality \\
Module shutil \\
File Compression \\
Example: a Compressed tar File \\
Comparing Files \\
Module filecmp \\
Module difflib \\
Final Notes and References \\
Appendix: Additional Source Listing \\
Nudge Subplots \\
Magic Square Arrows \\
Numerical Integration Visualization Source Code \\
Fractal Function Source Code \\
Index",
}
@Article{Williamson:2014:PPP,
author = "Todd Williamson and Ronald A. Olsson",
title = "{PySy}: a {Python} package for enhanced concurrent
programming",
journal = j-CCPE,
volume = "26",
number = "2",
pages = "309--335",
month = feb,
year = "2014",
CODEN = "CCPEBO",
DOI = "https://doi.org/10.1002/cpe.2981",
ISSN = "1532-0626 (print), 1532-0634 (electronic)",
ISSN-L = "1532-0626",
bibdate = "Sat Feb 8 15:45:14 MST 2014",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ccpe.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Concurrency and Computation: Practice and Experience",
journal-URL = "http://www.interscience.wiley.com/jpages/1532-0626",
onlinedate = "18 Dec 2012",
}
@Book{Yan:2014:PFB,
author = "Yuxing Yan",
title = "{Python} for finance: build real-life {Python}
applications for quantitative finance and financial
engineering",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "ix + 386",
year = "2014",
ISBN = "1-78328-438-2, 1-78328-437-4",
ISBN-13 = "978-1-78328-438-2, 978-1-78328-437-5",
LCCN = "QA76.73.P98 Y36 2014",
bibdate = "Sat Oct 24 06:41:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Finance; Statistical methods; Data processing;
Financial engineering; Python (Computer program
language); Finances; M{\'e}thodes statistiques;
Informatique; Ing{\'e}nierie financi{\`e}re; Python
(Langage de programmation)",
tableofcontents = "Preface \\
Why Python? \\
A programming book written by a finance professor \\
Small programs oriented \\
Using real-world data \\
What this book covers \\
What could you achieve after reading this book? \\
Who this book is for \\
Conventions \\
Two ways to use the book \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Introduction and Installation of Python \\
Introduction to Python \\
Installing Python \\
Different versions of Python \\
Ways to launch Python \\
Launching Python with GUI \\
Launching Python from the Python command line \\
Launching Python from our own DOS window \\
Quitting Python \\
Error messages \\
Python language is case sensitive \\
Initializing the variable \\
Finding the help window \\
Finding manuals and tutorials \\
Finding the version of Python \\
Summary \\
Exercises \\
2. Using Python as an Ordinary Calculator \\
Assigning values to variables \\
Displaying the value of a variable \\
Error messages \\
Can't call a variable without assignment \\
Choosing meaningful names \\
Using dir() to find variables and functions \\
Deleting or unsigning a variable \\
Basic math operations --- addition, subtraction,
multiplication, and division \\
The power function, floor, and remainder \\
A true power function \\
Choosing appropriate precision \\
Finding out more information about a specific built-in
function \\
Listing all built-in functions \\
Importing the math module \\
The pi, e, log, and exponential functions \\
`import math' versus `from math import *' \\
A few frequently used functions \\
The print() function \\
The type() function \\
Last expression _ (underscore) \\
Combining two strings \\
The upper() function \\
The tuple data type \\
Summary \\
Exercises \\
3. Using Python as a Financial Calculator \\
Writing a Python function without saving it \\
Default input values for a function \\
Indentation is critical in Python \\
Checking the existence of our functions \\
Defining functions from our Python editor \\
Activating our function using the import function \\
Debugging a program from a Python editor \\
Two ways to call our pv_f() function \\
Generating our own module \\
Types of comments \\
The first type of comment \\
The second type of comment \\
Finding information about our pv_f() function \\
The if() function \\
Annuity estimation \\
Converting the interest rates \\
Continuously compounded interest rate \\
A data type --- list \\
Net present value and the NPV rule \\
Defining the payback period and the payback period rule
\\
Defining IRR and the IRR rule \\
Showing certain files in a specific subdirectory \\
Using Python as a financial calculator \\
Adding our project directory to the path \\
Summary \\
Exercises \\
4. 13 Lines of Python to Price a Call Option \\
Writing a program --- the empty shell method \\
Writing a program --- the comment-all-out method \\
Using and debugging other programs \\
Summary \\
Exercises \\
5. Introduction to Modules \\
What is a module? \\
Importing a module \\
Adopting a short name for an imported module \\
Showing all functions in an imported module \\
Comparing `import math' and `from math import *' \\
Deleting an imported module \\
Importing only a few needed functions \\
Finding out all built-in modules \\
Finding out all the available modules \\
Finding the location of an imported module \\
More information about modules \\
Finding a specific uninstalled module \\
Module dependency \\
Summary \\
Exercises \\
6. Introduction to NumPy and SciPy \\
Installation of NumPy and SciPy \\
Launching Python from Anaconda \\
Examples of using NumPy \\
Examples of using SciPy \\
Showing all functions in NumPy and SciPy \\
More information about a specific function \\
Understanding the list data type \\
Working with arrays of ones, zeros, and the identity
matrix \\
Performing array manipulations \\
Performing array operations with +, -, *, / \\
Performing plus and minus operations \\
Performing a matrix multiplication operation \\
Performing an item-by-item multiplication operation \\
The x.sum() dot function \\
Looping through an array \\
Using the help function related to modules \\
A list of subpackages for SciPy \\
Cumulative standard normal distribution \\
Logic relationships related to an array \\
Statistic submodule (stats) from SciPy \\
Interpolation in SciPy \\
Solving linear equations using SciPy \\
Generating random numbers with a seed \\
Finding a function from an imported module \\
Understanding optimization \\
Linear regression and Capital Assets Pricing Model
(CAPM) \\
Retrieving data from an external text file \\
The loadtxt() and getfromtxt() functions \\
Installing NumPy independently \\
Understanding the data types \\
Summary \\
Exercises \\
7. Visual Finance via Matplotlib \\
Installing matplotlib via ActivePython \\
Alternative installation via Anaconda \\
Understanding how to use matplotlib \\
Understanding simple and compounded interest rates \\
Adding texts to our graph \\
Working with DuPont identity \\
Understanding the Net Present Value (NPV) profile \\
Using colors effectively \\
Using different shapes \\
Graphical representation of the portfolio
diversification effect \\
Number of stocks and portfolio risk \\
Retrieving historical price data from Yahoo! Finance
\\
Histogram showing return distribution \\
Comparing stock and market returns \\
Understanding the time value of money \\
Candlesticks representation of IBM's daily price \\
Graphical representation of two-year price movement \\
IBM's intra-day graphical representations \\
Presenting both closing price and trading volume \\
Adding mathematical formulae to our graph \\
Adding simple images to our graphs \\
Saving our figure to a file \\
Performance comparisons among stocks \\
Comparing return versus volatility for several stocks
\\
Finding manuals, examples, and videos \\
Installing the matplotlib module independently \\
Summary \\
Exercises \\
8. Statistical Analysis of Time Series \\
Installing Pandas and statsmodels \\
Launching Python using the Anaconda command prompt \\
Launching Python using the DOS window \\
Launching Python using Spyder \\
Using Pandas and statsmodels \\
Using Pandas \\
Examples from statsmodels \\
Open data sources \\
Retrieving data to our programs \\
Inputting data from the clipboard \\
Retrieving historical price data from Yahoo! Finance
\\
Inputting data from a text file \\
Inputting data from an Excel file \\
Inputting data from a CSV file \\
Retrieving data from a web page \\
Inputting data from a MATLAB dataset \\
Several important functionalities \\
Using pd.Series() to generate one-dimensional time
series \\
Using date variables \\
Using the DataFrame \\
Return estimation \\
Converting daily returns to monthly returns \\
Converting daily returns to annual returns \\
Merging datasets by date \\
Forming an n-stock portfolio \\
T-test and F-test \\
Tests of equal means and equal variances \\
Testing the January effect \\
Many useful applications \\
52-week high and low trading strategy \\
Roll's model to estimate spread (1984) \\
Amihud's model for illiquidity (2002) \\
Pastor and Stambaugh (2003) liquidity measure \\
Fama-French three-factor model \\
Fama-MacBeth regression \\
Estimating rolling beta \\
Understanding VaR \\
Constructing an efficient frontier \\
Estimating a variance-covariance matrix \\
Optimization --- minimization \\
Constructing an optimal portfolio \\
Constructing an efficient frontier with n stocks \\
Understanding the interpolation technique \\
Outputting data to external files \\
Outputting data to a text file \\
Saving our data to a binary file \\
Reading data from a binary file \\
Python for high-frequency data \\
Spread estimated based on high-frequency data \\
More on using Spyder \\
A useful dataset \\
Summary \\
Exercise \\
9. The Black-Scholes-Merton Option Model \\
Payoff and profit/loss functions for the call and put
options \\
European versus American options \\
Cash flows, types of options, a right, and an
obligation \\
Normal distribution, standard normal distribution, and
cumulative standard normal distribution \\
The Black-Scholes-Merton option model on non-dividend
paying stocks \\
The p4f module for options \\
European options with known dividends \\
Various trading strategies \\
Covered call --- long a stock and short a call \\
Straddle --- buy a call and a put with the same
exercise prices \\
A calendar spread \\
Butterfly with calls \\
Relationship between input values and option values \\
Greek letters for options \\
The put-call parity and its graphical representation
\\
Binomial tree (the CRR method) and its graphical
representation \\
The binomial tree method for European options \\
The binomial tree method for American options \\
Hedging strategies \\
Summary \\
Exercises \\
10. Python Loops and Implied Volatility \\
Definition of an implied volatility \\
Understanding a for loop \\
Estimating the implied volatility by using a for loop
\\
Implied volatility function based on a European call
\\
Implied volatility based on a put option model \\
The enumerate() function \\
Estimation of IRR via a for loop \\
Estimation of multiple IRRs \\
Understanding a while loop \\
Using keyboard commands to stop an infinitive loop \\
Estimating implied volatility by using a while loop \\
Nested (multiple) for loops \\
Estimating implied volatility by using an American call
\\
Measuring efficiency by time spent in finishing a
program \\
The mechanism of a binary search \\
Sequential versus random access \\
Looping through an array/DataFrame \\
Assignment through a for loop \\
Looping through a dictionary \\
Retrieving option data from CBOE \\
Retrieving option data from Yahoo! Finance \\
Different expiring dates from Yahoo! Finance \\
Retrieving the current price from Yahoo! Finance \\
The put-call ratio \\
The put-call ratio for a short period with a trend \\
Summary \\
Exercises \\
11. Monte Carlo Simulation and Options \\
Generating random numbers from a standard normal
distribution \\
Drawing random samples from a normal (Gaussian)
distribution \\
Generating random numbers with a seed \\
Generating n random numbers from a normal distribution
\\
Histogram for a normal distribution \\
Graphical presentation of a lognormal distribution \\
Generating random numbers from a uniform distribution
\\
Using simulation to estimate the pi value \\
Generating random numbers from a Poisson distribution
\\
Selecting m stocks randomly from n given stocks \\
Bootstrapping with/without replacements \\
Distribution of annual returns \\
Simulation of stock price movements \\
Graphical presentation of stock prices at options'
maturity dates \\
Finding an efficient portfolio and frontier \\
Finding an efficient frontier based on two stocks \\
Impact of different correlations \\
Constructing an efficient frontier with n stocks \\
Geometric versus arithmetic mean \\
Long-term return forecasting \\
Pricing a call using simulation \\
Exotic options \\
Using the Monte Carlo simulation to price average
options \\
Pricing barrier options using the Monte Carlo
simulation \\
Barrier in-and-out parity \\
Graphical presentation of an up-and-out and up-and-in
parity \\
Pricing lookback options with floating strikes \\
Using the Sobol sequence to improve the efficiency \\
Summary \\
Exercises \\
12. Volatility Measures and GARCH \\
Conventional volatility measure --- standard deviation
\\
Tests of normality \\
Estimating fat tails \\
Lower partial standard deviation \\
Test of equivalency of volatility over two periods \\
Test of heteroskedasticity, Breusch, and Pagan (1979)
\\
Retrieving option data from Yahoo! Finance \\
Volatility smile and skewness \\
Graphical presentation of volatility clustering \\
The ARCH model \\
Simulating an ARCH (1) process \\
The GARCH (Generalized ARCH) model \\
Simulating a GARCH process \\
Simulating a GARCH (p,q) process using modified
garchSim() \\
GJR_GARCH by Glosten, Jagannanthan, and Runkle (1993)
\\
Summary \\
Exercises \\
Index",
}
@Article{Zhang:2014:AIO,
author = "Wei Zhang and Per Larsen and Stefan Brunthaler and
Michael Franz",
title = "Accelerating iterators in optimizing {AST}
interpreters",
journal = j-SIGPLAN,
volume = "49",
number = "10",
pages = "727--743",
month = oct,
year = "2014",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2714064.2660223",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Generators offer an elegant way to express iterators.
However, their performance has always been their
Achilles heel and has prevented widespread adoption. We
present techniques to efficiently implement and
optimize generators. We have implemented our
optimizations in ZipPy, a modern, light-weight AST
interpreter based Python 3 implementation targeting the
Java virtual machine. Our implementation builds on a
framework that optimizes AST interpreters using
just-in-time compilation. In such a system, it is
crucial that AST optimizations do not prevent
subsequent optimizations. Our system was carefully
designed to avoid this problem. We report an average
speedup of 3.58x for generator-bound programs. As a
result, using generators no longer has downsides and
programmers are free to enjoy their upsides.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "OOPSLA '14 conference proceedings.",
}
@Article{Anonymous:2015:BRB,
author = "Anonymous",
title = "Book Review: {{\booktitle{Black Hat Python}}, Justin
Seitz. No Starch Press. ISBN 978-1-59327-590-7}",
journal = j-NETWORK-SECURITY,
volume = "2015",
number = "4",
pages = "4--4",
month = apr,
year = "2015",
CODEN = "NTSCF5",
DOI = "https://doi.org/10.1016/S1353-4858(15)30025-8",
ISSN = "1353-4858 (print), 1872-9371 (electronic)",
ISSN-L = "1353-4858",
bibdate = "Mon Dec 4 17:01:18 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S1353485815300258",
acknowledgement = ack-nhfb,
fjournal = "Network Security",
journal-URL = "https://www.sciencedirect.com/journal/network-security",
}
@Article{Anonymous:2015:BRD,
author = "Anonymous",
title = "Book Review: {{\booktitle{Doing Math With Python}},
Amit Saha. No Starch Press. ISBN 978-1-59327-640-9}",
journal = j-NETWORK-SECURITY,
volume = "2015",
number = "10",
pages = "4--4",
month = oct,
year = "2015",
CODEN = "NTSCF5",
DOI = "https://doi.org/10.1016/S1353-4858(15)30088-X",
ISSN = "1353-4858 (print), 1872-9371 (electronic)",
ISSN-L = "1353-4858",
bibdate = "Mon Dec 4 17:01:25 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/network-security.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S135348581530088X",
acknowledgement = ack-nhfb,
fjournal = "Network Security",
journal-URL = "https://www.sciencedirect.com/journal/network-security",
}
@Book{Antao:2015:BPC,
author = "Tiago Antao",
title = "Bioinformatics with {Python} cookbook",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "306 (est.)",
year = "2015",
ISBN = "1-78217-511-3, 1-78355-865-2 (e-book)",
ISBN-13 = "978-1-78217-511-7, 978-1-78355-865-0 (e-book)",
LCCN = "QA76.73.P98 .A583 2015",
bibdate = "Fri Oct 23 16:45:40 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why Subscribe? \\
Free Access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Sections \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Python and the Surrounding Software Ecology \\
Introduction \\
Installing the required software with Anaconda \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Installing the required software with Docker \\
Getting ready \\
How to do it \ldots{} \\
See also \\
Interfacing with R via rpy2 \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Performing R magic with IPython \\
Getting ready \\
How to do it \ldots{} \\
See also \\
2. Next-generation Sequencing \\
Introduction \\
Accessing GenBank and moving around NCBI databases \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Performing basic sequence analysis \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Working with modern sequence formats \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Working with alignment data \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Analyzing data in the variant call format \\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
Studying genome accessibility and filtering SNP data
\\
Getting ready \\
How to do it \ldots{} \\
There's more \ldots{} \\
See also \\
3. Working with Genomes \\
Introduction \\
Working with high-quality reference genomes \\
Getting ready \\
How to do it \\
There's more \\
See also \\
Dealing with low-quality genome references \\
Getting ready \\
How to do it \\
There's more \\
See also \\
Traversing genome annotations \\
Getting ready \\
How to do it \\
There's more \\
See also \\
Extracting genes from a reference using annotations \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
See also \\
Finding orthologues with the Ensembl REST API \\
Getting ready \\
How to do it \\
There's more \\
Retrieving gene ontology information from Ensembl \\
Getting ready \\
How to do it \\
There's more \\
See also \\
4. Population Genetics \\
Introduction \\
Managing datasets with PLINK \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
See also \\
Introducing the Genepop format \\
Getting ready \\
How to do it \ldots{} \\
See also \\
Exploring a dataset with Bio.PopGen \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
See also \\
Computing F-statistics \\
Getting ready \\
How to do it \ldots{} \\
See also \\
Performing Principal Components Analysis \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
See also \\
Investigating population structure with Admixture \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
5. Population Genetics Simulation \\
Introduction \\
Introducing forward-time simulations \\
Getting ready \\
How to do it \\
There's more \\
Simulating selection \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
Simulating population structure using island and
stepping-stone models \\
Getting ready \\
How to do it \ldots{} \\
Modeling complex demographic scenarios \\
Getting ready \\
How to do it \ldots{} \\
Simulating the coalescent with Biopython and
fastsimcoal \\
Getting ready \\
How to do it \ldots{} \\
There's more \\
See also \\
6. Phylogenetics \\
Introduction \\
Preparing the Ebola dataset \\
Getting ready \\
How to do it \\
There's more \\
See also \\
Aligning genetic and genomic data \\
Getting ready \\
How to do it \\
Comparing sequences \\
Getting ready \\
How to do it \\
There's more \ldots{} \\
Reconstructing phylogenetic trees \\
Getting ready \\
How to do it \\
There's more \\
Playing recursively with trees \\
Getting ready \\
How to do it \\
There's more \\
Visualizing phylogenetic data \\
Getting ready \\
How to do it \\
There's more \\
7. Using the Protein Data Bank \\
Introduction \\
Finding a protein in multiple databases \\
Getting ready \\
How to do it \\
There's more \\
Introducing Bio.PDB \\
Getting ready \\
How to do it \\
There's more \\
Extracting more information from a PDB file \\
Getting ready \\
How to do it \\
Computing molecular distances on a PDB file \\
Getting ready \\
How to do it \\
Performing geometric operations \\
Getting ready \\
How to do it \\
There's more \\
Implementing a basic PDB parser \\
Getting ready \\
How to do it \\
There's more \\
Animating with PyMol \\
Getting ready \\
How to do it \\
There's more \\
Parsing mmCIF files using Biopython \\
Getting ready \\
How to do it \\
There's more \\
8. Other Topics in Bioinformatics \\
Introduction \\
Accessing the Global Biodiversity Information Facility
\\
How to do it \\
There's more \\
Geo-referencing GBIF datasets \\
Getting ready \\
How to do it \\
There's more \\
Accessing molecular-interaction databases with PSIQUIC
\\
How to do it \\
Plotting protein interactions with Cytoscape the hard
way \\
Getting ready \\
How to do it \\
There's more \\
9. Python for Big Genomics Datasets \\
Introduction \\
Setting the stage for high-performance computing \\
Getting ready \\
How to do it \\
Designing a poor human concurrent executor \\
Getting ready \\
How to do it \\
There's more \\
Performing parallel computing with IPython \\
Getting ready \\
How to do it \\
There's more \\
Computing the median in a large dataset \\
Getting ready \\
How to do it \\
There's more \\
Optimizing code with Cython and Numba \\
Getting ready \\
How to do it \\
There's more \\
Programming with laziness \\
Getting ready \\
How to do it \\
There's more \\
Thinking with generators \\
Getting ready \\
How to do it \\
See also \\
Index",
}
@Book{Bahgat:2015:PGD,
author = "Karim Bahgat",
title = "{Python} geospatial development essentials: utilize
{Python} with open source libraries to build a
lightweight, portable, and customizable {GIS} desktop
application",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "192 (est.)",
year = "2015",
ISBN = "1-78217-540-7, 1-78217-441-9 (e-book)",
ISBN-13 = "978-1-78217-540-7, 978-1-78217-441-7 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 17:12:28 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781782175407",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Geospatial data;
Geographic information systems; Application software;
Development; COMPUTERS / General; Development.;
Geographic information systems.; Geospatial data.;
Python (Computer program language)",
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Preparing to Build Your Own GIS Application \\
Why reinvent the wheel? \\
Setting up your computer \\
Installing third-party packages \\
Imagining the roadmap ahead \\
Summary \\
2. Accessing Geodata \\
The approach \\
Vector data \\
A data interface for vector data \\
The vector data structure \\
Computing bounding boxes \\
Spatial indexing \\
Loading vector files \\
Shapefile \\
GeoJSON \\
File format not supported \\
Saving vector data \\
Shapefile \\
GeoJSON \\
File format not supported \\
Raster data \\
A data interface for raster data \\
The raster data structure \\
Positioning the raster in coordinate space \\
Nodata masking \\
Loading raster data \\
GeoTIFF \\
File format not supported \\
Saving raster data \\
GeoTIFF \\
File format not supported \\
Summary \\
3. Designing the Visual Look of Our Application \\
Setting up the GUI package \\
Creating the toolkit building blocks \\
Themed styling \\
Basic buttons \\
Buttons with icons \\
Toolbars \\
The Ribbon tab system \\
The bottom status bar \\
The layers pane \\
The Map widget \\
Pop-up windows \\
Dispatching heavy tasks to thread workers \\
Using the toolkit to build the GUI \\
Testing our application \\
Summary \\
4. Rendering Our Geodata \\
Rendering \\
Installing PyAgg \\
A sequence of layers \\
The MapCanvas drawer \\
Individual layer renderings \\
Vector layers \\
Raster layers \\
Interactively rendering our maps \\
Linking the MapView to the renderer \\
Requesting to render a map \\
Resizing the map in proportion to window resizing \\
The LayersPane as a LayerGroup \\
Adding layers \\
Editing layers in the LayersPane widget \\
Click-and-drag to rearrange the layer sequence \\
Zooming the map image \\
Map panning and one-time rectangle zoom \\
A navigation toolbar \\
Putting it all together \\
Summary \\
5. Managing and Organizing Geographic Data \\
Creating the management module \\
Inspecting files \\
Organizing files \\
Vector data \\
Splitting \\
Merging \\
Geometry cleaning \\
Raster data \\
Mosaicking \\
Resampling \\
Weaving functionality into the user interface \\
Layer-specific right-click functions \\
Defining the tool options windows \\
Setting up the management tab \\
Defining the tool options windows \\
Summary \\
6. Analyzing Geographic Data \\
Creating the analysis module \\
Analyzing data \\
Vector data \\
Overlap summary \\
Buffer \\
Raster data \\
Zonal statistics \\
Weaving functionality into the user interface \\
Layer-specific right-click functions \\
Defining the tool options windows \\
Setting up the analysis tab \\
Defining the tool options window \\
Summary \\
7. Packaging and Distributing Your Application \\
Attaching an application logo \\
The icon image file \\
Assigning the icon \\
The application start up script \\
Packaging your application \\
Installing py2exe \\
Developing a packaging strategy \\
Creating the build script \\
Adding the visual C runtime DLL \\
Creating an installer \\
Installing Inno Setup \\
Setting up your application's installer \\
Summary \\
8. Looking Forward \\
Improvements to the user interface \\
Saving and loading user sessions \\
File drag and drop \\
GUI widgets \\
Other variations of the user interface \\
Adding more GIS functionality \\
Basic GIS selections \\
More advanced visualization \\
Online data services \\
Converting between raster and vector data \\
Projections \\
Geocoding \\
Going the GDAL/NumPy/SciPy route \\
Expanding to other platforms \\
Touch devices \\
Summary \\
Index",
}
@Article{Bauman:2015:PTJ,
author = "Spenser Bauman and Carl Friedrich Bolz and Robert
Hirschfeld and Vasily Kirilichev and Tobias Pape and
Jeremy G. Siek and Sam Tobin-Hochstadt",
title = "{Pycket}: a tracing {JIT} for a functional language",
journal = j-SIGPLAN,
volume = "50",
number = "9",
pages = "22--34",
month = sep,
year = "2015",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2858949.2784740",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Tue Feb 16 12:01:43 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "We present Pycket, a high-performance tracing JIT
compiler for Racket. Pycket supports a wide variety of
the sophisticated features in Racket such as contracts,
continuations, classes, structures, dynamic binding,
and more. On average, over a standard suite of
benchmarks, Pycket outperforms existing compilers, both
Racket's JIT and other highly-optimizing Scheme
compilers. Further, Pycket provides much better
performance for Racket proxies than existing systems,
dramatically reducing the overhead of contracts and
gradual typing. We validate this claim with performance
evaluation on multiple existing benchmark suites. The
Pycket implementation is of independent interest as an
application of the RPython meta-tracing framework
(originally created for PyPy), which automatically
generates tracing JIT compilers from interpreters.
Prior work on meta-tracing focuses on bytecode
interpreters, whereas Pycket is a high-level
interpreter based on the CEK abstract machine and
operates directly on abstract syntax trees. Pycket
supports proper tail calls and first-class
continuations. In the setting of a functional language,
where recursion and higher-order functions are more
prevalent than explicit loops, the most significant
performance challenge for a tracing JIT is identifying
which control flows constitute a loop---we discuss two
strategies for identifying loops and measure their
impact.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "ICFP '15 conference proceedings.",
}
@Book{Boschetti:2015:PDS,
author = "Alberto Boschetti and Luca Massaron",
title = "{Python} data science essentials: become an efficient
data science practitioner by thoroughly understanding
the key concepts of {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "258",
year = "2015",
ISBN = "1-78528-789-3, 1-78528-042-2",
ISBN-13 = "978-1-78528-789-3, 978-1-78528-042-9",
LCCN = "QA76.73.P98",
bibdate = "Wed Oct 14 08:32:16 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785280429",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Scripting
languages (Computer science)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. First Steps \\
Introducing data science and Python \\
Installing Python \\
Python 2 or Python 3? \\
Step-by-step installation \\
A glance at the essential Python packages \\
NumPy \\
SciPy \\
pandas \\
Scikit-learn \\
IPython \\
Matplotlib \\
Statsmodels \\
Beautiful Soup \\
NetworkX \\
NLTK \\
Gensim \\
PyPy \\
The installation of packages \\
Package upgrades \\
Scientific distributions \\
Anaconda \\
Enthought Canopy \\
PythonXY \\
WinPython \\
Introducing IPython \\
The IPython Notebook \\
Datasets and code used in the book \\
Scikit-learn toy datasets \\
The MLdata.org public repository \\
LIBSVM data examples \\
Loading data directly from CSV or text files \\
Scikit-learn sample generators \\
Summary \\
2. Data Munging \\
The data science process \\
Data loading and preprocessing with pandas \\
Fast and easy data loading \\
Dealing with problematic data \\
Dealing with big datasets \\
Accessing other data formats \\
Data preprocessing \\
Data selection \\
Working with categorical and textual data \\
A special type of data --- text \\
Data processing with NumPy \\
NumPy's n-dimensional array \\
The basics of NumPy ndarray objects \\
Creating NumPy arrays \\
From lists to unidimensional arrays \\
Controlling the memory size \\
Heterogeneous lists \\
From lists to multidimensional arrays \\
Resizing arrays \\
Arrays derived from NumPy functions \\
Getting an array directly from a file \\
Extracting data from pandas \\
NumPy fast operation and computations \\
Matrix operations \\
Slicing and indexing with NumPy arrays \\
Stacking NumPy arrays \\
Summary \\
3. The Data Science Pipeline \\
Introducing EDA \\
Feature creation \\
Dimensionality reduction \\
The covariance matrix \\
Principal Component Analysis (PCA) \\
A variation of PCA for big data --- RandomizedPCA \\
Latent Factor Analysis (LFA) \\
Linear Discriminant Analysis (LDA) \\
Latent Semantical Analysis (LSA) \\
Independent Component Analysis (ICA) \\
Kernel PCA \\
Restricted Boltzmann Machine (RBM) \\
The detection and treatment of outliers \\
Univariate outlier detection \\
EllipticEnvelope \\
OneClassSVM \\
Scoring functions \\
Multilabel classification \\
Binary classification \\
Regression \\
Testing and validating \\
Cross-validation \\
Using cross-validation iterators \\
Sampling and bootstrapping \\
Hyper-parameters' optimization \\
Building custom scoring functions \\
Reducing the grid search runtime \\
Feature selection \\
Univariate selection \\
Recursive elimination \\
Stability and L1-based selection \\
Summary \\
4. Machine Learning \\
Linear and logistic regression \\
Naive Bayes \\
The k-Nearest Neighbors \\
Advanced nonlinear algorithms \\
SVM for classification \\
SVM for regression \\
Tuning SVM \\
Ensemble strategies \\
Pasting by random samples \\
Bagging with weak ensembles \\
Random Subspaces and Random Patches \\
Sequences of models --- AdaBoost \\
Gradient tree boosting (GTB) \\
Dealing with big data \\
Creating some big datasets as examples \\
Scalability with volume \\
Keeping up with velocity \\
Dealing with variety \\
A quick overview of Stochastic Gradient Descent (SGD)
\\
A peek into Natural Language Processing (NLP) \\
Word tokenization \\
Stemming \\
Word Tagging \\
Named Entity Recognition (NER) \\
Stopwords \\
A complete data science example --- text classification
\\
An overview of unsupervised learning \\
Summary \\
5. Social Network Analysis \\
Introduction to graph theory \\
Graph algorithms \\
Graph loading, dumping, and sampling \\
Summary \\
6. Visualization \\
Introducing the basics of matplotlib \\
Curve plotting \\
Using panels \\
Scatterplots \\
Histograms \\
Bar graphs \\
Image visualization \\
Selected graphical examples with pandas \\
Boxplots and histograms \\
Scatterplots \\
Parallel coordinates \\
Advanced data learning representation \\
Learning curves \\
Validation curves \\
Feature importance \\
GBT partial dependence plot \\
Summary \\
Index",
}
@Book{Bowles:2015:MLP,
author = "Michael Bowles",
title = "Machine learning in {Python}: essential techniques for
predictive analysis",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "xxix + 326",
year = "2015",
DOI = "https://doi.org/10.1002/9781119183600",
ISBN = "1-118-96174-9 (paperback), 1-119-18360-X (e-book),
1-118-96176-5 (e-book), 1-118-96175-7 (e-book)",
ISBN-13 = "978-1-118-96174-2 (paperback), 978-1-119-18360-0
(e-book), 978-1-118-96176-6 (e-book), 978-1-118-96175-9
(e-book)",
LCCN = "Q325.5",
bibdate = "Wed Oct 14 08:29:29 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
tableofcontents = "Introduction \\
Who This Book Is For \\
What This Book Covers \\
How This Book Is Structured \\
What You Need to Use This Book \\
Conventions \\
Source Code \\
Errata \\
Chapter 1 The Two Essential Algorithms for Making
Predictions \\
Why Are These Two Algorithms So Useful? \\
What Are Penalized Regression Methods? \\
What Are Ensemble Methods? \\
How to Decide Which Algorithm to Use \\
The Process Steps for Building a Predictive Model \\
Chapter Contents and Dependencies \\
Summary \\
References \\
Chapter 2 Understand the Problem by Understanding the
Data \\
The Anatomy of a New Problem \\
Classification Problems: Detecting Unexploded Mines
Using Sonar \\
Visualizing Properties of the Rocks versus Mines Data
Set \\
Real-Valued Predictions with Factor Variables: How Old
Is Your Abalone? \\
Real-Valued Predictions Using Real-Valued Attributes:
Calculate How Your Wine Tastes \\
Multiclass Classification Problem: What Type of Glass
Is That? \\
Summary \\
Reference \\
Chapter 3 Predictive Model Building: Balancing
Performance, Complexity, and Big Data \\
The Basic Problem: Understanding Function Approximation
\\
Factors Driving Algorithm Choices and Performance ---
Complexity and Data \\
Measuring the Performance of Predictive Models \\
Achieving Harmony Between Model and Data \\
Summary \\
References \\
Chapter 4 Penalized Linear Regression \\
Why Penalized Linear Regression Methods Are So Useful
\\
Penalized Linear Regression: Regulating Linear
Regression for Optimum Performance \\
Solving the Penalized Linear Regression Problem \\
Extensions to Linear Regression with Numeric Input \\
Summary \\
References \\
Chapter 5 Building Predictive Models Using Penalized
Linear Methods \\
Python Packages for Penalized Linear Regression \\
Multivariable Regression: Predicting Wine Taste \\
Binary Classification: Using Penalized Linear
Regression to Detect Unexploded Mines \\
Multiclass Classification: Classifying Crime Scene
Glass Samples \\
Summary \\
References \\
Chapter 6 Ensemble Methods \\
Binary Decision Trees \\
Bootstrap Aggregation: ``Bagging'' \\
Gradient Boosting \\
Random Forest \\
Summary \\
References \\
Chapter 7 Building Ensemble Models with Python \\
Solving Regression Problems with Python Ensemble
Packages \\
Coding Bagging to Predict Wine Taste \\
Incorporating Non-Numeric Attributes in Python Ensemble
Models \\
Solving Binary Classification Problems with Python
Ensemble Methods \\
Solving Multiclass Classification Problems with Python
Ensemble Methods \\
Comparing Algorithms \\
Summary \\
References \\
Title page \\
Copyright \\
Dedication \\
About the Author \\
About the Technical Editor \\
Credits \\
Acknowledgments \\
EULA",
}
@Book{Buchanan:2015:PWP,
author = "Cameron Buchanan",
title = "{Python} web penetration testing cookbook: over 60
indispensable {Python} recipes to ensure you always
have the right code on hand for web application
testing",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "224 (est.)",
year = "2015",
ISBN = "1-78439-990-6, 1-78439-293-6",
ISBN-13 = "978-1-78439-990-0, 978-1-78439-293-2",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:47:58 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/?fpi=9781784392932",
acknowledgement = ack-nhfb,
remark = ". ``Quick answers to common problems''--Cover.",
subject = "Python (Computer program language); Application
software; Testing",
tableofcontents = "Credits \\
About the Authors \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Disclamer \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Sections \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Gathering Open Source Intelligence \\
Introduction \\
Gathering information using the Shodan API \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Scripting a Google+ API search \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \ldots{} \\
There's more \ldots{} \\
Downloading profile pictures using the Google+ API \\
How to do it \\
How it works \\
Harvesting additional results from the Google+ API
using pagination \\
How to do it \\
How it works \\
Getting screenshots of websites with QtWebKit \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Screenshots based on a port list \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Spidering websites \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
2. Enumeration \\
Introduction \\
Performing a ping sweep with Scapy \\
How to do it \ldots{} \\
How it works \ldots{} \\
Scanning with Scapy \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Checking username validity \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Brute forcing usernames \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Enumerating files \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Brute forcing passwords \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Generating e-mail addresses from names \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Finding e-mail addresses from web pages \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Finding comments in source code \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
3. Vulnerability Identification \\
Introduction \\
Automated URL-based Directory Traversal \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \\
Automated URL-based Cross-site scripting \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Automated parameter-based Cross-site scripting \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Automated fuzzing \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
jQuery checking \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Header-based Cross-site scripting \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Shellshock checking \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
4. SQL Injection \\
Introduction \\
Checking jitter \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Identifying URL-based SQLi \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Exploiting Boolean SQLi \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Exploiting Blind SQL Injection \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Encoding payloads \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
5. Web Header Manipulation \\
Introduction \\
Testing HTTP methods \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Fingerprinting servers through HTTP headers \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Testing for insecure headers \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Brute forcing login through the Authorization header
\\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Testing for clickjacking vulnerabilities \\
How to do it \ldots{} \\
How it works \ldots{} \\
Identifying alternative sites by spoofing user agents
\\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
Testing for insecure cookie flags \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Session fixation through a cookie injection \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
6. Image Analysis and Manipulation \\
Introduction \\
Hiding a message using LSB steganography \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Extracting messages hidden in LSB \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Hiding text in images \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Extracting text from images \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Enabling command and control using steganography \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
7. Encryption and Encoding \\
Introduction \\
Generating an MD5 hash \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Generating an SHA 1/128/256 hash \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Implementing SHA and MD5 hashes together \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Implementing SHA in a real-world scenario \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Generating a Bcrypt hash \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Cracking an MD5 hash \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Encoding with Base64 \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Encoding with ROT13 \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Cracking a substitution cipher \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Cracking the Atbash cipher \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Attacking one-time pad reuse \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Predicting a linear congruential generator \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Identifying hashes \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
8. Payloads and Shells \\
Introduction \\
Extracting data through HTTP requests \\
Getting Ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating an HTTP C2 \\
Getting Started \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating an FTP C2 \\
Getting Started \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating an Twitter C2 \\
Getting Started \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a simple Netcat shell \\
How to do it \ldots{} \\
How it works \ldots{} \\
9. Reporting \\
Introduction \\
Converting Nmap XML to CSV \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Extracting links from a URL to Maltego \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Extracting e-mails to Maltego \\
How to do it \ldots{} \\
How it works \ldots{} \\
Parsing Sslscan into CSV \\
How to do it \ldots{} \\
How it works \ldots{} \\
Generating graphs using plot.ly \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Index",
}
@Book{Chan:2015:LPO,
author = "Jamie Chan",
title = "Learn {Python} in one day and learn it well: {Python}
for beginners with hands-on project: the only book you
need to start coding in {Python} immediately",
publisher = "CreateSpace Independent Publishing",
address = "North Charleston, SC, USA",
pages = "123",
year = "2015",
ISBN = "1-5060-9438-4 (paperback)",
ISBN-13 = "978-1-5060-9438-0 (paperback)",
LCCN = "QA76.73.P98 C453 2015",
bibdate = "Wed Oct 14 08:42:51 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Python, what Python? \\
Getting ready for Python \\
The world of variables and operators \\
Data types in Python \\
Making your program interactive \\
Making choices and decisions \\
Functions and modules \\
Working with files \\
Project : math and BODMAS",
}
@Book{Chandra:2015:PRE,
author = "Rakesh Vidya Chandra and Bala Subrahmanyam Varanasi",
title = "{Python} requests essentials: learn how to integrate
your applications seamlessly with web services using
{Python} requests",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "134",
year = "2015",
ISBN = "1-78439-541-2, 1-78439-231-6 (e-book)",
ISBN-13 = "978-1-78439-541-4, 978-1-78439-231-4 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 17:14:19 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781784395414",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Interacting with the Web Using Requests \\
Introduction to HTTP request \\
Python modules \\
Requests versus urllib2 \\
Essence of Requests \\
Making a simple request \\
Response content \\
Different types of request contents \\
Custom headers \\
Sending form-encoded data \\
Posting multipart encoded files \\
Looking up built-in response status codes \\
Viewing response headers \\
Accessing cookies with Requests \\
Tracking redirection of the request using request
history \\
Using timeout to keep productive usage in check \\
Errors and exceptions \\
Summary \\
2. Digging Deep into Requests \\
Persisting parameters across Requests using Session
objects \\
Revealing the structure of a request and response \\
Using prepared Requests \\
Verifying an SSL certificate with Requests \\
Body Content Workflow \\
The Keep-alive facility \\
Streaming uploads \\
Using generator for sending chunk encoded Requests \\
Getting the request method arguments with event hooks
\\
Iterating over streaming APIs \\
Encodings \\
HTTP verbs \\
Self-describing the APIs with link headers \\
Transport Adapter \\
Summary \\
3. Authenticating with Requests \\
Basic authentication \\
Using basic authentication with Requests \\
Digest authentication \\
Using Digest authentication with Requests \\
Kerberos authentication \\
Using Kerberos authentication with Requests \\
OAuth authentication \\
OAuth 1.0 \\
Using OAuth 1.0 authentication with Requests \\
OAuth 2.0 \\
Custom authentication \\
Summary \\
4. Mocking HTTP Requests Using HTTPretty \\
Understanding HTTPretty \\
Installing HTTPretty \\
Working with HTTPretty \\
Setting headers \\
Working with responses \\
Rotating responses \\
Streaming responses \\
Dynamic responses through callbacks \\
Summary \\
5. Interacting with Social Media Using Requests \\
API introduction \\
Getting started with the Twitter API \\
Obtaining an API Key \\
Creating an authentication Request \\
Getting your favorite tweet \\
Performing a simple search \\
Accessing the list of followers \\
Retweets \\
Accessing available trends \\
Updating user status \\
Interacting with Facebook \\
Getting started with the Facebook API \\
Obtaining a key \\
Getting a user profile \\
Retrieving a friends list \\
Retrieving feed \\
Retrieving albums \\
Interacting with reddit \\
Getting started with the reddit API \\
Registering a new account \\
Modifying account information \\
Performing a simple search \\
Searching subreddits \\
Summary \\
6. Web Scraping with Python Requests and BeautifulSoup
\\
Types of data \\
Structured data \\
Unstructured data \\
Semistructured data \\
What is web scraping? \\
Dos and don'ts of web scraping \\
Predominant steps to perform web scraping \\
Key web scraping tasks \\
What is BeautifulSoup? \\
Document parsers \\
Installation \\
Objects in BeautifulSoup \\
Tags \\
BeautifulSoup \\
NavigableString \\
Comments \\
Web scraping tasks related to BeautifulSoup \\
Searching the tree \\
Navigating within the tree \\
Navigating down \\
Navigating sideways \\
Navigating up \\
Navigating back and forth \\
Modifying the Tree \\
Building a web scraping bot --- a practical example \\
The web scraping bot \\
Identifying the URL or URLs \\
Using an HTTP client \\
Discovering the pieces of data to scrape \\
Utilizing a web scraping tool \\
Drawing the desired data \\
Summary \\
7. Implementing a Web Application with Python Using
Flask \\
What is Flask? \\
Getting started with Flask \\
Installing Flask \\
Installing required packages with pip \\
Survey --- a simple voting application using Flask \\
Basic file structures \\
Building the application \\
Writing models with Flask-SQLAlchemy \\
Defining a model \\
Creating a database instance \\
Creating survey models \\
Creating tables in the database \\
Querying database models \\
Views \\
List of all questions \\
New survey \\
Creating a new survey \\
Displaying a survey \\
Updating a survey \\
Deleting a survey \\
New vote form to caste a vote in a survey \\
Casting a vote to a particular choice in a survey \\
Templates \\
The base template \\
The list of questions template \\
Creating a new survey template \\
Showing the details of a survey template \\
Casting a vote template \\
Running the survey application \\
Writing unit tests to survey applications \\
Summary \\
Index",
}
@Article{Clare:2015:RFS,
author = "Amanda Clare",
title = "Review of ``{{\booktitle{A functional start to
computing with Python}}}'', {Ted Herman, CRC Press,
2014, ISBN 978-1-4665-0455-4}",
journal = j-J-FUNCT-PROGRAM,
volume = "25",
number = "",
pages = "e15",
month = "????",
year = "2015",
CODEN = "JFPRES",
DOI = "https://doi.org/10.1017/S0956796815000222",
ISSN = "0956-7968 (print), 1469-7653 (electronic)",
ISSN-L = "0956-7968",
bibdate = "Mon Jul 22 09:36:08 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jfunctprogram.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming/article/review-of-a-functional-start-to-computing-with-python-ted-herman-crc-press-2014-isbn-9781466504554/CDD2895726478A185EDA78AE98C30BB3",
acknowledgement = ack-nhfb,
ajournal = "J. Funct. Program.",
fjournal = "Journal of Functional Programming",
journal-URL = "https://www.cambridge.org/core/journals/journal-of-functional-programming",
onlinedate = "08 October 2015",
}
@Book{Coelho:2015:BML,
author = "Luis Pedro Coelho and Willi Richert",
title = "Building machine learning systems with Python: get
more from your data through creating practical machine
learning systems with Python",
publisher = pub-PACKT,
address = pub-PACKT:adr,
edition = "Second",
pages = "xi + 301",
year = "2015",
ISBN = "1-78439-277-4, 1-78439-288-X (e-book)",
ISBN-13 = "978-1-78439-277-2, 978-1-78439-288-8 (e-book)",
LCCN = "QA76.73.P98 C64 2015",
bibdate = "Sat Oct 24 05:48:21 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Machine learning;
Development",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Python Machine Learning \\
Machine learning and Python --- a dream team \\
What the book will teach you (and what it will not) \\
What to do when you are stuck \\
Getting started \\
Introduction to NumPy, SciPy, and matplotlib \\
Installing Python \\
Chewing data efficiently with NumPy and intelligently
with SciPy \\
Learning NumPy \\
Indexing \\
Handling nonexisting values \\
Comparing the runtime \\
Learning SciPy \\
Our first (tiny) application of machine learning \\
Reading in the data \\
Preprocessing and cleaning the data \\
Choosing the right model and learning algorithm \\
Before building our first model \ldots{} \\
Starting with a simple straight line \\
Towards some advanced stuff \\
Stepping back to go forward --- another look at our
data \\
Training and testing \\
Answering our initial question \\
Summary \\
2. Classifying with Real-world Examples \\
The Iris dataset \\
Visualization is a good first step \\
Building our first classification model \\
Evaluation --- holding out data and cross-validation
\\
Building more complex classifiers \\
A more complex dataset and a more complex classifier
\\
Learning about the Seeds dataset \\
Features and feature engineering \\
Nearest neighbor classification \\
Classifying with scikit-learn \\
Looking at the decision boundaries \\
Binary and multiclass classification \\
Summary \\
3. Clustering --- Finding Related Posts \\
Measuring the relatedness of posts \\
How not to do it \\
How to do it \\
Preprocessing --- similarity measured as a similar
number of common words \\
Converting raw text into a bag of words \\
Counting words \\
Normalizing word count vectors \\
Removing less important words \\
Stemming \\
Installing and using NLTK \\
Extending the vectorizer with NLTK's stemmer \\
Stop words on steroids \\
Our achievements and goals \\
Clustering \\
K-means \\
Getting test data to evaluate our ideas on \\
Clustering posts \\
Solving our initial challenge \\
Another look at noise \\
Tweaking the parameters \\
Summary \\
4. Topic Modeling \\
Latent Dirichlet allocation \\
Building a topic model \\
Comparing documents by topics \\
Modeling the whole of Wikipedia \\
Choosing the number of topics \\
Summary \\
5. Classification --- Detecting Poor Answers \\
Sketching our roadmap \\
Learning to classify classy answers \\
Tuning the instance \\
Tuning the classifier \\
Fetching the data \\
Slimming the data down to chewable chunks \\
Preselection and processing of attributes \\
Defining what is a good answer \\
Creating our first classifier \\
Starting with kNN \\
Engineering the features \\
Training the classifier \\
Measuring the classifier's performance \\
Designing more features \\
Deciding how to improve \\
Bias-variance and their tradeoff \\
Fixing high bias \\
Fixing high variance \\
High bias or low bias \\
Using logistic regression \\
A bit of math with a small example \\
Applying logistic regression to our post classification
problem \\
Looking behind accuracy --- precision and recall \\
Slimming the classifier \\
Ship it! \\
Summary \\
6. Classification II --- Sentiment Analysis \\
Sketching our roadmap \\
Fetching the Twitter data \\
Introducing the Na{\"i}ve Bayes classifier \\
Getting to know the Bayes' theorem \\
Being na{\"i}ve \\
Using Na{\"i}ve Bayes to classify \\
Accounting for unseen words and other oddities \\
Accounting for arithmetic underflows \\
Creating our first classifier and tuning it \\
Solving an easy problem first \\
Using all classes \\
Tuning the classifier's parameters \\
Cleaning tweets \\
Taking the word types into account \\
Determining the word types \\
Successfully cheating using SentiWordNet \\
Our first estimator \\
Putting everything together \\
Summary \\
7. Regression \\
Predicting house prices with regression \\
Multidimensional regression \\
Cross-validation for regression \\
Penalized or regularized regression \\
L1 and L2 penalties \\
Using Lasso or ElasticNet in scikit-learn \\
Visualizing the Lasso path \\
P-greater-than-N scenarios \\
An example based on text documents \\
Setting hyperparameters in a principled way \\
Summary \\
8. Recommendations \\
Rating predictions and recommendations \\
Splitting into training and testing \\
Normalizing the training data \\
A neighborhood approach to recommendations \\
A regression approach to recommendations \\
Combining multiple methods \\
Basket analysis \\
Obtaining useful predictions \\
Analyzing supermarket shopping baskets \\
Association rule mining \\
More advanced basket analysis \\
Summary \\
9. Classification --- Music Genre Classification \\
Sketching our roadmap \\
Fetching the music data \\
Converting into a WAV format \\
Looking at music \\
Decomposing music into sine wave components \\
Using FFT to build our first classifier \\
Increasing experimentation agility \\
Training the classifier \\
Using a confusion matrix to measure accuracy in
multiclass problems \\
An alternative way to measure classifier performance
using receiver-operator characteristics \\
Improving classification performance with Mel Frequency
Cepstral Coefficients \\
Summary \\
10. Computer Vision \\
Introducing image processing \\
Loading and displaying images \\
Thresholding \\
Gaussian blurring \\
Putting the center in focus \\
Basic image classification \\
Computing features from images \\
Writing your own features \\
Using features to find similar images \\
Classifying a harder dataset \\
Local feature representations \\
Summary \\
11. Dimensionality Reduction \\
Sketching our roadmap \\
Selecting features \\
Detecting redundant features using filters \\
Correlation \\
Mutual information \\
Asking the model about the features using wrappers \\
Other feature selection methods \\
Feature extraction \\
About principal component analysis \\
Sketching PCA \\
Applying PCA \\
Limitations of PCA and how LDA can help \\
Multidimensional scaling \\
Summary \\
12. Bigger Data \\
Learning about big data \\
Using jug to break up your pipeline into tasks \\
An introduction to tasks in jug \\
Looking under the hood \\
Using jug for data analysis \\
Reusing partial results \\
Using Amazon Web Services \\
Creating your first virtual machines \\
Installing Python packages on Amazon Linux \\
Running jug on our cloud machine \\
Automating the generation of clusters with StarCluster
\\
Summary \\
A. Where to Learn More Machine Learning \\
Online courses \\
Books \\
Question and answer sites \\
Blogs \\
Data sources \\
Getting competitive \\
All that was left out \\
Summary \\
Index",
}
@Book{Desai:2015:PPA,
editor = "Pratik Desai and Saleem Ahmed and James Jones and
Jasmine Nadar and Vikrant Phadke",
title = "{Python} programming for {Arduino}: develop practical
{Internet of Things} prototypes and applications with
{Arduino} and {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "400 (est)",
year = "2015",
ISBN = "1-78328-593-1 (paperback), 1-78328-594-X (e-book)",
ISBN-13 = "978-1-78328-593-8 (paperback), 978-1-78328-594-5
(e-book)",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 05:43:38 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Python and Arduino \\
Introduction to Python \\
Why we use Python \\
When do we use other languages \\
Installing Python and Setuptools \\
Installing Python \\
Linux \\
Ubuntu \\
Fedora and Red Hat \\
Windows \\
Mac OS X \\
Installing Setuptools \\
Linux \\
Windows \\
Mac OS X \\
Installing pip \\
Installing Python packages \\
The fundamentals of Python programming \\
Python operators and built-in types \\
Operators \\
Built-in types \\
Data structures \\
Lists \\
Tuples \\
Sets \\
Dictionaries \\
Controlling the flow of your program \\
The if statement \\
The for statement \\
The while statement \\
Built-in functions \\
Conversions \\
Math operations \\
String operations \\
Introduction to Arduino \\
History \\
Why Arduino? \\
Arduino variants \\
The Arduino Uno board \\
Installing the Arduino IDE \\
Linux \\
Mac OS X \\
Windows \\
Getting started with the Arduino IDE \\
What is an Arduino sketch? \\
Working with libraries \\
Using Arduino examples \\
Compiling and uploading sketches \\
Using the Serial Monitor window \\
Introduction to Arduino programming \\
Comments \\
Variables \\
Constants \\
Data types \\
Conversions \\
Functions and statements \\
The setup() function \\
The loop() function \\
The pinMode() function \\
Working with pins \\
Statements \\
Summary \\
2. Working with the Firmata Protocol and the pySerial
Library \\
Connecting the Arduino board \\
Linux \\
Mac OS X \\
Windows \\
Troubleshooting \\
Introducing the Firmata protocol \\
What is Firmata? \\
Uploading a Firmata sketch to the Arduino board \\
Testing the Firmata protocol \\
Getting started with pySerial \\
Installing pySerial \\
Playing with a pySerial example \\
Bridging pySerial and Firmata \\
Summary \\
3. The First Project --- Motion-triggered LEDs \\
Motion-triggered LEDs --- the project description \\
The project goal \\
The list of components \\
The software flow design \\
The hardware system design \\
Introducing Fritzing --- a hardware prototyping
software \\
Working with the breadboard \\
Designing the hardware prototype \\
Testing hardware connections \\
Method 1 --- using a standalone Arduino sketch \\
The project setup \\
The Arduino sketch \\
The setup() function \\
The loop() function \\
Working with custom Arduino functions \\
Testing \\
Troubleshooting \\
Method 2 --- using Python and Firmata \\
The project setup \\
Working with Python executable files \\
The Python code \\
Working with pyFirmata methods \\
Working with Python functions \\
Testing \\
Troubleshooting \\
Summary \\
4. Diving into Python-Arduino Prototyping \\
Prototyping \\
Working with pyFirmata methods \\
Setting up the Arduino board \\
Configuring Arduino pins \\
The direct method \\
Assigning pin modes \\
Working with pins \\
Reporting data \\
Manual operations \\
The write() method \\
The read() method \\
Additional functions \\
Upcoming functions \\
Prototyping templates using Firmata \\
Potentiometer --- continuous observation from an analog
input \\
Connections \\
The Python code \\
Buzzer --- generating sound alarm pattern \\
Connections \\
The Python code \\
DC motor --- controlling motor speed using PWM \\
Connections \\
The Python code \\
LED --- controlling LED brightness using PWM \\
Connections \\
The Python code \\
Servomotor --- moving the motor to a certain angle \\
Connections \\
The Python code \\
Prototyping with the I2C protocol \\
Arduino examples for I2C interfacing \\
Arduino coding for the TMP102 temperature sensor \\
Arduino coding for the BH1750 light sensor \\
PyMata for quick I2C prototyping \\
Interfacing TMP102 using PyMata \\
Interfacing BH1750 using PyMata \\
Useful pySerial commands \\
Connecting with the serial port \\
Reading a line from the port \\
Flushing the port to avoid buffer overflow \\
Closing the port \\
Summary \\
5. Working with the Python GUI \\
Learning Tkinter for GUI design \\
Your first Python GUI program \\
The root widget Tk() and the top-level methods \\
The Label() widget \\
The Pack geometry manager \\
The Button() widget --- interfacing GUI with Arduino
and LEDs \\
The Entry() widget --- providing manual user inputs \\
The Scale() widget --- adjusting the brightness of an
LED \\
The Grid geometry manager \\
The Checkbutton() widget --- selecting LEDs \\
The Label() widget --- monitoring I/O pins \\
Remaking your first Python-Arduino project with a GUI
\\
Summary \\
6. Storing and Plotting Arduino Data \\
Working with files in Python \\
The open() method \\
The write() method \\
The close() method \\
The read() method \\
The with statement --- Python context manager \\
Using CSV files to store data \\
Storing Arduino data in a CSV file \\
Getting started with matplotlib \\
Configuring matplotlib on Windows \\
Configuring matplotlib on Mac OS X \\
Upgrading matplotlib \\
Troubleshooting installation errors \\
Setting up matplotlib on Ubuntu \\
Plotting random numbers using matplotlib \\
Plotting data from a CSV file \\
Plotting real-time Arduino data \\
Integrating plots in the Tkinter window \\
Summary \\
7. The Midterm Project --- a Portable DIY Thermostat
\\
Thermostat --- the project description \\
Project background \\
Project goals and stages \\
The list of required components \\
Hardware design \\
Software flow for user experience design \\
Stage 1 --- prototyping the thermostat \\
The Arduino sketch for the thermostat \\
Interfacing the temperature sensor \\
Interfacing the humidity sensor \\
Interfacing the light sensor \\
Using Arduino interrupts \\
Designing the GUI and plot in Python \\
Using pySerial to stream sensor data in your Python
program \\
Designing the GUI using Tkinter \\
Plotting percentage humidity using matplotlib \\
Using button interrupts to control the parameters \\
Changing the temperature unit by pressing a button \\
Swapping between the GUI and the plot by pressing a
button \\
Troubleshooting \\
Stage 2 --- using a Raspberry Pi for the deployable
thermostat \\
What is a Raspberry Pi? \\
Installing the operating system and configuring the
Raspberry Pi \\
What do you need to begin using the Raspberry Pi? \\
Preparing an SD card \\
The Raspberry Pi setup process \\
Using a portable TFT LCD display with the Raspberry Pi
\\
Connecting the TFT LCD using GPIO \\
Configuring the TFT LCD with the Raspberry Pi OS \\
Optimizing the GUI for the TFT LCD screen \\
Troubleshooting \\
Summary \\
8. Introduction to Arduino Networking \\
Arduino and the computer networking \\
Networking fundamentals \\
Obtaining the IP address of your computer \\
Windows \\
Mac OS X \\
Linux \\
Networking extensions for Arduino \\
Arduino Ethernet Shield \\
Arduino WiFi Shield \\
Arduino Y{\'u}n \\
Arduino Ethernet library \\
The Ethernet class \\
The IPAddress class \\
The Server class \\
The Client class \\
Exercise 1 --- a web server, your first Arduino network
program \\
Developing web applications using Python \\
Python web framework --- web.py \\
Installing web.py \\
Your first Python web application \\
Essential web.py concepts for developing complex web
applications \\
Handling URLs \\
The GET and POST methods \\
Templates \\
Forms \\
Exercise 2 --- playing with web.py concepts using the
Arduino serial interface \\
RESTful web applications with Arduino and Python \\
Designing REST-based Arduino applications \\
Working with the GET request from Arduino \\
The Arduino code to generate the GET request \\
The HTTP server using web.py to handle the GET request
\\
Working with the POST request from Arduino \\
The Arduino code to generate the POST request \\
The HTTP server using web.py to handle the POST request
\\
Exercise 3 --- a RESTful Arduino web application \\
The Arduino sketch for the exercise \\
The web.py application to support REST requests \\
Why do we need a resource-constrained messaging
protocol? \\
MQTT --- A lightweight messaging protocol \\
Introduction to MQTT \\
Mosquitto --- an open source MQTT broker \\
Setting up Mosquitto \\
Getting familiar with Mosquitto \\
Getting started with MQTT on Arduino and Python \\
MQTT on Arduino using the PubSubClient library \\
Installing the PubSubClient library \\
Developing the Arduino MQTT client \\
MQTT on Python using paho-mqtt \\
Installing paho-mqtt \\
Using the paho-mqtt Python library \\
Exercise 4 --- MQTT Gateway for Arduino \\
Developing Arduino as the MQTT client \\
Developing the MQTT Gateway using Mosquitto \\
Extending the MQTT Gateway using web.py \\
Testing your Mosquitto Gateway \\
Summary \\
9. Arduino and the Internet of Things \\
Getting started with the IoT \\
Architecture of IoT web applications \\
Hardware design \\
The IoT cloud platforms \\
Xively --- a cloud platform for the IoT \\
Setting up an account on Xively \\
Working with Xively \\
Alternative IoT platforms \\
ThingSpeak \\
Carriots \\
Developing cloud applications using Python and Xively
\\
Interfacing Arduino with Xively \\
Uploading Arduino data to Xively \\
Downloading data to Arduino from Xively \\
Advanced code to upload and download data using Arduino
\\
Python --- uploading data to Xively \\
The basic method for sending data \\
Uploading data using a web interface based on web.py
\\
Python --- downloading data from Xively \\
The basic method for retrieving data from Xively \\
Retrieving data from the web.py web interface \\
Triggers --- custom notifications from Xively \\
Your own cloud platform for the IoT \\
Getting familiar with the Amazon AWS platform \\
Setting up an account on AWS \\
Creating a virtual instance on the AWS EC2 service \\
Logging into your virtual instance \\
Creating an IoT platform on the EC2 instance \\
Installing the necessary packages on AWS \\
Configuring the security of the virtual instance \\
Testing your cloud platform \\
Testing the Mosquitto service \\
Configuring and testing basic security \\
Uploading and testing a project on the instance \\
Summary \\
10. The Final Project --- a Remote Home Monitoring
System \\
The design methodology for IoT projects \\
Project overview \\
The project goals \\
The project requirements \\
Designing system architecture \\
The monitoring station \\
The control center \\
The cloud services \\
Defining UX flow \\
The list of required components \\
Defining the project development stages \\
Stage 1 --- a monitoring station using Arduino \\
Designing the monitoring station \\
The Arduino sketch for the monitoring station \\
Publishing sensor information \\
Subscribing to actuator actions \\
Programming an interrupt to handle the press of a
button \\
Testing \\
Stage 2 --- a control center using Python and the
Raspberry Pi \\
The control center architecture \\
The Python code for the control center \\
Creating the GUI using Tkinter \\
Communicating with the Mosquitto broker \\
Calculating the system's status and situation awareness
\\
Communicating with Xively \\
Checking and updating the buzzer's status \\
Testing the control center with the monitoring station
\\
Setting up the control center on the Raspberry Pi \\
Stage 3 --- a web application using Xively, Python, and
Amazon cloud service \\
Architecture of the cloud services \\
Python web application hosted on Amazon AWS \\
Testing the web application \\
Testing and troubleshooting \\
Extending your remote home monitoring system \\
Utilizing multiple monitoring stations \\
Extending sensory capabilities \\
Improving UX \\
Expanding cloud-based features \\
Improving intelligence for situation awareness \\
Creating an enclosure for hardware components \\
Summary \\
11. Tweet-a-PowerStrip \\
Project overview \\
Project requirements \\
System architecture \\
Required hardware components \\
Relays \\
PowerSwitch Tail \\
User experience flow \\
Development and deployment stages \\
Stage 1 --- a smart power strip with Arduino and relays
\\
Hardware design \\
The Arduino code \\
Stage 2 --- the Python code to process tweets \\
Python software flow \\
Setting up the Twitter application \\
The Python code \\
Testing and troubleshooting \\
Extending the project with additional features \\
Summary \\
Index",
}
@Article{Ding:2015:PPF,
author = "Hong Ding and Bharat Medasani and Wei Chen and Kristin
A. Persson and Maciej Haranczyk and Mark Asta",
title = "{PyDII}: a {Python} framework for computing
equilibrium intrinsic point defect concentrations and
extrinsic solute site preferences in intermetallic
compounds",
journal = j-COMP-PHYS-COMM,
volume = "193",
number = "??",
pages = "118--123",
month = aug,
year = "2015",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu May 21 16:01:20 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465515001149",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@InProceedings{Dogaru:2015:UPJ,
author = "I. Dogaru and R. Dogaru",
booktitle = "{2015 20th International Conference on Control Systems
and Computer Science}",
title = "Using {Python} and {Julia} for Efficient
Implementation of Natural Computing and Complexity
Related Algorithms",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "599--604",
year = "2015",
DOI = "https://doi.org/10.1109/CSCS.2015.37",
bibdate = "Thu Apr 8 07:17:08 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Julia programming language",
}
@Book{Doglio:2015:MPH,
author = "Fernando Doglio",
title = "Mastering {Python} High Performance",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "260",
year = "2015",
ISBN = "1-78398-930-0, 1-78398-931-9 (e-book)",
ISBN-13 = "978-1-78398-930-0, 978-1-78398-931-7 (e-book)",
LCCN = "T55.4-60.8",
bibdate = "Fri Oct 23 15:58:51 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Mastering Python High Performance \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Profiling 101 \\
What is profiling? \\
Event-based profiling \\
Statistical profiling \\
The importance of profiling \\
What can we profile? \\
Execution time \\
Where are the bottlenecks? \\
Memory consumption and memory leaks \\
The risk of premature optimization \\
Running time complexity \\
Constant time --- O(1) \\
Linear time --- O(n) \\
Logarithmic time --- O(log n) \\
Linearithmic time --- O(nlog n) \\
Factorial time --- O(n!) \\
Quadratic time --- O(n^) \\
Profiling best practices \\
Build a regression-test suite \\
Mind your code \\
Be patient \\
Gather as much data as you can \\
Preprocess your data \\
Visualize your data \\
Summary \\
2. The Profilers \\
Getting to know our new best friends: the profilers \\
cProfile \\
A note about limitations \\
The API provided \\
The Stats class \\
Profiling examples \\
Fibonacci again \\
Tweet stats \\
line_profiler \\
kernprof \\
Some things to consider about kernprof \\
Profiling examples \\
Back to Fibonacci \\
Inverted index \\
getOffsetUpToWord \\
getWords \\
list2dict \\
readFileContent \\
saveIndex \\
__start__ \\
getOffsetUpToWord \\
getWords \\
list2dict \\
saveIndex \\
Summary \\
3. Going Visual --- GUIs to Help Understand Profiler
Output \\
KCacheGrind --- pyprof2calltree \\
Installation \\
Usage \\
A profiling example --- TweetStats \\
A profiling example --- Inverted Index \\
RunSnakeRun \\
Installation \\
Usage \\
Profiling examples --- the lowest common multiplier \\
A profiling example --- search using the inverted index
\\
Summary \\
4. Optimize Everything \\
Memoization / lookup tables \\
Performing a lookup on a list or linked list \\
Simple lookup on a dictionary \\
Binary search \\
Use cases for lookup tables \\
Usage of default arguments \\
List comprehension and generators \\
ctypes \\
Loading your own custom C library \\
Loading a system library \\
String concatenation \\
Other tips and tricks \\
Summary \\
5. Multithreading versus Multiprocessing \\
Parallelism versus concurrency \\
Multithreading \\
Threads \\
Creating a thread with the thread module \\
Working with the threading module \\
Interthread communication with events \\
Multiprocessing \\
Multiprocessing with Python \\
Exit status \\
Process pooling \\
Interprocess communication \\
Pipes \\
Events \\
Summary \\
6. Generic Optimization Options \\
PyPy \\
Installing PyPy \\
A Just-in-time compiler \\
Sandboxing \\
Optimizing for the JIT \\
Think of functions \\
Consider using cStringIO to concatenate strings \\
Actions that disable the JIT \\
Code sample \\
Cython \\
Installing Cython \\
Building a Cython module \\
Calling C functions \\
Solving naming conflicts \\
Defining types \\
Defining types during function definitions \\
A Cython example \\
When to define a type \\
Limitations \\
Generator expressions \\
Comparison of char* literals \\
Tuples as function arguments \\
Stack frames \\
How to choose the right option \\
When to go with Cython \\
When to go with PyPy \\
Summary \\
7. Lightning Fast Number Crunching with Numba,
Parakeet, and pandas \\
Numba \\
Installation \\
Using Numba \\
Numba's code generation \\
Eager compilation \\
Other configuration settings \\
No GIL \\
NoPython mode \\
Running your code on the GPU \\
The pandas tool \\
Installing pandas \\
Using pandas for data analysis \\
Parakeet \\
Installing Parakeet \\
How does Parakeet work? \\
Summary \\
8. Putting It All into Practice \\
The problem to solve \\
Getting data from the Web \\
Postprocessing the data \\
The initial code base \\
Analyzing the code \\
Scraper \\
Analyzer \\
Summary \\
Index",
}
@Book{Downey:2015:TPH,
author = "Allen B. Downey",
title = "Think {Python}: How to Think Like a Computer
Scientist",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "????",
year = "2015",
ISBN = "1-4919-3936-2",
ISBN-13 = "978-1-4919-3936-9",
LCCN = "????",
bibdate = "Fri Oct 23 15:40:01 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
The strange history of this book \\
Acknowledgments \\
Contributor List \\
1. The way of the program \\
What is a program? \\
Running Python \\
The first program \\
Arithmetic operators \\
Values and types \\
Formal and natural languages \\
Debugging \\
Glossary \\
Exercises \\
2. Variables, expressions and statements \\
Assignment statements \\
Variable names \\
Expressions and statements \\
Script mode \\
Order of operations \\
String operations \\
Comments \\
Debugging \\
Glossary \\
Exercises \\
3. Functions \\
Function calls \\
Math functions \\
Composition \\
Adding new functions \\
Definitions and uses \\
Flow of execution \\
Parameters and arguments \\
Variables and parameters are local \\
Stack diagrams \\
Fruitful functions and void functions \\
Why functions? \\
Debugging \\
Glossary \\
Exercises \\
4. Case study: interface design \\
The turtle module \\
Simple repetition \\
Exercises \\
Encapsulation \\
Generalization \\
Interface design \\
Refactoring \\
A development plan \\
docstring \\
Debugging \\
Glossary \\
Exercises \\
5. Conditionals and recursion \\
Floor division and modulus \\
Boolean expressions \\
Logical operators \\
Conditional execution \\
Alternative execution \\
Chained conditionals \\
Nested conditionals \\
Recursion \\
Stack diagrams for recursive functions \\
Infinite recursion \\
Keyboard input \\
Debugging \\
Glossary \\
Exercises \\
6. Fruitful functions \\
Return values \\
Incremental development \\
Composition \\
Boolean functions \\
More recursion \\
Leap of faith \\
One more example \\
Checking types \\
Debugging \\
Glossary \\
Exercises \\
7. Iteration \\
Reassignment \\
Updating variables \\
The while statement \\
break \\
Square roots \\
Algorithms \\
Debugging \\
Glossary \\
Exercises \\
8. Strings \\
A string is a sequence \\
len \\
Traversal with a for loop \\
String slices \\
Strings are immutable \\
Searching \\
Looping and counting \\
String methods \\
The in operator \\
String comparison \\
Debugging \\
Glossary \\
Exercises \\
9. Case study: word play \\
Reading word lists \\
Exercises \\
Search \\
Looping with indices \\
Debugging \\
Glossary \\
Exercises \\
10. Lists \\
A list is a sequence \\
Lists are mutable \\
Traversing a list \\
List operations \\
List slices \\
List methods \\
Map, filter and reduce \\
Deleting elements \\
Lists and strings \\
Objects and values \\
Aliasing \\
List arguments \\
Debugging \\
Glossary \\
Exercises \\
11. Dictionaries \\
A dictionary is a mapping \\
Dictionary as a collection of counters \\
Looping and dictionaries \\
Reverse lookup \\
Dictionaries and lists \\
Memos \\
Global variables \\
Debugging \\
Glossary \\
Exercises \\
12. Tuples \\
Tuples are immutable \\
Tuple assignment \\
Tuples as return values \\
Variable-length argument tuples \\
Lists and tuples \\
Dictionaries and tuples \\
Sequences of sequences \\
Debugging \\
Glossary \\
Exercises \\
13. Case study: data structure selection \\
Word frequency analysis \\
Random numbers \\
Word histogram \\
Most common words \\
Optional parameters \\
Dictionary subtraction \\
Random words \\
Markov analysis \\
Data structures \\
Debugging \\
Glossary \\
Exercises \\
14. Files \\
Persistence \\
Reading and writing \\
Format operator \\
Filenames and paths \\
Catching exceptions \\
Databases \\
Pickling \\
Pipes \\
Writing modules \\
Debugging \\
Glossary \\
Exercises \\
15. Classes and objects \\
Programmer-defined types \\
Attributes \\
Rectangles \\
Instances as return values \\
Objects are mutable \\
Copying \\
Debugging \\
Glossary \\
Exercises \\
16. Classes and functions \\
Time \\
Pure functions \\
Modifiers \\
Prototyping versus planning \\
Debugging \\
Glossary \\
Exercises \\
17. Classes and methods \\
Object-oriented features \\
Printing objects \\
Another example \\
A more complicated example \\
The init method \\
The __str__ method \\
Operator overloading \\
Type-based dispatch \\
Polymorphism \\
Debugging \\
Interface and implementation \\
Glossary \\
Exercises \\
18. Inheritance \\
Card objects \\
Class attributes \\
Comparing cards \\
Decks \\
Printing the deck \\
Add, remove, shuffle and sort \\
Inheritance \\
Class diagrams \\
Debugging \\
Data encapsulation \\
Glossary \\
Exercises \\
19. The Goodies \\
Conditional expressions \\
List comprehensions \\
Generator expressions \\
any and all \\
Sets \\
Counters \\
defaultdict \\
Named tuples \\
Gathering keyword args \\
Glossary \\
Exercises \\
20. Debugging \\
Syntax errors \\
I keep making changes and it makes no difference. \\
Runtime errors \\
My program does absolutely nothing. \\
My program hangs. \\
When I run the program I get an exception. \\
I added so many print statements I get inundated with
output. \\
Semantic errors \\
My program doesn't work. \\
I've got a big hairy expression and it doesn't do what
I expect. \\
I've got a function that doesn't return what I expect.
\\
I'm really, really stuck and I need help. \\
No, I really need help. \\
21. Analysis of Algorithms \\
Order of growth \\
Analysis of basic Python operations \\
Analysis of search algorithms \\
Hashtables \\
Glossary \\
Index",
}
@Book{Duffy:2015:LPT,
author = "Christopher Duffy",
title = "Learning Penetration Testing with {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "314",
year = "2015",
ISBN = "1-78528-232-8, 1-78528-955-1 (e-book)",
ISBN-13 = "978-1-78528-232-4, 978-1-78528-955-2 (e-book)",
LCCN = "T55.4-60.8",
bibdate = "Fri Oct 23 15:42:07 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Understanding the Penetration Testing Methodology
\\
An overview of penetration testing \\
Understanding what penetration testing is not \\
Vulnerability assessments \\
Reverse engineering engagements \\
Hacking \\
Assessment methodologies \\
The penetration testing execution standard \\
Pre-engagement interactions \\
White Box Testing \\
Grey Box Testing \\
Black Box Testing \\
Double Blind Testing \\
Intelligence gathering \\
Threat modeling \\
Vulnerability analysis \\
Exploitation \\
Post exploitation \\
Reporting \\
An example engagement \\
Penetration testing tools \\
NMAP \\
Metasploit \\
Veil \\
Burp Suite \\
Hydra \\
John the Ripper \\
Cracking Windows passwords with John \\
oclHashcat \\
Ophcrack \\
Mimikatz and Incognito \\
SMBexec \\
Cewl \\
Responder \\
theHarvester and Recon-NG \\
pwdump and fgdump \\
Netcat \\
Sysinternals tools \\
Summary \\
2. The Basics of Python Scripting \\
Understanding the difference between interpreted and
compiled languages \\
Python --- the good and the bad \\
A Python interactive interpreter versus a script \\
Environmental variables and PATH \\
Understanding dynamically typed languages \\
The first Python script \\
Developing scripts and identifying errors \\
Reserved words, keywords, and built-in functions \\
Global and local variables \\
Understanding a namespace \\
Modules and imports \\
Python formatting \\
Indentation \\
Python variables \\
Debugging variable values \\
String variables \\
Number variables \\
Converting string and number variables \\
List variables \\
Tuple variables \\
Dictionary variables \\
Understanding default values and constructors \\
Passing a variable to a string \\
Operators \\
Comparison operators \\
Assignment operators \\
Arithmetic operators \\
Logical and membership operators \\
Compound statements \\
The if statements \\
Python loops \\
The while loop \\
The for loop \\
The break condition \\
Conditional handlers \\
Functions \\
The impact of dynamically typed languages on functions
on functions \\
Curly brackets \\
How to comment your code \\
The Python style guide \\
Classes \\
Functions \\
Variables and instance names \\
Arguments and options \\
Your first assessor script \\
Summary \\
3. Identifying Targets with Nmap, Scapy, and Python \\
Understanding how systems communicate \\
The Ethernet frame architecture \\
Layer 2 in Ethernet networks \\
Layer 2 in wireless networks \\
The IP packet architecture \\
The TCP header architecture \\
Understanding how TCP works \\
The TCP three-way handshake \\
The UDP header architecture \\
Understanding how UDP works \\
Understanding Nmap \\
Inputting the target ranges for Nmap \\
Executing the different scan types \\
Executing TCP full connection scans \\
Executing SYN scans \\
Executing ACK scans \\
Executing UDP scans \\
Executing combined UDP and TCP scans \\
Skipping the operating system scans \\
Different output types \\
Understanding the Nmap Grepable output \\
Understanding the Nmap XML output \\
The Nmap scripting engine \\
Being efficient with Nmap scans \\
Determining your interface details with the netifaces
library \\
Nmap libraries for Python \\
The Scapy library for Python \\
Summary \\
4. Executing Credential Attacks with Python \\
The types of credential attacks \\
Defining the online credential attack \\
Defining the offline credential attack \\
Identifying the target \\
Creating targeted usernames \\
Generating and verifying usernames with help from the
U.S. census \\
Generating the usernames \\
Testing for users using SMTP VRFY \\
Creating the SMTP VRFY script \\
Summary \\
5. Exploiting Services with Python \\
Understanding the new age of service exploitation \\
Understanding the chaining of exploits \\
Checking for weak, default, or known passwords \\
Gaining root access to the system \\
Understanding the cracking of Linux hashes \\
Testing for the synchronization of account credentials
\\
Automating the exploit train with Python \\
Summary \\
6. Assessing Web Applications with Python \\
Identifying live applications versus open ports \\
Identifying hidden files and directories with Python
\\
Credential attacks with Burp Suite \\
Using twill to walk through the source \\
Understanding when to use Python for web assessments
\\
Understanding when to use specific libraries \\
Being efficient during web assessments \\
Summary \\
7. Cracking the Perimeter with Python \\
Understanding today's perimeter \\
Clear-text protocols \\
Web applications \\
Encrypted remote access services \\
Virtual Private Networks (VPNs) \\
Mail services \\
Domain Name Service (DNS) \\
User Datagram Protocol (UDP) services \\
Understanding the link between accounts and services
\\
Cracking inboxes with Burp Suite \\
Identifying the attack path \\
Understanding the limitations of perimeter scanning \\
Downloading backup files from a TFTP server \\
Determining the backup filenames \\
Cracking Cisco MD5 hashes \\
Gaining access through websites \\
The execution of file inclusion attacks \\
Verifying an RFI vulnerability \\
Exploiting the hosts through RFI \\
Summary \\
8. Exploit Development with Python, Metasploit, and
Immunity \\
Getting started with registers \\
Understanding general purpose registers \\
The EAX \\
The EBX \\
The ECX \\
The EDX \\
Understanding special purpose registers \\
The EBP \\
The EDI \\
The EIP \\
The ESP \\
Understanding the Windows memory structure \\
Understanding the stack and the heap \\
Understanding the program image and dynamic-link
libraries \\
Understanding the process environment block \\
Understanding the thread environment block \\
Kernel \\
Understanding memory addresses and endianness \\
Understanding the manipulation of the stack \\
Understanding immunity \\
Understanding basic buffer overflow \\
Writing a basic buffer overflow exploit \\
Understanding stack adjustments \\
Understanding the purpose of local exploits \\
Understanding other exploit scripts \\
Exploiting standalone binaries by executing scripts \\
Exploiting systems by TCP service \\
Exploiting systems by UDP service \\
Reversing Metasploit modules \\
Understanding protection mechanisms \\
Summary \\
9. Automating Reports and Tasks with Python \\
Understanding how to parse XML files for reports \\
Understanding how to create a Python class \\
Creating a Python script to parse an Nmap XML \\
Creating a Python script to generate Excel spreadsheets
\\
Summary \\
10. Adding Permanency to Python Tools \\
Understanding logging within Python \\
Understanding the difference between multithreading and
multiprocessing \\
Creating a multithreaded script in Python \\
Creating a multiprocessing script in Python \\
Building industry-standard tools \\
Summary \\
Index",
}
@Article{Feinberg:2015:COS,
author = "Jonathan Feinberg and Hans Petter Langtangen",
title = "\pkg{Chaospy}: an open source tool for designing
methods of uncertainty quantification",
journal = j-J-COMPUT-SCI,
volume = "11",
pages = "46--57",
month = nov,
year = "2015",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2015.08.008",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
MRclass = "68W30 (62-04)",
MRnumber = "3435044",
bibdate = "Tue Sep 19 13:53:55 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750315300119",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Book{Govindaraj:2015:TDP,
author = "Siddharta Govindaraj",
title = "Test-driven {Python} development",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "264",
year = "2015",
ISBN = "1-78398-792-8, 1-78398-793-6 (e-book)",
ISBN-13 = "978-1-78398-792-4, 978-1-78398-793-1 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 17:23:44 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Python (Computer
program language)",
tableofcontents = "Credits \\
About the Author \\
Acknowledgments \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Test-Driven Development \\
Prerequisites \\
Understanding test-driven development \\
TDD versus unit testing versus integration testing \\
Using TDD to build a stock alert application \\
Writing our first test \\
Analyzing the test output \\
Test errors versus test failures \\
Making the test pass \\
Reorganizing the test code \\
Running the tests after the reorganization \\
Summary \\
2. Red-Green-Refactor --- The TDD Cycle \\
Tests are executable requirements \\
Arrange-Act-Assert \\
Documenting our tests \\
Testing for exceptions \\
Exploring assert methods \\
Specific asserts versus generic asserts \\
Setup and teardown \\
Brittle tests \\
Refactoring the design \\
Refactoring tests \\
Exploring the Rule classes \\
Exercise \\
Summary \\
3. Code Smells and Refactoring \\
A dual crossover moving average \\
Implementing the dual crossover moving average \\
Identifying code smells \\
Refactoring \\
The Rename Variable and Rename Method refactorings \\
Commenting Styles \\
Replace Magic Literals with Constants \\
The Extract Method refactoring \\
Replace Calculation with Temporary Variable \\
Extract Conditional to Method \\
The DRY principle \\
Single Responsibility Principle \\
Extract Class \\
Move Method to Class \\
The importance of tests \\
Exercise \\
Wrapping up \\
Summary \\
4. Using Mock Objects to Test Interactions \\
Hand writing a simple mock \\
Using the Python mocking framework \\
Mocking objects \\
Mocking return values \\
Mocking side effects \\
How much mocking is too much? \\
Mocks versus stubs versus fakes versus spies \\
Patching methods \\
An important gotcha when patching \\
Tying it all together \\
Summary \\
5. Working with Legacy Code \\
What is legacy code? \\
Understanding the code \\
What are characterization tests? \\
Using the Python interactive shell to understand the
code \\
Writing a characterization test \\
Using pdb to understand the code \\
Some common pdb commands \\
Walking through a pdb session \\
Techniques to break dependencies \\
The Rope refactoring library \\
Separate initialization from execution \\
Use default values for parameters \\
Extract the method and test \\
Inject dependencies \\
Inherit and test \\
Stubbing local methods \\
Extract the method and stub \\
The cycle continues \\
Time to refactor \\
Long-term refactoring \\
Summary \\
6. Maintaining Your Test Suite \\
Goals of test maintenance \\
Organizing tests \\
Filesystem layout \\
Naming conventions \\
Test suite grouping \\
Making tests readable \\
Using docstrings \\
Using fixtures \\
Fixtures and patching \\
Using a custom test case class hierarchy \\
Writing tests closer to the domain \\
Writing helper methods \\
Writing better asserts \\
Using custom equality checkers \\
Using matchers \\
Summary \\
7. Executable Documentation with doctest \\
Our first doctest \\
Running the doctest \\
Test failures \\
Testing for exceptions \\
Package-level doctests \\
Maintaining doctests \\
Running a suite of doctests \\
Setup and teardown \\
Limitations of doctest \\
Doctest directives \\
How do doctests fit into the TDD process? \\
Summary \\
8. Extending unittest with nose2 \\
Getting started with nose2 \\
Writing tests for nose2 \\
Setup and teardown \\
Parameterized tests \\
Generated tests \\
Layers \\
nose2 plugins \\
Doctest support \\
Writing test results to an XML file \\
Measuring test coverage \\
Debugging test failures \\
nose2 configuration \\
Summary \\
9. Unit Testing Patterns \\
Pattern --- fast tests \\
Pattern --- running a subset of tests \\
Test loaders \\
Using the load_tests protocol \\
Skipping tests \\
Pattern --- using attributes \\
Attributes with vanilla unittests \\
Pattern --- expected failures \\
Pattern --- data-driven tests \\
Pattern --- integration and system tests \\
Pattern --- spies \\
Pattern --- asserting a sequence of calls \\
Pattern --- patching the open function \\
Pattern --- mocking with mutable args \\
Summary \\
10. Tools to Improve Test-Driven Development \\
TDD tools \\
py.test \\
py.test versus nose2 \\
Trial \\
Sure \\
PyHamcrest \\
Integrating with build tools \\
Paver \\
Integrating with packaging tools \\
Setuptools \\
Distutils \\
Integrating with continuous integration tools \\
Jenkins \\
Travis CI \\
Other tools \\
tox \\
Sphinx \\
IDE integration \\
Summary \\
A. Answers to Exercises \\
Red-Green-Refactor --- The TDD Cycle \\
Code Smells and Refactoring \\
B. Working with Older Python Versions \\
Writing code that is compatible across versions \\
Running tests from the command line \\
Running the examples in this book \\
Index",
}
@Book{Gupta:2015:BWA,
author = "Sumit Gupta",
title = "Building web applications with {Python} and {Neo4j}:
develop exciting and real-world {Python}-based web
applications with {Neo4j} using frameworks such as
{Flask}, {Py2neo}, and {Django}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "184 (est.)",
year = "2015",
ISBN = "1-78398-398-1 (print), 1-78398-399-X (e-book)",
ISBN-13 = "978-1-78398-398-8 (print), 978-1-78398-399-5
(e-book)",
LCCN = "QA76.76.A65",
bibdate = "Fri Oct 23 16:15:38 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783983988",
acknowledgement = ack-nhfb,
subject = "Application software; Development; Web applications;
Python (Computer program language); Development.;
Python (Computer program language); Web applications.",
tableofcontents = "Building Web Applications with Python and Neo4j \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Your First Query with Neo4j \\
Thinking in graphs for SQL developers \\
Comparing SQL and Cypher \\
Evolving graph structures from SQL models \\
Licensing and configuring --- Neo4j \\
Licensing --- Community Edition \\
Licensing --- Enterprise Edition \\
Installing Neo4J Community Edition on Linux/Unix \\
Installing as a Linux tar / standalone application \\
Installing as a Linux service \\
Installing Neo4j Enterprise Edition on Unix/Linux \\
Using the Neo4j shell \\
Introducing the Neo4j REST interface \\
Authorization and authentication \\
CRUD operations \\
Running queries from the Neo4j browser \\
Summary \\
2. Querying the Graph with Cypher \\
Basic anatomy of a Cypher query \\
Brief details of Cypher \\
Cypher execution phases \\
Parsing, validating, and generating the execution plan
\\
Locating the initial node(s) \\
Selecting and traversing the relationships \\
Changing and/or returning the values \\
The structure of Cypher \\
The read operations \\
MATCH \\
OPTIONAL MATCH \\
START \\
AGGREGATION \\
The create or update operations \\
Create \\
SET \\
MERGE \\
The delete operation \\
Pattern and pattern matching \\
Sample dataset \\
Pattern for nodes \\
Pattern for labels \\
Pattern for relationships \\
Pattern for properties \\
Using the where clause with patterns \\
Using patterns in the where clause \\
Using general clauses with patterns \\
The order by clause \\
The limit and skip clauses \\
The WITH clause \\
The UNION and UNION ALL clauses \\
Working with nodes and relationships \\
Summary \\
3. Mutating Graph with Cypher \\
Creating nodes and relationships \\
Working with nodes \\
Single node \\
Multiple nodes \\
Node with labels \\
Node with properties \\
Working with relationships \\
Single relationships \\
Multiple relationships \\
Relationships with properties \\
Nodes and relationships with full paths \\
Creating unique nodes and relationships \\
CREATE UNIQUE and MERGE \\
Working with constraints \\
Transforming nodes and relationships \\
Updating node properties \\
Updating a label \\
Updating relationships \\
Cypher query optimizations \\
Indexes \\
Index sampling \\
Understanding execution plans \\
Analyzing and optimizing queries \\
Summary \\
4. Getting Python and Neo4j to Talk Py2neo \\
Installing and configuring py2neo \\
Prerequisites \\
Installing py2neo \\
Exploring the py2neo APIs \\
Graph \\
Authentication \\
Node \\
Relationship \\
Cypher \\
Transactions \\
Paths \\
Creating a social network with py2neo \\
Batch imports \\
Unit testing \\
Summary \\
5. Build RESTful Service with Flask and Py2neo \\
Introducing (and installing) Flask \\
Setting up web applications with Flask and
Flask-RESTful \\
Your first Flask application \\
Displaying static content \\
Displaying dynamic content \\
Your first Flask RESTful API \\
JSON processing \\
REST APIs for social network data using py2neo \\
ORM for graph databases py2neo --- OGM \\
Social network application with Flask-RESTful and OGM
\\
Creating object model \\
Creating REST APIs over data models \\
Summary \\
6. Using Neo4j with Django and Neomodel \\
Installing and configuring Neomodel \\
Declaring models and properties \\
Defining nodes \\
Defining properties \\
Persisting and querying a social data model \\
Adding relationships to models \\
Running Cypher queries \\
Using Neomodel in a Django app \\
Signals in Neomodel \\
Summary \\
7. Deploying Neo4j in Production \\
Neo4j logical architecture \\
Disk/filesystem \\
Record files \\
Transaction logs \\
Caches \\
Core Java API \\
Traversal framework \\
REST API \\
Neo4j physical architecture \\
High availability \\
Fault tolerance \\
Data replication and data locality \\
Advanced settings \\
Monitoring the health of the Neo4J nodes \\
Neo4j browser \\
Webadmin \\
JMX beans \\
Backup and recovery \\
Summary \\
Index",
}
@Article{Harris:2015:CSP,
author = "Naftali Harris",
title = "Code Snippet: \pkg{LazySorted}: a Lazily, Partially
Sorted {Python} List",
journal = j-J-STAT-SOFT,
volume = "65",
number = "CS-1",
pages = "??--??",
month = jun,
year = "2015",
CODEN = "JSSOBK",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Fri Aug 7 11:01:06 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.jstatsoft.org/v65/c01",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
pubdates = "Submitted 2014-02-19; Accepted 2014-08-20",
}
@Book{Hiam:2015:LBP,
author = "Alexander Hiam",
title = "Learning {BeagleBone} {Python} programming: unleash
the potential of {BeagleBone} using {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "????",
year = "2015",
ISBN = "1-78439-970-1, 1-78439-080-1 (e-book)",
ISBN-13 = "978-1-78439-970-2, 978-1-78439-080-8 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:28:39 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
abstract = "If you have experience with the Python language and
are interested in getting started with electronics,
then BeagleBone Black is the perfect platform for you
and this book will provide you with the information you
need.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); BeagleBone
(Computer); Microcomputers; BeagleBone (Computer);
Microcomputers.; Python (Computer program language)",
tableofcontents = "Cover \\
Copyright \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Table of Contents \\
Preface \\
Chapter 1: Before We Begin \\
Overview of the BeagleBone \\
General purpose input/output \\
Analog-to-digital converter \\
Pulse width modulation \\
Universal asynchronous receiver/transmitter \\
Serial peripheral interface \\
Inter-Integrated Circuit \\
Tools and additional hardware \\
BeagleBone design \\
Board comparison \\
Helpful resources \\
Summary \\
Chapter 2: Getting Started \\
Initial setup \\
Updating your Debian image \\
Connecting to your BeagleBone \\
The Cloud9 IDE \\
SSH \\
Connecting to the InternetEthernetNetwork forwarding
\\
Using the serial console \\
Updating your software \\
The PyBBIO library \\
The Adafruit\_BBIO library \\
Summary \\
Chapter 3: Digital Outputs \\
GPIO modules \\
Kernel drivers \\
Pin multiplexing \\
Interactive GPIO \\
Calculating resistor values for LEDs \\
Driving higher currents from GPIO pins \\
Blink \\
Taking advantage of the OS \\
Multiprocessing \\
Running at startup \\
Summary \\
Chapter 4: PWM and ADC Subsystems \\
PWM \\
Fading an LED \\
Servo motors \\
ADC \\
Voltage divider \\
Voltage follower \\
Your first robot \\
Summary \\
Chapter 5: User Input \\
Buttons \\
Pull-up/pull-down resistors \\
PollingInterruptsPotentiometers \\
Summary \\
Chapter 6: Program Output \\
LED displays \\
LED bar graphs \\
7-segment displays \\
The LED matrix \\
SMTP \\
Character LCD \\
Summary \\
Chapter 7: Serial Communication \\
Serial communication \\
UART \\
I2C \\
SPI \\
Summary \\
Chapter 8: Interfacing with External Devices \\
Accelerometers \\
Hooking it up \\
Reading data \\
Writing a module \\
Using interrupts \\
Summary \\
Chapter 9: Using the Network \\
TCP/IP \\
HTTP \\
IoT Services \\
Phant \\
dweet.io \\
Freeboard \\
Summary \\
Chapter 10: a Practical Example \\
Weather station \\
Connecting to the Internet \\
Weather alerts \\
Summary \\
Appendix A: BeagleBone Black Pinout \\
Appendix B: Disabling HDMI \\
Index",
}
@Book{Hill:2015:LSP,
author = "Christian Hill",
title = "Learning scientific programming with {Python}",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "vii + 452",
year = "2015",
ISBN = "1-107-07541-6 (hardcover), 1-107-42822-X (paperback)",
ISBN-13 = "978-1-107-07541-2 (hardcover), 978-1-107-42822-5
(paperback)",
LCCN = "Q183.9 .H58 2015",
bibdate = "Mon Aug 21 08:44:22 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "Learn to master basic programming tasks from scratch
with real-life scientifically relevant examples and
solutions drawn from both science and engineering.
Students and researchers at all levels are increasingly
turning to the powerful Python programming language as
an alternative to commercial packages and this
fast-paced introduction moves from the basics to
advanced concepts in one complete volume, enabling
readers to quickly gain proficiency. Beginning with
general programming concepts such as loops and
functions within the core Python 3 language, and moving
onto the NumPy, SciPy and Matplotlib libraries for
numerical programming and data visualisation, this
textbook also discusses the use of IPython notebooks to
build rich-media, shareable documents for scientific
analysis. Including a final chapter introducing
challenging topics such as floating-point precision and
algorithm stability, and with extensive online
resources to support advanced study, this textbook
represents a targeted package for students requiring a
solid foundation in Python programming.",
acknowledgement = ack-nhfb,
author-dates = "1974--",
subject = "Science; Data processing; Mathematics; Python
(Computer program language); SCIENCE / Mathematical
Physics.",
tableofcontents = "1. Introduction \\
2. The core Python language I \\
3. Interlude: simple plotting with Pylab \\
4. The core Python language II \\
5. IPython and IPython notebook \\
6. NumPy \\
7. Matplotlib \\
8. SciPy \\
9. General scientific programming \\
Appendix A \\
Solutions \\
Index",
}
@Book{Hilpisch:2015:PF,
author = "Yves J. Hilpisch",
title = "{Python} for finance",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xv + 586",
year = "2015",
ISBN = "1-4919-4528-1 (paperback), 1-4919-4539-7 (e-book)",
ISBN-13 = "978-1-4919-4528-5 (paperback), 978-1-4919-4539-1
(e-book)",
LCCN = "HG176.5 H55 2015",
bibdate = "Sat Oct 24 05:57:34 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
subject = "Finance; Statistical methods; Data processing;
Financial engineering; Python (Computer program
language); Programming languages (Electronic
computers)",
tableofcontents = "Preface \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
I. Python and Finance \\
1. Why Python for Finance? \\
What Is Python? \\
Brief History of Python \\
The Python Ecosystem \\
Python User Spectrum \\
The Scientific Stack \\
Technology in Finance \\
Technology Spending \\
Technology as Enabler \\
Technology and Talent as Barriers to Entry \\
Ever-Increasing Speeds, Frequencies, Data Volumes \\
The Rise of Real-Time Analytics \\
Python for Finance \\
Finance and Python Syntax \\
Efficiency and Productivity Through Python \\
Shorter time-to-results \\
Ensuring high performance \\
From Prototyping to Production \\
Conclusions \\
Further Reading \\
2. Infrastructure and Tools \\
Python Deployment \\
Anaconda \\
Python Quant Platform \\
Tools \\
Python \\
IPython \\
From shell to browser \\
Basic usage \\
Markdown and LaTeX \\
Magic commands \\
System shell commands \\
Spyder \\
Conclusions \\
Further Reading \\
3. Introductory Examples \\
Implied Volatilities \\
Monte Carlo Simulation \\
Pure Python \\
Vectorization with NumPy \\
Full Vectorization with Log Euler Scheme \\
Graphical Analysis \\
Technical Analysis \\
Conclusions \\
Further Reading \\
II. Financial Analytics and Development \\
4. Data Types and Structures \\
Basic Data Types \\
Integers \\
Floats \\
Strings \\
Basic Data Structures \\
Tuples \\
Lists \\
Excursion: Control Structures \\
Excursion: Functional Programming \\
Dicts \\
Sets \\
NumPy Data Structures \\
Arrays with Python Lists \\
Regular NumPy Arrays \\
Structured Arrays \\
Vectorization of Code \\
Basic Vectorization \\
Memory Layout \\
Conclusions \\
Further Reading \\
5. Data Visualization \\
Two-Dimensional Plotting \\
One-Dimensional Data Set \\
Two-Dimensional Data Set \\
Other Plot Styles \\
Financial Plots \\
3D Plotting \\
Conclusions \\
Further Reading \\
6. Financial Time Series \\
pandas Basics \\
First Steps with DataFrame Class \\
Second Steps with DataFrame Class \\
Basic Analytics \\
Series Class \\
GroupBy Operations \\
Financial Data \\
Regression Analysis \\
High-Frequency Data \\
Conclusions \\
Further Reading \\
7. Input/Output Operations \\
Basic I/O with Python \\
Writing Objects to Disk \\
Reading and Writing Text Files \\
SQL Databases \\
Writing and Reading NumPy Arrays \\
I/O with pandas \\
SQL Database \\
From SQL to pandas \\
Data as CSV File \\
Data as Excel File \\
Fast I/O with PyTables \\
Working with Tables \\
Working with Compressed Tables \\
Working with Arrays \\
Out-of-Memory Computations \\
Conclusions \\
Further Reading \\
8. Performance Python \\
Python Paradigms and Performance \\
Memory Layout and Performance \\
Parallel Computing \\
The Monte Carlo Algorithm \\
The Sequential Calculation \\
The Parallel Calculation \\
Performance Comparison \\
multiprocessing \\
Dynamic Compiling \\
Introductory Example \\
Binomial Option Pricing \\
Static Compiling with Cython \\
Generation of Random Numbers on GPUs \\
Conclusions \\
Further Reading \\
9. Mathematical Tools \\
Approximation \\
Regression \\
Monomials as basis functions \\
Individual basis functions \\
Noisy data \\
Unsorted data \\
Multiple dimensions \\
Interpolation \\
Convex Optimization \\
Global Optimization \\
Local Optimization \\
Constrained Optimization \\
Integration \\
Numerical Integration \\
Integration by Simulation \\
Symbolic Computation \\
Basics \\
Equations \\
Integration \\
Differentiation \\
Conclusions \\
Further Reading \\
10. Stochastics \\
Random Numbers \\
Simulation \\
Random Variables \\
Stochastic Processes \\
Geometric Brownian motion \\
Square-root diffusion \\
Stochastic volatility \\
Jump diffusion \\
Variance Reduction \\
Valuation \\
European Options \\
American Options \\
Risk Measures \\
Value-at-Risk \\
Credit Value Adjustments \\
Conclusions \\
Further Reading \\
11. Statistics \\
Normality Tests \\
Benchmark Case \\
Real-World Data \\
Portfolio Optimization \\
The Data \\
The Basic Theory \\
Portfolio Optimizations \\
Efficient Frontier \\
Capital Market Line \\
Principal Component Analysis \\
The DAX Index and Its 30 Stocks \\
Applying PCA \\
Constructing a PCA Index \\
Bayesian Regression \\
Bayes s Formula \\
PyMC3 \\
Introductory Example \\
Real Data \\
Conclusions \\
Further Reading \\
12. Excel Integration \\
Basic Spreadsheet Interaction \\
Generating Workbooks (.xls) \\
Generating Workbooks (.xslx) \\
Reading from Workbooks \\
Using OpenPyxl \\
Using pandas for Reading and Writing \\
Scripting Excel with Python \\
Installing DataNitro \\
Working with DataNitro \\
Scripting with DataNitro \\
Plotting with DataNitro \\
User-defined functions \\
xlwings \\
Conclusions \\
Further Reading \\
13. Object Orientation and Graphical User Interfaces
\\
Object Orientation \\
Basics of Python Classes \\
Simple Short Rate Class \\
Cash Flow Series Class \\
Graphical User Interfaces \\
Short Rate Class with GUI \\
Updating of Values \\
Cash Flow Series Class with GUI \\
Conclusions \\
Further Reading \\
14. Web Integration \\
Web Basics \\
ftplib \\
httplib \\
urllib \\
Web Plotting \\
Static Plots \\
Interactive Plots \\
Real-Time Plots \\
Real-time FX data \\
Real-time stock price quotes \\
Rapid Web Applications \\
Traders Chat Room \\
Data Modeling \\
The Python Code \\
Imports and database preliminaries \\
Core functionality \\
Templating \\
Styling \\
Web Services \\
The Financial Model \\
The Implementation \\
Conclusions \\
Further Reading \\
III. Derivatives Analytics Library \\
15. Valuation Framework \\
Fundamental Theorem of Asset Pricing \\
A Simple Example \\
The General Results \\
Risk-Neutral Discounting \\
Modeling and Handling Dates \\
Constant Short Rate \\
Market Environments \\
Conclusions \\
Further Reading \\
16. Simulation of Financial Models \\
Random Number Generation \\
Generic Simulation Class \\
Geometric Brownian Motion \\
The Simulation Class \\
A Use Case \\
Jump Diffusion \\
The Simulation Class \\
A Use Case \\
Square-Root Diffusion \\
The Simulation Class \\
A Use Case \\
Conclusions \\
Further Reading \\
17. Derivatives Valuation \\
Generic Valuation Class \\
European Exercise \\
The Valuation Class \\
A Use Case \\
American Exercise \\
Least-Squares Monte Carlo \\
The Valuation Class \\
A Use Case \\
Conclusions \\
Further Reading \\
18. Portfolio Valuation \\
Derivatives Positions \\
The Class \\
A Use Case \\
Derivatives Portfolios \\
The Class \\
A Use Case \\
Conclusions \\
Further Reading \\
19. Volatility Options \\
The VSTOXX Data \\
VSTOXX Index Data \\
VSTOXX Futures Data \\
VSTOXX Options Data \\
Model Calibration \\
Relevant Market Data \\
Option Modeling \\
Calibration Procedure \\
American Options on the VSTOXX \\
Modeling Option Positions \\
The Options Portfolio \\
Conclusions \\
Further Reading \\
A. Selected Best Practices \\
Python Syntax \\
Documentation \\
Unit Testing \\
B. Call Option Class \\
C. Dates and Times \\
Python \\
NumPy \\
pandas \\
Index \\
About the Author \\
Colophon",
}
@Misc{Horsen:2015:G,
author = "C. V. Horsen",
title = "{GMPY}",
howpublished = "Web site",
year = "2015",
bibdate = "Wed Apr 24 13:48:15 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pypi.python.org/pypi/gmpy2",
abstract = "gmpy2 is an optimized, C-coded Python extension module
that supports fast multiple-precision arithmetic. gmpy2
is based on the original gmpy module. gmpy2 adds
support for correctly rounded multiple-precision real
arithmetic (using the MPFR library) and complex
arithmetic (using the MPC library).",
acknowledgement = ack-nhfb,
}
@Book{Hosmer:2015:PPN,
editor = "Chet Hosmer and Gary C. Kessler",
title = "Passive {Python} network mapping: {P2NMAP}",
publisher = pub-SYNGRESS,
address = pub-SYNGRESS:adr,
year = "2015",
ISBN = "0-12-802721-5, 0-12-802742-8 (e-book)",
ISBN-13 = "978-0-12-802721-9, 978-0-12-802742-4 (e-book)",
LCCN = "TK5105.59 .H67 2015",
bibdate = "Fri Oct 23 17:37:58 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This book reveals a revolutionary and open source
method for exposing nefarious network activity. Hosmer
shows how to effectively and definitively passively map
networks. Active or probing methods to network mapping
have traditionally been used, but they have many
drawbacks - they can disrupt operations, crash systems,
and - most importantly - miss critical nefarious
activity. It provides new innovations to passive
network mapping, while delivering open source
Python-based tools that can be put into practice
immediately.",
acknowledgement = ack-nhfb,
subject = "Computer networks; Security measures; Python (Computer
program language); Open source software; Peer-to-peer
architecture (Computer networks)",
tableofcontents = "Dedication \\
Biography \\
Preface \\
Acknowledgments \\
1: Introduction \\
Abstract \\
Conventions Used in This Text \\
What is Python Passive Network Mapping or P2NMAP? \\
Why Does This Method Cast a Larger Net? \\
How Can Active Network Mapping Actually Hurt You? \\
Organization of the Book \\
Review \\
Summary Questions \\
2: What You DON T Know About Your Network \\
Abstract \\
What s Running on Your Network Might Surprise You \\
OS Fingerprinting \\
What Open Ports or Services Don t You Know About? \\
Who s Touching Your Network? \\
Review \\
Summary Questions \\
3: Capturing Network Packets Using Python \\
Abstract \\
Setting up a Python Passive Network Mapping Environment
\\
The Art of the Silent Capture \\
Python Source Code \\
Review \\
Summary Questions \\
4: Packet Capture Analysis \\
Abstract \\
Packet Capture Analysis \\
Setting up Options for Analysis \\
Performing Analysis \\
Review \\
Summary Questions \\
5: PCAP Extractor and OS Fingerprinting \\
Abstract \\
PCAP Extraction \\
Passive OS Fingerprinting \\
Review \\
Summary Questions \\
6: Future Considerations and Challenge Problems \\
Abstract \\
Author Observations \\
Author Predictions \\
Challenge Problems \\
More Information \\
Subject Index",
}
@Article{Hughes:2015:PSS,
author = "Adam Hughes and Zhaowen Liu and M. Reeves",
title = "\pkg{Scikit-spectra}: Explorative Spectroscopy in
{Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "3",
number = "1",
pages = "e6--??",
day = "05",
month = jun,
year = "2015",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.bs",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:49 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.bs/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Humer:2015:DSL,
author = "Christian Humer and Christian Wimmer and Christian
Wirth and Andreas W{\"o}{\ss} and Thomas
W{\"u}rthinger",
title = "A domain-specific language for building
self-optimizing {AST} interpreters",
journal = j-SIGPLAN,
volume = "50",
number = "3",
pages = "123--132",
month = mar,
year = "2015",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2775053.2658776",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Tue May 12 17:41:23 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Self-optimizing AST interpreters dynamically adapt to
the provided input for faster execution. This
adaptation includes initial tests of the input, changes
to AST nodes, and insertion of guards that ensure
assumptions still hold. Such specialization and
speculation is essential for the performance of dynamic
programming languages such as JavaScript. In
traditional procedural and objectoriented programming
languages it can be tedious to write selfoptimizing AST
interpreters, as those languages fail to provide
constructs that would specifically support that. This
paper introduces a declarative domain-specific language
(DSL) that greatly simplifies writing self-optimizing
AST interpreters. The DSL supports specialization of
operations based on types of the input and other
properties. It can then use these specializations
directly or chain them to represent the operation with
the minimum amount of code possible. The DSL
significantly reduces the complexity of expressing
specializations for those interpreters. We use it in
our high-performance implementation of JavaScript,
where 274 language operations have an average of about
4 and a maximum of 190 specializations. In addition,
the DSL is used in implementations of Ruby, Python, R,
and Smalltalk.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "GPCE '14 conference proceedings.",
}
@Book{Johansson:2015:NPP,
author = "Robert Johansson",
title = "Numerical Python: a Practical Techniques Approach for
Industry",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxii + 487",
year = "2015",
ISBN = "1-4842-0554-5 (paperback), 1-4842-0553-7 (e-book)",
ISBN-13 = "978-1-4842-0554-9 (paperback), 978-1-4842-0553-2
(e-book)",
LCCN = "????",
bibdate = "Wed Jun 22 09:00:29 MDT 2016",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "The expert's voice in PYTHON; Books for professionals
by professionals",
URL = "http://www.gbv.de/dms/tib-ub-hannover/841207984.pdf",
acknowledgement = ack-nhfb,
subject = "Python; Numerische Mathematik",
}
@Book{Joshi:2015:OPE,
author = "Prateek Joshi",
title = "{OpenCV} with {Python} by example: build real-world
computer vision applications and develop cool demos
using {OpenCV} for {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "296 (est.)",
year = "2015",
ISBN = "1-78528-393-6, 1-78528-987-X",
ISBN-13 = "978-1-78528-393-2, 978-1-78528-987-3",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 15:56:15 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785283932",
acknowledgement = ack-nhfb,
tableofcontents = "OpenCV with Python By Example \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Applying Geometric Transformations to Images \\
Installing OpenCV-Python \\
Windows \\
Mac OS X \\
Linux (for Ubuntu) \\
Reading, displaying, and saving images \\
What just happened? \\
Loading and saving an image \\
Image color spaces \\
Converting between color spaces \\
What just happened? \\
Image translation \\
What just happened? \\
Image rotation \\
What just happened? \\
Image scaling \\
What just happened? \\
Affine transformations \\
What just happened? \\
Projective transformations \\
What just happened? \\
Image warping \\
Summary \\
2. Detecting Edges and Applying Image Filters \\
2D convolution \\
Blurring \\
The size of the kernel versus the blurriness \\
Edge detection \\
Motion blur \\
Under the hood \\
Sharpening \\
Understanding the pattern \\
Embossing \\
Erosion and dilation \\
Afterthought \\
Creating a vignette filter \\
What's happening underneath? \\
How do we move the focus around? \\
Enhancing the contrast in an image \\
How do we handle color images? \\
Summary \\
3. Cartoonizing an Image \\
Accessing the webcam \\
Under the hood \\
Keyboard inputs \\
Interacting with the application \\
Mouse inputs \\
What's happening underneath? \\
Interacting with a live video stream \\
How did we do it? \\
Cartoonizing an image \\
Deconstructing the code \\
Summary \\
4. Detecting and Tracking Different Body Parts \\
Using Haar cascades to detect things \\
What are integral images? \\
Detecting and tracking faces \\
Understanding it better \\
Fun with faces \\
Under the hood \\
Detecting eyes \\
Afterthought \\
Fun with eyes \\
Positioning the sunglasses \\
Detecting ears \\
Detecting a mouth \\
It's time for a moustache \\
Detecting a nose \\
Detecting pupils \\
Deconstructing the code \\
Summary \\
5. Extracting Features from an Image \\
Why do we care about keypoints? \\
What are keypoints? \\
Detecting the corners \\
Good Features To Track \\
Scale Invariant Feature Transform (SIFT) \\
Speeded Up Robust Features (SURF) \\
Features from Accelerated Segment Test (FAST) \\
Binary Robust Independent Elementary Features (BRIEF)
\\
Oriented FAST and Rotated BRIEF (ORB) \\
Summary \\
6. Creating a Panoramic Image \\
Matching keypoint descriptors \\
How did we match the keypoints? \\
Understanding the matcher object \\
Drawing the matching keypoints \\
Creating the panoramic image \\
Finding the overlapping regions \\
Stitching the images \\
What if the images are at an angle to each other? \\
Why does it look stretched? \\
Summary \\
7. Seam Carving \\
Why do we care about seam carving? \\
How does it work? \\
How do we define ``interesting''? \\
How do we compute the seams? \\
Can we expand an image? \\
Can we remove an object completely? \\
How did we do it? \\
Summary \\
8. Detecting Shapes and Segmenting an Image \\
Contour analysis and shape matching \\
Approximating a contour \\
Identifying the pizza with the slice taken out \\
How to censor a shape? \\
What is image segmentation? \\
How does it work? \\
Watershed algorithm \\
Summary \\
9. Object Tracking \\
Frame differencing \\
Colorspace based tracking \\
Building an interactive object tracker \\
Feature based tracking \\
Background subtraction \\
Summary \\
10. Object Recognition \\
Object detection versus object recognition \\
What is a dense feature detector? \\
What is a visual dictionary? \\
What is supervised and unsupervised learning? \\
What are Support Vector Machines? \\
What if we cannot separate the data with simple
straight lines? \\
How do we actually implement this? \\
What happened inside the code? \\
How did we build the trainer? \\
Summary \\
11. Stereo Vision and 3D Reconstruction \\
What is stereo correspondence? \\
What is epipolar geometry? \\
Why are the lines different as compared to SIFT? \\
Building the 3D map \\
Summary \\
12. Augmented Reality \\
What is the premise of augmented reality? \\
What does an augmented reality system look like? \\
Geometric transformations for augmented reality \\
What is pose estimation? \\
How to track planar objects? \\
What happened inside the code? \\
How to augment our reality? \\
Mapping coordinates from 3D to 2D \\
How to overlay 3D objects on a video? \\
Let's look at the code \\
Let's add some movements \\
Summary \\
Index",
}
@Book{Kasampalis:2015:MPD,
author = "Sakis Kasampalis",
title = "Mastering {Python} design patterns",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2015",
ISBN = "1-78398-932-7, 1-78398-933-5 (e-book)",
ISBN-13 = "978-1-78398-932-4, 978-1-78398-933-1 (e-book)",
LCCN = "QA76.73.P98 K37 2015",
bibdate = "Sat Oct 24 06:10:00 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This book is for Python programmers with an
intermediate background and an interest in design
patterns implemented in idiomatic Python. Programmers
of other languages who are interested in Python can
also benefit from this book, but it would be better if
they first read some introductory materials that
explain how things are done in Python.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer software;
Development; Development.; Python (Computer program
language)",
tableofcontents = "Preface \\
Design patterns \\
Common misunderstandings about design patterns \\
Design patterns and Python \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. The Factory Pattern \\
Factory Method \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Abstract Factory \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
2. The Builder Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
3. The Prototype Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
4. The Adapter Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
5. The Decorator Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
6. The Facade Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
7. The Flyweight Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
8. The Model-View-Controller Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
9. The Proxy Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
10. The Chain of Responsibility Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
11. The Command Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
12. The Interpreter Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
13. The Observer Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
14. The State Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
15. The Strategy Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
16. The Template Pattern \\
A real-life example \\
A software example \\
Use cases \\
Implementation \\
Summary \\
Index",
}
@Book{Kazil:2015:DWU,
author = "Jacqueline Kazil and Katharine Jarmul",
title = "Data Wrangling Using {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "????",
year = "2015",
ISBN = "1-4919-4881-7",
ISBN-13 = "978-1-4919-4881-1",
LCCN = "????",
bibdate = "Fri Oct 23 15:37:45 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
Who should read this book \\
Who should not read this book \\
How this book is organized \\
What is data wrangling? \\
What do to if you get stuck \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
1. Introduction to Python \\
Why Python \\
Getting started with Python \\
Which Python Version \\
Setting up Python on your machine \\
Test driving Python \\
Install pip \\
Install a code editor \\
Optional: Install iPython \\
Chapter Summary \\
2. Python basics \\
Basic data types \\
Strings \\
Integers and Floats \\
Data containers \\
Variables \\
Lists \\
Dictionaries \\
What can the various data types do? \\
String Methods: Things Strings Can Do \\
Numerical Methods: Things Numbers (Integers, Floats and
Decimals) Can Do \\
List Methods: Things Lists Can Do \\
Dictionary Methods: Things Dictionaries Can Do \\
Helpful tools: type, dir, and help \\
Type \\
Dir \\
Help \\
Putting it all together \\
What does it all mean? \\
Chapter Summary \\
3. Data meant to be read by machines \\
CSV data \\
How to import CSV data \\
Saving the code to a file; Running from command line
\\
JSON data \\
How to import JSON data \\
XML data \\
How to import XML data \\
Chapter Summary \\
4. Working with Excel Files \\
Installing Python Packages \\
Parsing Excel Files \\
Getting Started with Parsing \\
Chapter Summary \\
5. PDFs and Problem Solving in Python \\
Avoid Using PDFs \\
Programmatic approaches to PDF parsing \\
Opening and reading using Slate \\
Converting PDF to Text \\
Parsing PDFs using PDFMiner \\
Learning how to solve problems \\
Exercise: Use Table extraction, try a different library
\\
Exercise: Clean the data manually \\
Exercise: Try another tool \\
Uncommon file types \\
Chapter Summary \\
6. Acquiring & Storing Data \\
Not all data is created equal \\
Fact checking \\
Readability, Cleanliness, Longevity \\
Where to find data \\
Using a telephone \\
US Government Data \\
Government and Civic Open Data Worldwide \\
Organization & Non-Government Organization (NGO) Data
\\
Education & University Data \\
Medical and Scientific Data \\
Crowd-sourced Data & APIs \\
Case studies: Example Data Investigation \\
Ebola Crisis \\
Train Safety \\
Football Salaries \\
Child Labor \\
Storing your Data: When, Why and How? \\
Databases: a brief introduction \\
Relational Databases: MySQL and PostgreSQL \\
Non-relational Databases: NoSQL \\
Setting up your local database with Python \\
When to use a simple file \\
Cloud-storage and Python \\
Local storage and Python \\
Alternative data storage \\
Chapter Summary",
}
@Book{Kinder:2015:SGP,
author = "Jesse M. Kinder and Philip Charles Nelson",
title = "A student's guide to {Python} for physical modeling",
publisher = pub-PRINCETON,
address = pub-PRINCETON:adr,
pages = "xiii + 139",
year = "2015",
ISBN = "0-691-16958-6 (hardback), 0-691-17050-9 (paperback)",
ISBN-13 = "978-0-691-16958-3 (hardback), 978-0-691-17050-3
(paperback)",
LCCN = "QA76.73.P98 K54 2015",
bibdate = "Fri Oct 20 14:53:08 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
author-dates = "1978--",
subject = "Python (Computer program language)",
tableofcontents = "Getting started with Python \\
Structure and control \\
Data in, results out \\
First computer lab \\
More Python constructions \\
Second computer lab \\
Still more techniques \\
Third computer lab",
}
@Book{Kinsley:2015:BPG,
author = "Harrison Kinsley and Will McGugan",
title = "Beginning {Python} Games Development: With {Pygame}",
publisher = pub-APRESS,
address = pub-APRESS:adr,
edition = "Second",
pages = "xxii + 308 + 53",
year = "2015",
DOI = "https://doi.org/10.1007/978-1-4842-0970-7",
ISBN = "1-4842-0970-2, 1-4842-0971-0",
ISBN-13 = "978-1-4842-0970-7, 978-1-4842-0971-4",
LCCN = "QA75.5-76.95",
bibdate = "Fri Oct 23 16:50:06 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "SpringerLink: B{\"u}cher",
URL = "http://www.springerlink.com/content/978-1-4842-0970-7",
acknowledgement = ack-nhfb,
subject = "Computer Science; Computer Science, general;
Computerspiel.; Pygame.; Python (Programmiersprache)",
tableofcontents = "About the Authors \\
About the Technical Reviewer \\
Introduction \\
1: Introducing Python \\
Your First Look at Python \\
Numbers \\
Strings \\
Lists and Tuples \\
Unpacking \\
Loops \\
Python in Practice \\
Summary \\
2: Exploring Python \\
Creating Scripts \\
Working with Logic \\
Understanding Booleans \\
if Statement \\
and Operator \\
Or Operator \\
Not Operator \\
else Statement \\
elif Statement \\
Understanding Functions \\
Defining Functions \\
Default Values \\
Introducing Object-Oriented Programming \\
Using Classes \\
Creating an Object \\
Adding to our Class \\
Python in Practice \\
Using the Standard Library \\
Introducing import \\
Useful Modules for Games \\
Math Module \\
Summary \\
3: Introducing Pygame \\
History of Pygame \\
Installing Pygame \\
Using Pygame \\
Hello World Revisited \\
Understanding Events \\
Retrieving Events \\
Handling Mouse Motion Events \\
Handling Mouse Button Events \\
Handling Keyboard Events \\
Filtering Events \\
Posting Events \\
Opening a Display \\
Full-Screen Displays \\
Windows with No Borders \\
Additional Display Flags \\
Using the Font Module \\
Pygame in Action \\
Summary \\
4: Creating Visuals \\
Using Pixel Power \\
Working with Color \\
Representing Color in Pygame \\
Scaling Colors \\
Blending Colors \\
Using Images \\
Creating Images with an Alpha Channel \\
Storing Images \\
Working with Surface Objects \\
Creating Surfaces \\
Filling Surfaces \\
Getting Pixels in a Surface \\
Blitting \\
Drawing with Pygame \\
pygame.draw.rect \\
pygame.draw.polygon \\
pygame.draw.circle \\
pygame.draw.ellipse \\
pygame.draw.arc \\
pygame.draw.line \\
pygame.draw.lines \\
pygame.draw.aaline \\
pygame.draw.aalines \\
Summary \\
5: Making Things Move \\
Understanding Frame Rate \\
Moving in a Straight Line \\
It's About Time \\
Diagonal Movement \\
Exploring Vectors \\
Creating Vectors \\
Storing Vectors \\
Vector Magnitude \\
Unit Vectors \\
Vector Addition \\
Vector Subtraction \\
Vector Negation \\
Vector Multiplication and Division \\
Using Vectors to Create Movement \\
Diagonal Movement \\
Game Objects Vector Class \\
Summary \\
6: Accepting User Input \\
Controlling the Game \\
Understanding Keyboard Control \\
Detecting Key Presses \\
Directional Movement with Keys \\
Rotational Movement with Keys \\
Implementing Mouse Control \\
Rotational Movement with the Mouse \\
Mouse Gameplay \\
Implementing Joystick Control \\
Joystick Basics \\
Joystick Buttons \\
Joystick Direction Controls \\
Joystick Objects \\
Seeing Joysticks in Action \\
Summary \\
7: Take Me to Your Leader \\
Creating Artificial Intelligence for Games \\
What Is Intelligence? \\
Exploring AI \\
Implementing State Machines \\
Game Entities \\
Building Worlds \\
Ant Entity Class \\
Building the Brains \\
Summary \\
8: Moving into the Third Dimension \\
Creating the Illusion of Depth \\
Understanding 3D Space \\
Using 3D Vectors \\
Time-Based Movement in 3D \\
Projecting 3D Points \\
Parallel Projections \\
Perspective Projections \\
Field of View \\
A 3D World \\
Summary \\
9: Exploring the Third Dimension \\
What Is a Matrix? \\
Using the Matrix Class \\
Matrix Components \\
Translation Matrix \\
Scale Matrix \\
Rotation Matrix \\
Matrix Multiplication \\
Matrices in Action \\
Introducing OpenGL \\
Installing PyOpenGL \\
Initializing OpenGL \\
OpenGL Primer \\
Seeing OpenGL in Action \\
Summary \\
10: Making Things Go Boom \\
What Is Sound? \\
Storing Sound \\
Sound Formats \\
Creating Sound Effects \\
Stock Sound Effects \\
Playing Sounds with Pygame \\
Sound Objects \\
Sound Channels \\
Mixer Functions \\
Hearing the Mixer in Action \\
Playing Music with Pygame \\
Obtaining Music \\
Playing Music \\
Hearing Music in Action \\
Summary \\
11: Lights, Camera, Action! \\
Working with Textures \\
Uploading Textures with OpenGL \\
Texture Coordinates \\
Rendering Textures \\
Deleting Textures \\
Seeing Textures in Action \\
Mip Mapping \\
Texture Parameters \\
Min and Max Filters \\
Texture Wrapping \\
Working with Models \\
Storing Models \\
OBJ Format for 3D Models \\
Parsing OBJ Files \\
Material Library Files \\
Seeing Models in Action \\
Using the Model3D Class \\
Summary \\
12: Setting the Scene with OpenGL \\
Understanding Lighting \\
Enabling Lighting \\
Setting Light Parameters \\
Working with Materials \\
Tweaking Parameters \\
Managing Lights \\
Understanding Blending \\
Using Blending \\
Alpha Blending \\
Additive Blending \\
Subtractive Blending \\
Seeing Blending in Action \\
Blending Issues \\
Understanding Fog \\
Fog Parameters \\
Seeing Fog in Action \\
Rendering the Backdrop \\
Skyboxes \\
Seeing Skyboxes in Action \\
Skybox Enhancements \\
Where to Go for Help \\
Summary \\
Appendix A: Game Object Reference \\
Importing \\
Contributing \\
gameobjects.color.Color \\
Constructor \\
Attributes \\
Methods \\
Class Methods \\
gameobjects.matrix44.Matrix44 \\
Constructor \\
Attributes \\
Methods \\
Class Methods \\
gameobjects.vector2.Vector2 \\
Constructor \\
Attributes \\
Methods \\
Class Methods \\
gameobjects.vector3.Vector3 \\
Constructor \\
Attributes \\
Methods \\
Class Methods \\
Appendix B: Packaging Your Game \\
Creating Windows Packages \\
Using cx_Freeze \\
Building the Installer \\
Creating Packages for Linux \\
Creating Packages for the Mac \\
Index",
}
@Article{Koulouri:2015:TIP,
author = "Theodora Koulouri and Stanislao Lauria and Robert D.
Macredie",
title = "Teaching Introductory Programming: a Quantitative
Evaluation of Different Approaches",
journal = j-TOCE,
volume = "14",
number = "4",
pages = "26:1--26:??",
month = feb,
year = "2015",
CODEN = "????",
DOI = "https://doi.org/10.1145/2662412",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
abstract = "Teaching programming to beginners is a complex task.
In this article, the effects of three factors-choice of
programming language, problem-solving training, and the
use of formative assessment-on learning to program were
investigated. The study adopted an iterative
methodological approach carried out across 4
consecutive years. To evaluate the effects of each
factor (implemented as a single change in each
iteration) on students' learning performance, the study
used quantitative, objective metrics. The findings
revealed that using a syntactically simple language
(Python) instead of a more complex one (Java)
facilitated students' learning of programming concepts.
Moreover, teaching problem solving before programming
yielded significant improvements in student
performance. These two factors were found to have
variable effects on the acquisition of basic
programming concepts. Finally, it was observed that
effective formative feedback in the context of
introductory programming depends on multiple
parameters. The article discusses the implications of
these findings, identifies avenues for further
research, and argues for the importance of studies in
computer science education anchored on sound research
methodologies to produce generalizable results.",
acknowledgement = ack-nhfb,
articleno = "26",
fjournal = "ACM Transactions on Computing Education",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1193",
}
@Book{Lambert:2015:PPT,
author = "Kenneth Alfred Lambert",
title = "{Python} programming for teens",
publisher = "Cengage Learning PTR",
address = "Boston, MA, USA",
pages = "xxviii + 243",
year = "2015",
ISBN = "1-305-27195-5 (paperback), 1-305-27196-3 (e-book)",
ISBN-13 = "978-1-305-27195-1 (paperback), 978-1-305-27196-8
(e-book)",
LCCN = "QA76.73.P98 L338 2015",
bibdate = "Sat Oct 24 06:52:07 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "Provides information on how to program in Python,
including program development, the basics of using
classes and objects, 2-D geometry, fractals,
animations, recursion, and problem solving.",
acknowledgement = ack-nhfb,
author-dates = "1951--",
subject = "Python (Computer program language); Juvenile
literature; Python (Computer program language)",
tableofcontents = "Dedication \\
Acknowledgments \\
About the Author \\
Contents \\
Introduction \\
1 Getting Started with Python \\
Taking Care of Preliminaries \\
Working with Numbers \\
Working with Strings \\
Working with Lists \\
Working with Dictionaries \\
Summary \\
Exercises \\
2 Getting Started with Turtle Graphics \\
Looking at the Turtle and Its World \\
Using Basic Movement Operations \\
Setting and Examining the Turtle s State \\
Working with Colors \\
Drawing Circles \\
Drawing Text \\
Using the Turtle s Window and Canvas \\
Using a Configuration File \\
Summary \\
Exercises \\
3 Control Structures: Sequencing, Iteration, and
Selection \\
Repeating a Sequence of Statements: Iteration \\
Asking Questions: Boolean Expressions \\
Making Choices: Selection Statements \\
Using Selection to Control Iteration \\
Summary \\
Exercises \\
4 Composing, Saving, and Running Programs \\
Exploring the Program Development Process \\
Composing a Program \\
Running a Program \\
Looking Behind the Scenes: How Python Runs Programs \\
Summary \\
Exercises \\
5 Defining Functions \\
Basic Elements of Function Definitions \\
Functions as General Solutions to Problems \\
Modules as Libraries of Functions \\
Math Topic: Graphing Functions \\
Refactoring a Program with Functions \\
Summary \\
Exercises \\
6 User Interaction with the Mouse and the Keyboard \\
Using Dialog-Based Input \\
Responding to Mouse Events \\
Responding to Keyboard Events \\
Using Module Variables \\
Using Two Mouse Buttons \\
Summary \\
Exercises \\
7 Recursion \\
Recursive Design \\
Recursive Patterns in Art: Abstract Painting \\
Recursive Patterns in Nature: Fractals \\
Summary \\
Exercises \\
8 Objects and Classes \\
Objects, Methods, and Classes in Turtle Graphics \\
A New Class: RegularPolygon \\
New Class: Menu Item \\
A Grid Class for the Game of Tic-Tac-Toe \\
Summary \\
Exercises \\
9 Animations \\
Animating the Turtle with a Timer \\
Animating Many Turtles \\
Creating Custom Turtle Shapes \\
Summary \\
Exercises \\
Appendix A Turtle Graphics Commands \\
Turtle Functions \\
Functions Related to the Window and Canvas \\
Appendix B Solutions to Exercises \\
Exercise Solutions for Chapter 1 \\
Exercise Solutions for Chapter 2 \\
Exercise Solutions for Chapter 3 \\
Exercise Solutions for Chapter 4 \\
Exercise Solutions for Chapter 5 \\
Exercise Solutions for Chapter 6 \\
Exercise Solutions for Chapter 7 \\
Exercise Solutions for Chapter 8 \\
Exercise Solutions for Chapter 9 \\
Index",
}
@Book{Lawhead:2015:QPP,
author = "Joel Lawhead",
title = "{QGIS Python} programming cookbook: over 140 recipes
to help you turn {QGIS} from a desktop {GIS} tool into
a powerful automated geospatial framework",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xii + 315",
year = "2015",
ISBN = "1-78398-498-8, 1-78398-499-6 (e-book)",
ISBN-13 = "978-1-78398-498-5, 978-1-78398-499-2 (e-book)",
LCCN = "QA76.73.P98 .L394 2015",
bibdate = "Sat Oct 24 05:46:12 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language);
Geoinformationssystem.; Open Source.; Python (Computer
program language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Sections \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Automating QGIS \\
Introduction \\
Installing QGIS for development \\
Getting ready \\
How to do it \\
Installing PyQGIS using the Debian package manager \\
Installing PyQGIS using the RPM package manager \\
Setting the environment variables \\
Setting the environment variables on Windows \\
Setting the environment variables on Linux \\
How it works \ldots{} \\
There's more \ldots{} \\
Finding the PyQGIS path on Windows \\
Finding the location of the QGIS Python installation on
other platforms \\
Using the QGIS Python console for interactive control
\\
How to do it \ldots{} \\
How it works \ldots{} \\
Using the Python ScriptRunner plugin \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Setting up your QGIS IDE \\
Getting ready \\
How to do it \ldots{} \\
Adding the QGIS Python interpreter on Windows \\
Adding the PyQGIS module paths to the interpreter \\
Adding the PyQGIS API to the IDE \\
Adding environment variables \\
How it works \ldots{} \\
Debugging QGIS Python scripts \\
How to do it \ldots{} \\
Configuring QGIS \\
Configuring Eclipse \\
Testing the debugger \\
How it works \ldots{} \\
Navigating the PyQGIS API \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Creating a QGIS plugin \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Distributing a plugin \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a standalone application \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \\
Storing and reading global preferences \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Storing and reading project preferences \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Accessing the script path from within your script \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
2. Querying Vector Data \\
Introduction \\
Loading a vector layer from a file sample \\
Getting ready \\
How to do it \\
How it works \\
Loading a vector layer from a spatial database \\
Getting ready \\
How to do it \\
How it works \\
Examining vector layer features \\
Getting ready \\
How to do it \\
How it works \\
Examining vector layer attributes \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Filtering a layer by geometry \\
Getting ready \\
How to do it \\
How it works \\
Filtering a layer by attributes \\
Getting ready \\
How to do it \\
How it works \\
Buffering a feature intermediate \\
Getting ready \\
How to do it \\
How it works \\
Measuring the distance between two points \\
Getting ready \\
How to do it \\
How it works \\
Measuring the distance along a line sample \\
Getting ready \\
How to do it \\
How it works \\
Calculating the area of a polygon \\
Getting ready \\
How to do it \\
How it works \\
Creating a spatial index \\
Getting ready \\
How to do it \\
How it works \\
Calculating the bearing of a line \\
Getting ready \\
How to do it \\
How it works \\
Loading data from a spreadsheet \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
3. Editing Vector Data \\
Introduction \\
Creating a vector layer in memory \\
Getting ready \\
How to do it \\
How it works \\
There's more \ldots{} \\
Adding a point feature to a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Adding a line feature to a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Adding a polygon feature to a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Adding a set of attributes to a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Adding a field to a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Joining a shapefile attribute table to a CSV file \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Moving vector layer geometry \\
Getting ready \\
How to do it \\
How it works \\
Changing a vector layer feature's attribute \\
Getting ready \\
How to do it \\
How it works \\
Deleting a vector layer feature \\
Getting ready \\
How to do it \\
How it works \\
Deleting a vector layer attribute \\
Getting ready \\
How to do it \\
How it works \\
Reprojecting a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Converting a shapefile to KML \\
Getting ready \\
How to do it \\
How it works \\
Merging shapefiles \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Splitting a shapefile \\
Getting ready \\
How to do it \\
How it works \\
Generalizing a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Dissolving vector shapes \\
Getting ready \\
How to do it \\
How it works \\
Performing a union on vector shapes \\
Getting ready \\
How to do it \\
How it works \\
Rasterizing a vector layer \\
Getting ready \\
How to do it \\
How it works \\
4. Using Raster Data \\
Introduction \\
Loading a raster layer \\
Getting ready \\
How to do it \\
How it works \\
Getting the cell size of a raster layer \\
Getting ready \\
How to do it \\
How it works \\
Obtaining the width and height of a raster \\
Getting ready \\
How to do it \\
How it works \\
Counting raster bands \\
Getting ready \\
How to do it \\
How it works \\
Swapping raster bands \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Querying the value of a raster at a specified point \\
Getting ready \\
How to do it \\
How it works \\
Reprojecting a raster \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Creating an elevation hillshade \\
Getting ready \\
How to do it \\
How it works \\
Creating vector contours from elevation data \\
Getting ready \\
How to do it \\
How it works \\
Sampling a raster dataset using a regular grid \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Adding elevation data to line vertices using a digital
elevation model \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Creating a common extent for rasters \\
Getting ready \\
How to do it \\
How it works \\
Resampling raster resolution \\
Getting ready \\
How to do it \\
How it works \\
Counting the unique values in a raster \\
Getting ready \\
How to do it \\
How it works \\
Mosaicing rasters \\
Getting ready \\
How to do it \\
How it works \\
Converting a TIFF image to a JPEG image \\
Getting ready \\
How to do it \\
How it works \\
Creating pyramids for a raster \\
Getting ready \\
How to do it \\
How it works \\
Converting a pixel location to a map coordinate \\
Getting ready \\
How to do it \\
How it works \\
Converting a map coordinate to a pixel location \\
Getting ready \\
How to do it \\
How it works \\
Creating a KML image overlay for a raster \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Classifying a raster \\
Getting ready \\
How to do it \\
How it works \\
Converting a raster to a vector \\
Getting ready \\
How to do it \\
How it works \\
Georeferencing a raster from control points \\
Getting ready \\
How to do it \\
How it works \\
Clipping a raster using a shapefile \\
Getting ready \\
How to do it \\
How it works \\
5. Creating Dynamic Maps \\
Introduction \\
Accessing the map canvas \\
Getting ready \\
How to do it \\
How it works \\
Changing the map units \\
Getting ready \\
How to do it \\
How it works \\
Iterating over layers \\
Getting ready \\
How to do it \\
How it works \\
Symbolizing a vector layer \\
Getting ready \\
How to do it \\
How it works \\
Rendering a single band raster using a color ramp
algorithm \\
Getting ready \\
How to do it \\
How it works \ldots{} \\
Creating a complex vector layer symbol \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Using icons as vector layer symbols \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Creating a graduated vector layer symbol renderer \\
Getting ready \\
How to do it \\
How it works \\
Creating a categorized vector layer symbol \\
Getting ready \\
How to do it \\
How it works \\
Creating a map bookmark \\
Getting ready \\
How to do it \\
How it works \\
Navigating to a map bookmark \\
Getting ready \\
How to do it \\
How it works \\
Setting scale-based visibility for a layer \\
Getting ready \\
How to do it \\
How it works \\
Using SVG for layer symbols \\
Getting ready \\
How to do it \\
How it works \\
Using pie charts for symbols \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Using the OpenStreetMap service \\
Getting ready \\
How to do it \\
How it works \\
Using the Bing aerial image service \\
Getting ready \\
How to do it \\
How it works \\
Adding real-time weather data from OpenWeatherMap \\
Getting ready \\
How to do it \\
How it works \\
Labeling features \\
Getting ready \\
How to do it \\
How it works \\
Changing map layer transparency \\
Getting ready \\
How to do it \\
How it works \\
Adding standard map tools to the canvas \\
Getting ready \\
How to do it \\
How it works \\
Using a map tool to draw points on the canvas \\
Getting ready \\
How to do it \\
How it works \\
Using a map tool to draw polygons or lines on the
canvas \\
Getting ready \\
How to do it \\
How it works \\
Building a custom selection tool \\
Getting ready \\
How to do it \\
How it works \\
Creating a mouse coordinate tracking tool \\
Getting ready \\
How to do it \\
How it works \\
6. Composing Static Maps \\
Introduction \\
Creating the simplest map renderer \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Using the map composer \\
Getting ready \\
How to do it \\
How it works \\
There's more \ldots{} \\
Adding labels to a map for printing \\
Getting ready \\
How to do it \\
How it works \\
Adding a scale bar to the map \\
Getting ready \\
How to do it \\
How it works \\
Adding a north arrow to the map \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Adding a logo to the map \\
Getting ready \\
How to do it \\
How it works \\
Adding a legend to the map \\
Getting ready \\
How to do it \\
How it works \\
Adding a custom shape to the map \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Adding a grid to the map \\
Getting ready \\
How to do it \\
How it works \\
Adding a table to the map \\
Getting ready \\
How to do it \\
How it works \\
Adding a world file to a map image \\
Getting ready \\
How to do it \\
How it works \\
Saving a map to a project \\
Getting ready \\
How to do it \\
How it works \\
Loading a map from a project \\
Getting ready \\
How to do it \\
How it works \\
7. Interacting with the User \\
Introduction \\
Using log files \\
Getting ready \\
How to do it \\
How it works \\
Creating a simple message dialog \\
Getting ready \\
How to do it \\
How it works \\
There's more \ldots{} \\
Creating a warning dialog \\
Getting ready \\
How to do it \\
How it works \\
Creating an error dialog \\
Getting ready \\
How to do it \\
How it works \\
Displaying a progress bar \\
Getting ready \\
How to do it \\
How it works \\
There's more \ldots{} \\
Creating a simple text input dialog \\
Getting ready \\
How to do it \\
How it works \\
Creating a file input dialog \\
Getting ready \\
How to do it \\
How it works \\
There's more \ldots{} \\
Creating a combobox \\
Getting ready \\
How to do it \\
How it works \\
Creating radio buttons \\
Getting ready \\
How to do it \\
How it works \\
Creating checkboxes \\
Getting ready \\
How to do it \\
How it works \\
Creating tabs \\
Getting ready \\
How to do it \\
How it works \\
Stepping the user through a wizard \\
Getting ready \\
How to do it \\
How it works \\
Keeping dialogs on top \\
Getting ready \\
How to do it \\
How it works \\
8. QGIS Workflows \\
Introduction \\
Creating an NDVI \\
Getting ready \\
How to do it \\
How it works \\
Geocoding addresses \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Creating raster footprints \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Performing network analysis \\
Getting ready \\
How to do it \\
How it works \\
Routing along streets \\
Getting ready \\
How to do it \\
How it works \\
Tracking a GPS \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Creating a mapbook \\
Getting ready \\
How to do it \\
How it works \\
Finding the least cost path \\
Getting ready \\
How to do it \\
How it works \\
Performing nearest neighbor analysis \\
Getting ready \\
How to do it \\
How it works \\
Creating a heat map \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Creating a dot density map \\
Getting ready \\
How to do it \\
How it works \\
Collecting field data \\
Getting ready \\
How to do it \\
How it works \\
Computing road slope using elevation data \\
Getting ready \\
How to do it \\
How it works \\
Geolocating photos on the map \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Image change detection \\
Getting ready \\
How to do it \\
How it works \\
9. Other Tips and Tricks \\
Introduction \\
Creating tiles from a QGIS map \\
Getting ready \\
How to do it \\
How it works \\
Adding a layer to geojson.io \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Rendering map layers based on rules \\
Getting ready \\
How to do it \\
How it works \\
Creating a layer style file \\
Getting ready \\
How to do it \\
How it works \\
Using NULL values in PyQGIS \\
Getting ready \\
How to do it \\
How it works \\
Using generators for layer queries \\
Getting ready \\
How to do it \\
How it works \\
Using alpha values to show data density \\
Getting ready \\
How to do it \\
How it works \\
Using the __geo_interface__ protocol \\
Getting ready \\
How to do it \\
How it works \\
Generating points along a line \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Using expression-based labels \\
Getting ready \\
How to do it \\
How it works \\
Creating dynamic forms in QGIS \\
Getting ready \\
How to do it \\
How it works \\
Calculating length for all selected lines \\
Getting ready \\
How to do it \\
How it works \\
Using a different status bar CRS than the map \\
Getting ready \\
How to do it \\
How it works \\
Creating HTML labels in QGIS \\
Getting ready \\
How to do it \\
How it works \\
There's more \\
Using OpenStreetMap's points of interest in QGIS \\
Getting ready \\
How to do it \\
How it works \\
Visualizing data in 3D with WebGL \\
Getting ready \\
How to do it \\
How it works \\
Visualizing data on a globe \\
Getting ready \\
How to do it \\
How it works \\
Index",
}
@Book{Layton:2015:LDM,
author = "Robert Layton",
title = "Learning data mining with {Python}: harness the power
of {Python} to analyze data and create insightful
predictive models",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xiv + 317",
year = "2015",
ISBN = "1-78439-605-2 (paper), 1-78439-120-4 (e-book)",
ISBN-13 = "978-1-78439-605-3 (paper), 978-1-78439-120-1
(e-book)",
LCCN = "QA76.73.P98 L39 2015",
bibdate = "Fri Oct 23 16:12:44 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Data mining",
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Data Mining \\
Introducing data mining \\
Using Python and the IPython Notebook \\
Installing Python \\
Installing IPython \\
Installing scikit-learn \\
A simple affinity analysis example \\
What is affinity analysis? \\
Product recommendations \\
Loading the dataset with NumPy \\
Implementing a simple ranking of rules \\
Ranking to find the best rules \\
A simple classification example \\
What is classification? \\
Loading and preparing the dataset \\
Implementing the OneR algorithm \\
Testing the algorithm \\
Summary \\
2. Classifying with scikit-learn Estimators \\
scikit-learn estimators \\
Nearest neighbors \\
Distance metrics \\
Loading the dataset \\
Moving towards a standard workflow \\
Running the algorithm \\
Setting parameters \\
Preprocessing using pipelines \\
An example \\
Standard preprocessing \\
Putting it all together \\
Pipelines \\
Summary \\
3. Predicting Sports Winners with Decision Trees \\
Loading the dataset \\
Collecting the data \\
Using pandas to load the dataset \\
Cleaning up the dataset \\
Extracting new features \\
Decision trees \\
Parameters in decision trees \\
Using decision trees \\
Sports outcome prediction \\
Putting it all together \\
Random forests \\
How do ensembles work? \\
Parameters in Random forests \\
Applying Random forests \\
Engineering new features \\
Summary \\
4. Recommending Movies Using Affinity Analysis \\
Affinity analysis \\
Algorithms for affinity analysis \\
Choosing parameters \\
The movie recommendation problem \\
Obtaining the dataset \\
Loading with pandas \\
Sparse data formats \\
The Apriori implementation \\
The Apriori algorithm \\
Implementation \\
Extracting association rules \\
Evaluation \\
Summary \\
5. Extracting Features with Transformers \\
Feature extraction \\
Representing reality in models \\
Common feature patterns \\
Creating good features \\
Feature selection \\
Selecting the best individual features \\
Feature creation \\
Principal Component Analysis \\
Creating your own transformer \\
The transformer API \\
Implementation details \\
Unit testing \\
Putting it all together \\
Summary \\
6. Social Media Insight Using Naive Bayes \\
Disambiguation \\
Downloading data from a social network \\
Loading and classifying the dataset \\
Creating a replicable dataset from Twitter \\
Text transformers \\
Bag-of-words \\
N-grams \\
Other features \\
Naive Bayes \\
Bayes' theorem \\
Naive Bayes algorithm \\
How it works \\
Application \\
Extracting word counts \\
Converting dictionaries to a matrix \\
Training the Naive Bayes classifier \\
Putting it all together \\
Evaluation using the F1-score \\
Getting useful features from models \\
Summary \\
7. Discovering Accounts to Follow Using Graph Mining
\\
Loading the dataset \\
Classifying with an existing model \\
Getting follower information from Twitter \\
Building the network \\
Creating a graph \\
Creating a similarity graph \\
Finding subgraphs \\
Connected components \\
Optimizing criteria \\
Summary \\
8. Beating CAPTCHAs with Neural Networks \\
Artificial neural networks \\
An introduction to neural networks \\
Creating the dataset \\
Drawing basic CAPTCHAs \\
Splitting the image into individual letters \\
Creating a training dataset \\
Adjusting our training dataset to our methodology \\
Training and classifying \\
Back propagation \\
Predicting words \\
Improving accuracy using a dictionary \\
Ranking mechanisms for words \\
Putting it all together \\
Summary \\
9. Authorship Attribution \\
Attributing documents to authors \\
Applications and use cases \\
Attributing authorship \\
Getting the data \\
Function words \\
Counting function words \\
Classifying with function words \\
Support vector machines \\
Classifying with SVMs \\
Kernels \\
Character n-grams \\
Extracting character n-grams \\
Using the Enron dataset \\
Accessing the Enron dataset \\
Creating a dataset loader \\
Putting it all together \\
Evaluation \\
Summary \\
10. Clustering News Articles \\
Obtaining news articles \\
Using a Web API to get data \\
Reddit as a data source \\
Getting the data \\
Extracting text from arbitrary websites \\
Finding the stories in arbitrary websites \\
Putting it all together \\
Grouping news articles \\
The k-means algorithm \\
Evaluating the results \\
Extracting topic information from clusters \\
Using clustering algorithms as transformers \\
Clustering ensembles \\
Evidence accumulation \\
How it works \\
Implementation \\
Online learning \\
An introduction to online learning \\
Implementation \\
Summary \\
11. Classifying Objects in Images Using Deep Learning
\\
Object classification \\
Application scenario and goals \\
Use cases \\
Deep neural networks \\
Intuition \\
Implementation \\
An introduction to Theano \\
An introduction to Lasagne \\
Implementing neural networks with nolearn \\
GPU optimization \\
When to use GPUs for computation \\
Running our code on a GPU \\
Setting up the environment \\
Application \\
Getting the data \\
Creating the neural network \\
Putting it all together \\
Summary \\
12. Working with Big Data \\
Big data \\
Application scenario and goals \\
MapReduce \\
Intuition \\
A word count example \\
Hadoop MapReduce \\
Application \\
Getting the data \\
Naive Bayes prediction \\
The mrjob package \\
Extracting the blog posts \\
Training Naive Bayes \\
Putting it all together \\
Training on Amazon's EMR infrastructure \\
Summary \\
A. Next Steps \ldots{} \\
Chapter 1 --- Getting Started with Data Mining \\
Scikit-learn tutorials \\
Extending the IPython Notebook \\
Chapter 2 --- Classifying with scikit-learn Estimators
\\
Scalability with the nearest neighbor \\
More complex pipelines \\
Comparing classifiers \\
Chapter 3: Predicting Sports Winners with Decision
Trees \\
More on pandas \\
More complex features \\
Chapter 4 --- Recommending Movies Using Affinity
Analysis \\
New datasets \\
The Eclat algorithm \\
Chapter 5 --- Extracting Features with Transformers \\
Adding noise \\
Vowpal Wabbit \\
Chapter 6 --- Social Media Insight Using Naive Bayes
\\
Spam detection \\
Natural language processing and part-of-speech tagging
\\
Chapter 7 --- Discovering Accounts to Follow Using
Graph Mining \\
More complex algorithms \\
NetworkX \\
Chapter 8 --- Beating CAPTCHAs with Neural Networks \\
Better (worse?) CAPTCHAs \\
Deeper networks \\
Reinforcement learning \\
Chapter 9 --- Authorship Attribution \\
Increasing the sample size \\
Blogs dataset \\
Local n-grams \\
Chapter 10 --- Clustering News Articles \\
Evaluation \\
Temporal analysis \\
Real-time clusterings \\
Chapter 11: Classifying Objects in Images Using Deep
Learning \\
Keras and Pylearn2 \\
Mahotas \\
Chapter 12 --- Working with Big Data \\
Courses on Hadoop \\
Pydoop \\
Recommendation engine \\
More resources \\
Index",
}
@Book{Lentin:2015:LRU,
author = "Joseph Lentin",
title = "Learning robotics using {Python}: design, simulate,
program, and prototype an interactive autonomous mobile
robot from scratch with the help of {Python}, {ROS},
and {Open-CV!}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xiii + 303",
year = "2015",
ISBN = "1-78328-753-5, 1-68015-749-3 (e-book)",
ISBN-13 = "978-1-78328-753-6, 978-1-68015-749-9 (e-book)",
LCCN = "TJ211.495 .L46 2015",
bibdate = "Fri Oct 23 17:32:26 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "Autonomous robots; Programming; Computer vision;
Python (Computer program language); Programming
languages (Electronic computers)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Introduction to Robotics \\
What is a robot? \\
History of the term robot \\
Modern definition of a robot \\
Where do robots come from? \\
What can we find in a robot? \\
The physical body \\
Sensors \\
Effectors \\
Controllers \\
How do we build a robot? \\
Reactive control \\
Hierarchical (deliberative) control \\
Hybrid control \\
Summary \\
2. Mechanical Design of a Service Robot \\
The Requirements of a service robot \\
Robot drive mechanism \\
Selection of motors and wheels \\
Calculation of RPM of motors \\
Calculation of motor torque \\
The design summary \\
Robot chassis design \\
Installing LibreCAD, Blender, and MeshLab \\
Installing LibreCAD \\
Installing Blender \\
Installing MeshLab \\
Creating a 2D CAD drawing of the robot using LibreCAD
\\
The base plate design \\
Base plate pole design \\
Wheel, motor, and motor clamp design \\
Caster wheel design \\
Middle plate design \\
Top plate design \\
Working with a 3D model of the robot using Blender \\
Python scripting in Blender \\
Introduction to Blender Python APIs \\
Python script of the robot model \\
Questions \\
Summary \\
3. Working with Robot Simulation Using ROS and Gazebo
\\
Understanding robotic simulation \\
Mathematical modeling of the robot \\
Introduction to the differential steering system and
robot kinematics \\
Explaining of the forward kinematics equation \\
Inverse kinematics \\
Introduction to ROS and Gazebo \\
ROS Concepts \\
The ROS filesystem \\
The ROS Computation Graph \\
The ROS community level \\
Installing ROS Indigo on Ubuntu 14.04.2 \\
Introducing catkin \\
Creating an ROS package \\
Hello_world_publisher.py \\
Hello_world_subscriber.py \\
Introducing Gazebo \\
Installing Gazebo \\
Testing Gazebo with the ROS interface \\
Installing TurtleBot Robot packages on ROS Indigo \\
Installing TurtleBot ROS packages using the apt package
manager in Ubuntu \\
Simulating TurtleBot using Gazebo and ROS \\
Creating the Gazebo model from TurtleBot packages \\
What is a robot model, URDF, xacro, and robot state
publisher? \\
Creating a ChefBot description ROS package \\
chefbot_base_gazebo.urdf.xacro \\
kinect.urdf.xacro \\
chefbot_base.urdf.xacro \\
Simulating ChefBot and TurtleBot in a hotel environment
\\
Questions \\
Summary \\
4. Designing ChefBot Hardware \\
Specifications of the ChefBot hardware \\
Block diagram of the robot \\
Motor and encoder \\
Selecting motors, encoders, and wheels for the robot
\\
Motor driver \\
Selecting a motor driver/controller \\
Input pins \\
Output pins \\
Power supply pins \\
Embedded controller board \\
Ultrasonic sensors \\
Selecting the ultrasonic sensor \\
Inertial Measurement Unit \\
Kinect \\
Central Processing Unit \\
Speakers/ mic \\
Power supply/battery \\
Working of the ChefBot hardware \\
Questions \\
Summary \\
5. Working with Robotic Actuators and Wheel Encoders
\\
Interfacing DC geared motor with Tiva C LaunchPad \\
Differential wheeled robot \\
Installing the Energia IDE \\
Interfacing code \\
Interfacing quadrature encoder with Tiva C Launchpad
\\
Processing encoder data \\
Quadrature encoder interfacing code \\
Working with Dynamixel actuators \\
Questions \\
Summary \\
6. Working with Robotic Sensors \\
Working with ultrasonic distance sensors \\
Interfacing HC-SR04 to Tiva C LaunchPad \\
Working of HC-SR04 \\
Interfacing code of Tiva C LaunchPad \\
Interfacing Tiva C LaunchPad with Python \\
Working with the IR proximity sensor \\
Working with Inertial Measurement Unit \\
Inertial Navigation \\
Interfacing MPU 6050 with Tiva C LaunchPad \\
Setting up the MPU 6050 library in Energia \\
Interfacing code of Energia \\
Interfacing MPU 6050 to Launchpad with the DMP support
using Energia \\
Questions \\
Summary \\
7. Programming Vision Sensors Using Python and ROS \\
List of robotic vision sensors and image processing
libraries \\
Introduction to OpenCV, OpenNI, and PCL \\
What is OpenCV? \\
Installation of OpenCV from source code in Ubuntu
14.04.2 \\
Reading and displaying an image using the Python-OpenCV
interface \\
Capturing from web camera \\
What is OpenNI \\
Installing OpenNI in Ubuntu 14.04.2 \\
What is PCL? \\
Programming Kinect with Python using ROS, OpenCV, and
OpenNI \\
How to launch OpenNI driver \\
The ROS interface of OpenCV \\
Creating ROS package with OpenCV support \\
Displaying Kinect images using Python, ROS, and
cv_bridge \\
Working with Point Clouds using Kinect, ROS, OpenNI,
and PCL \\
Opening device and Point Cloud generation \\
Conversion of Point Cloud to laser scan data \\
Working with SLAM using ROS and Kinect \\
Questions \\
Summary \\
8. Working with Speech Recognition and Synthesis Using
Python and ROS \\
Understanding speech recognition \\
Block diagram of a speech recognition system \\
Speech recognition libraries \\
CMU Sphinx/Pocket Sphinx \\
Julius \\
Windows Speech SDK \\
Speech synthesis \\
Speech synthesis libraries \\
eSpeak \\
Festival \\
Working with speech recognition and synthesis in Ubuntu
14.04.2 using Python \\
Setting up Pocket Sphinx and its Python binding in
Ubuntu 14.04.2 \\
Working with Pocket Sphinx Python binding in Ubuntu
14.04.2 \\
Output \\
Real-time speech recognition using Pocket Sphinx,
GStreamer, and Python in Ubuntu 14.04.2 \\
Speech recognition using Julius and Python in Ubuntu
14.04.2 \\
Installation of Julius speech recognizer and Python
module \\
Python-Julius client code \\
Improving speech recognition accuracy in Pocket Sphinx
and Julius \\
Setting up eSpeak and Festival in Ubuntu 14.04.2 \\
Working with speech recognition and synthesis in
Windows using Python \\
Installation of the Speech SDK \\
Working with Speech recognition in ROS Indigo and
Python \\
Installation of the pocketsphinx package in ROS Indigo
\\
Working with speech synthesis in ROS Indigo and Python
\\
Questions \\
Summary \\
9. Applying Artificial Intelligence to ChefBot Using
Python \\
Block diagram of the communication system in ChefBot
\\
Introduction to AIML \\
Introduction to AIML tags \\
Introduction to PyAIML \\
Installing PyAIML on Ubuntu 14.04.2 \\
Installing PyAIML from source code \\
Working with AIML and Python \\
Loading a single AIML file from the command-line
argument \\
Working with A.L.I.C.E. AIML files \\
Loading AIML files into memory \\
Loading AIML files and saving them in brain files \\
Loading AIML and brain files using the Bootstrap method
\\
Integrating PyAIML into ROS \\
aiml_server.py \\
aiml_client.py \\
aiml_tts_client.py \\
aiml_speech_recog_client.py \\
start_chat.launch \\
start_tts_chat.launch \\
start_speech_chat.launch \\
Questions \\
Summary \\
10. Integration of ChefBot Hardware and Interfacing it
into ROS, Using Python \\
Building ChefBot hardware \\
Configuring ChefBot PC and setting ChefBot ROS packages
\\
Interfacing ChefBot sensors with Tiva C LaunchPad \\
Embedded code for ChefBot \\
Writing a ROS Python driver for ChefBot \\
Understanding ChefBot ROS launch files \\
Working with ChefBot Python nodes and launch files \\
Working with SLAM on ROS to build the map of the room
\\
Working with ROS localization and navigation \\
Questions \\
Summary \\
11. Designing a GUI for a Robot Using Qt and Python \\
Installing Qt on Ubuntu 14.04.2 LTS \\
Working with Python bindings of Qt \\
PyQt \\
Installing PyQt on Ubuntu 14.04.2 LTS \\
PySide \\
Installing PySide on Ubuntu 14.04.2 LTS \\
Working with PyQt and PySide \\
Introducing Qt Designer \\
Qt signals and slots \\
Converting a UI file into Python code \\
Adding a slot definition to PyQt code \\
Up and running of Hello World GUI application \\
Working with ChefBot's control GUI \\
Installing and working with rqt in Ubuntu 14.04.2 LTS
\\
Questions \\
Summary \\
12. The Calibration and Testing of ChefBot \\
The Calibration of Xbox Kinect using ROS \\
Calibrating the Kinect RGB camera \\
Calibrating the Kinect IR camera \\
Wheel odometry calibration \\
Error analysis of wheel odometry \\
Error correction \\
Calibrating the MPU 6050 \\
Testing of the robot using GUI \\
Pros and cons of the ROS navigation \\
Questions \\
Summary \\
Index",
}
@Book{Lott:2015:FPP,
author = "Steven Lott",
title = "Functional {Python} programming",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "361 (est.)",
year = "2015",
ISBN = "1-78439-699-0, 1-78439-761-X (e-book)",
ISBN-13 = "978-1-78439-699-2, 978-1-78439-761-6 (e-book)",
LCCN = "QA76.73.P98 .L688 2015",
bibdate = "Sat Oct 24 05:34:50 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib.new",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Introducing Functional Programming \\
Identifying a paradigm \\
Subdividing the procedural paradigm \\
Using the functional paradigm \\
Using a functional hybrid \\
Looking at object creation \\
The stack of turtles \\
A classic example of functional programming \\
Exploratory Data Analysis \\
Summary \\
2. Introducing Some Functional Features \\
First-class functions \\
Pure functions \\
Higher-order functions \\
Immutable data \\
Strict and non-strict evaluation \\
Recursion instead of a explicit loop state \\
Functional type systems \\
Familiar territory \\
Saving some advanced concepts \\
Summary \\
3. Functions, Iterators, and Generators \\
Writing pure functions \\
Functions as first-class objects \\
Using strings \\
Using tuples and namedtuples \\
Using generator expressions \\
Exploring the limitations of generators \\
Combining generator expressions \\
Cleaning raw data with generator functions \\
Using lists, dicts, and sets \\
Using stateful mappings \\
Using the bisect module to create a mapping \\
Using stateful sets \\
Summary \\
4. Working with Collections \\
An overview of function varieties \\
Working with iterables \\
Parsing an XML file \\
Parsing a file at a higher level \\
Pairing up items from a sequence \\
Using the iter() function explicitly \\
Extending a simple loop \\
Applying generator expressions to scalar functions \\
Using any() and all() as reductions \\
Using len() and sum() \\
Using sums and counts for statistics \\
Using zip() to structure and flatten sequences \\
Unzipping a zipped sequence \\
Flattening sequences \\
Structuring flat sequences \\
Structuring flat sequences an alternative approach \\
Using reversed() to change the order \\
Using enumerate() to include a sequence number \\
Summary \\
5. Higher-order Functions \\
Using max() and min() to find extrema \\
Using Python lambda forms \\
Lambdas and the lambda calculus \\
Using the map() function to apply a function to a
collection \\
Working with lambda forms and map() \\
Using map() with multiple sequences \\
Using the filter() function to pass or reject data \\
Using filter() to identify outliers \\
The iter() function with a sentinel value \\
Using sorted() to put data in order \\
Writing higher-order functions \\
Writing higher-order mappings and filters \\
Unwrapping data while mapping \\
Wrapping additional data while mapping \\
Flattening data while mapping \\
Structuring data while filtering \\
Writing generator functions \\
Building higher-order functions with Callables \\
Assuring good functional design \\
Looking at some of the design patterns \\
Summary \\
6. Recursions and Reductions \\
Simple numerical recursions \\
Implementing tail-call optimization \\
Leaving recursion in place \\
Handling difficult tail-call optimization \\
Processing collections via recursion \\
Tail-call optimization for collections \\
Reductions and folding from many to one \\
Group-by reductions from many to fewer \\
Building a mapping with Counter \\
Building a mapping by sorting \\
Grouping or partitioning data by key values \\
Writing more general group-by reductions \\
Writing higher-order reductions \\
Writing file parsers \\
Parsing CSV files \\
Parsing plain text files with headers \\
Summary \\
7. Additional Tuple Techniques \\
Using an immutable namedtuple as a record \\
Building namedtuples with functional constructors \\
Avoiding stateful classes by using families of tuples
\\
Assigning statistical ranks \\
Wrapping instead of state changing \\
Rewrapping instead of state changing \\
Computing the Spearman rank-order correlation \\
Polymorphism and Pythonic pattern matching \\
Summary \\
8. The Itertools Module \\
Working with the infinite iterators \\
Counting with count() \\
Reiterating a cycle with cycle() \\
Repeating a single value with repeat() \\
Using the finite iterators \\
Assigning numbers with enumerate() \\
Running totals with accumulate() \\
Combining iterators with chain() \\
Partitioning an iterator with groupby() \\
Merging iterables with zip_longest() and zip() \\
Filtering with compress() \\
Picking subsets with islice() \\
Stateful filtering with dropwhile() and takewhile() \\
Two approaches to filtering with filterfalse() and
filter() \\
Applying a function to data via starmap() and map() \\
Cloning iterators with tee() \\
The itertools recipes \\
Summary \\
9. More Itertools Techniques \\
Enumerating the Cartesian product \\
Reducing a product \\
Computing distances \\
Getting all pixels and all colors \\
Performance analysis \\
Rearranging the problem \\
Combining two transformations \\
Permuting a collection of values \\
Generating all combinations \\
Recipes \\
Summary \\
10. The Functools Module \\
Function tools \\
Memoizing previous results with lru_cache \\
Defining classes with total ordering \\
Defining number classes \\
Applying partial arguments with partial() \\
Reducing sets of data with reduce() \\
Combining map() and reduce() \\
Using reduce() and partial() \\
Using map() and reduce() to sanitize raw data \\
Using groupby() and reduce() \\
Summary \\
11. Decorator Design Techniques \\
Decorators as higher-order functions \\
Using functool's update_wrapper() functions \\
Cross-cutting concerns \\
Composite design \\
Preprocessing bad data \\
Adding a parameter to a decorator \\
Implementing more complex descriptors \\
Recognizing design limitations \\
Summary \\
12. The Multiprocessing and Threading Modules \\
What concurrency really means \\
The boundary conditions \\
Sharing resources with process or threads \\
Where benefits will accrue \\
Using multiprocessing pools and tasks \\
Processing many large files \\
Parsing log files gathering the rows \\
Parsing log lines into namedtuples \\
Parsing additional fields of an Access object \\
Filtering the access details \\
Analyzing the access details \\
The complete analysis process \\
Using a multiprocessing pool for concurrent processing
\\
Using apply() to make a single request \\
Using map_async(), starmap_async(), and apply_async()
\\
More complex multiprocessing architectures \\
Using the concurrent.futures module \\
Using concurrent.futures thread pools \\
Using the threading and queue modules \\
Designing concurrent processing \\
Summary \\
13. Conditional Expressions and the Operator Module \\
Evaluating conditional expressions \\
Exploiting non-strict dictionary rules \\
Filtering true conditional expressions \\
Using the operator module instead of lambdas \\
Getting named attributes when using higher-order
functions \\
Starmapping with operators \\
Reducing with operators \\
Summary \\
14. The PyMonad Library \\
Downloading and installing \\
Functional composition and currying \\
Using curried higher-order functions \\
Currying the hard way \\
Functional composition and the PyMonad multiplication
operator \\
Functors and applicative functors \\
Using the lazy List() functor \\
Monad concepts, the bind() function and the Binary
Right Shift operator \\
Implementing simulation with monads \\
Additional PyMonad features \\
Summary \\
15. A Functional Approach to Web Services \\
The HTTP request-response model \\
Injecting a state via cookies \\
Considering a server with a functional design \\
Looking more deeply into the functional view \\
Nesting the services \\
The WSGI standard \\
Throwing exceptions during WSGI processing \\
Pragmatic WSGI applications \\
Defining web services as functions \\
Creating the WSGI application \\
Getting raw data \\
Applying a filter \\
Serializing the results \\
Serializing data into the JSON or CSV format \\
Serializing data into XML \\
Serializing data into HTML \\
Tracking usage \\
Summary \\
16. Optimizations and Improvements \\
Memoization and caching \\
Specializing memoization \\
Tail recursion optimizations \\
Optimizing storage \\
Optimizing accuracy \\
Reducing accuracy based on audience requirements \\
Case study making a chi-squared decision \\
Filtering and reducing the raw data with a Counter
object \\
Reading summarized data \\
Computing probabilities from a Counter object \\
Alternative summary approaches \\
Computing expected values and displaying a contingency
table \\
Computing the chi-squared value \\
Computing the chi-squared threshold \\
Computing the partial gamma value \\
Computing the complete gamma value \\
Computing the odds of a distribution being random \\
Summary \\
Index",
}
@Book{Lott:2015:PEM,
author = "Steven F. Lott",
title = "{Python} essentials: modernize existing {Python} code
and plan code migrations to {Python} using this
definitive guide",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xiv + 271",
year = "2015",
ISBN = "1-78439-814-4, 1-78439-034-8",
ISBN-13 = "978-1-78439-814-9, 978-1-78439-034-1",
LCCN = "????",
bibdate = "Fri Oct 23 16:39:41 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
acknowledgement = ack-nhfb,
subject = "datanet; programmering; Python; programmeringssprog;
objektorienteret programmering",
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started \\
Installation or upgrade \\
Installing Python on Windows \\
Considering some alternatives \\
Upgrading to Python 3.4 in Mac OS X \\
Adding the Tkinter package \\
Upgrading to Python 3.4 in Linux \\
Using the Read-Evaluate-Print Loop (REPL) \\
Confirming that things are working \\
Doing simple arithmetic \\
Assigning results to variables \\
Using import to add features \\
Interacting with the help subsystem \\
Using the pydoc program \\
Creating simple script files \\
Simplified syntax rules \\
The Python ecosystem \\
The idea of extensibility via add-ons \\
Using the Python Package Index --- PyPI \\
Using pip to gather modules \\
Using easy_install to add modules \\
Installing modules manually \\
Looking at other Python interpreters \\
Summary \\
2. Simple Data Types \\
Introducing the built-in operators \\
Making comparisons \\
Using integers \\
Using the bit-oriented operators \\
Using rational numbers \\
Using decimal numbers \\
Using floating-point numbers \\
Using complex numbers \\
The numeric tower \\
The math libraries \\
Using bits and Boolean values \\
Working with sequences \\
Slicing and dicing a sequence \\
Using string and bytes values \\
Writing string literals \\
Using raw string literals \\
Using byte string literals \\
Using the string operators \\
Converting between Unicode and bytes \\
Using string methods \\
Accessing the details of a string \\
Parsing strings into substrings \\
Using the tuple collection \\
The None object \\
The consequences of immutability \\
Using the built-in conversion functions \\
Summary \\
3. Expressions and Output \\
Expressions, operators, and data types \\
Using operators on non-numeric data \\
The print() function \\
Examining syntax rules \\
Splitting, partitioning, and joining strings \\
Using the format() method to make more readable output
\\
Summary of the standard string libraries \\
Using the re module to parse strings \\
Using regular expressions \\
Creating a regular expression string \\
Working with Unicode, ASCII, and bytes \\
Using the locale module for personalization \\
Summary \\
4. Variables, Assignment and Scoping Rules \\
Simple assignment and variables \\
Multiple assignment \\
Using repeated assignment \\
Using the head, *tail assignment \\
Augmented assignment \\
The input() function \\
Python language concepts \\
Object types versus variable declarations \\
Avoiding confusion when naming variables \\
Garbage collection via reference counting \\
The little-used del statement \\
The Python namespace concept \\
Globals and locals \\
Summary \\
5. Logic, Comparisons, and Conditions \\
Boolean data and the bool() function \\
Comparison operators \\
Combining comparisons to simplify the logic \\
Testing float values \\
Comparing object IDs with the is operator \\
Equality and object hash values \\
Logic operators --- and, or, not, if-else \\
Short-circuit (or non-strict) evaluation \\
The if-elif-else statement \\
Adding elif clauses \\
The pass statement as a placeholder \\
The assert statement \\
The logic of the None object \\
Summary \\
6. More Complex Data Types \\
The mutability and immutability distinction \\
Using the list collection \\
Using list operators \\
Mutating a list with subscripts \\
Mutating a list with method functions \\
Accessing a list \\
Using collection functions \\
Using the set collection \\
Using set operators \\
Mutating a set with method functions \\
Using augmented assignment with sets \\
Accessing a set with operators and method functions \\
Mappings \\
Using dictionary operators \\
Using dictionary mutators \\
Using methods for accessing items in a mapping \\
Using extensions from the collections module \\
Processing collections with the for statement \\
Using literal lists in a for statement \\
Using the range() and enumerate() functions \\
Iterating with the while statement \\
The continue and break statements \\
Breaking early from a loop \\
Using the else clause on a loop \\
Summary \\
7. Basic Function Definitions \\
Looking at the five kinds of callables \\
Defining functions with positional parameters \\
Defining multiple parameters \\
Using the return statement \\
Evaluating a function with positional or keyword
arguments \\
Writing a function's docstring \\
Mutable and immutable argument values \\
Defining optional parameters via default values \\
A warning about mutable default values \\
Using the ``everything else'' notations of * and ** \\
Using sequences and dictionaries to fill in *args and
*kw \\
Nested function definitions \\
Working with namespaces \\
Assigning a global variable \\
Assigning a non-local variable \\
Defining lambdas \\
Writing additional function annotations \\
Summary \\
8. More Advanced Functions \\
Using the for statement with iterable collections \\
Iterators and iterable collections \\
Consequences and next steps \\
Using generator expressions and comprehensions \\
Limitations of generator expressions \\
Using multiple loops and conditions \\
Writing comprehensions \\
Defining generator functions with the yield statement
\\
Using the higher-order functions \\
Writing our own higher-order functions \\
Using the built-in reductions --- max, min, and reduce
\\
Three ways to sort a sequence \\
Sorting via a key function \\
Sorting via wrapping and unwrapping \\
Functional programming design patterns \\
Summary \\
9. Exceptions \\
The core exception concept \\
Examining the exception object \\
Using the try and except statements \\
Using nested try statements \\
Matching exception classes in an except clause \\
Matching more general exceptions \\
The empty except clause \\
Creating our own exceptions \\
Using a finally clause \\
Use cases for exceptions \\
Issuing warnings instead of exceptions \\
Permission versus forgiveness --- a Pythonic approach
\\
Summary \\
10. Files, Databases, Networks, and Contexts \\
The essential file concept \\
Opening text files \\
Filtering text lines \\
Working with raw bytes \\
Using file-like objects \\
Using a context manager via the with statement \\
Closing file-like objects with contextlib \\
Using the shelve module as a database \\
Using the sqlite database \\
Using object-relational mapping \\
Web services and Internet protocols \\
Physical format considerations \\
Summary \\
11. Class Definitions \\
Creating a class \\
Writing the suite of statements in a class \\
Using instance variables and methods \\
Pythonic object-oriented programming \\
Trying to do type casting \\
Designing for encapsulation and privacy \\
Using properties \\
Using inheritance to simplify class definitions \\
Using multiple inheritance and the mixin design pattern
\\
Using class methods and attributes \\
Using mutable class variables \\
Writing static methods \\
Using __slots__ to save storage \\
The ABCs of abstract base classes \\
Writing a callable class \\
Summary \\
12. Scripts, Modules, Packages, Libraries, and
Applications \\
Script file rules \\
Running a script by the filename \\
Running a script by its module name \\
Running a script using OS shell rules \\
Choosing good script names \\
Creating a reusable module \\
Creating a hybrid library/application module \\
Creating a package \\
Designing alternative implementations \\
Seeing the package search path \\
Summary \\
13. Metaprogramming and Decorators \\
Simple metaprogramming with decorators \\
Defining our own decorator \\
More complex metaprogramming with metaclasses \\
Summary \\
14. Fit and Finish --- Unit Testing, Packaging, and
Documentation \\
Writing docstrings \\
Writing unit tests with doctest \\
Using the unittest library for testing \\
Combining doctest and unittest \\
Using other add-on test libraries \\
Logging events and conditions \\
Configuring the logging system \\
Writing documentation with RST markup \\
Creating HTML documentation from an RST source \\
Using the Sphinx tool \\
Organizing Python code \\
Summary \\
15. Next Steps \\
Leveraging the standard library \\
Leveraging PyPI --- the Python Package Index \\
Types of applications \\
Building CLI applications \\
Getting command-line arguments with argparse \\
Using the cmd module for interactive applications \\
Building GUI applications \\
Using more sophisticated packages \\
Building web applications \\
Using a web framework \\
Building a RESTful web service with Flask \\
Plugging into a MapReduce framework \\
Summary \\
Index",
}
@Book{Madhavan:2015:MPD,
author = "Samir Madhavan",
title = "Mastering {Python} for data science: explore the world
of data science through {Python} and learn how to make
sense of data",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "????",
year = "2015",
ISBN = "1-78439-015-1, 1-78439-262-6 (e-book)",
ISBN-13 = "978-1-78439-015-0, 978-1-78439-262-8 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:00:59 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781784390150",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Electronic data
processing; Management; Data mining; COMPUTERS /
General",
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Raw Data \\
The world of arrays with NumPy \\
Creating an array \\
Mathematical operations \\
Array subtraction \\
Squaring an array \\
A trigonometric function performed on the array \\
Conditional operations \\
Matrix multiplication \\
Indexing and slicing \\
Shape manipulation \\
Empowering data analysis with pandas \\
The data structure of pandas \\
Series \\
DataFrame \\
Panel \\
Inserting and exporting data \\
CSV \\
XLS \\
JSON \\
Database \\
Data cleansing \\
Checking the missing data \\
Filling the missing data \\
String operations \\
Merging data \\
Data operations \\
Aggregation operations \\
Joins \\
The inner join \\
The left outer join \\
The full outer join \\
The groupby function \\
Summary \\
2. Inferential Statistics \\
Various forms of distribution \\
A normal distribution \\
A normal distribution from a binomial distribution \\
A Poisson distribution \\
A Bernoulli distribution \\
A z-score \\
A p-value \\
One-tailed and two-tailed tests \\
Type 1 and Type 2 errors \\
A confidence interval \\
Correlation \\
Z-test vs T-test \\
The F distribution \\
The chi-square distribution \\
Chi-square for the goodness of fit \\
The chi-square test of independence \\
ANOVA \\
Summary \\
3. Finding a Needle in a Haystack \\
What is data mining? \\
Presenting an analysis \\
Studying the Titanic \\
Which passenger class has the maximum number of
survivors? \\
What is the distribution of survivors based on gender
among the various classes? \\
What is the distribution of nonsurvivors among the
various classes who have family aboard the ship? \\
What was the survival percentage among different age
groups? \\
Summary \\
4. Making Sense of Data through Advanced Visualization
\\
Controlling the line properties of a chart \\
Using keyword arguments \\
Using the setter methods \\
Using the setp() command \\
Creating multiple plots \\
Playing with text \\
Styling your plots \\
Box plots \\
Heatmaps \\
Scatter plots with histograms \\
A scatter plot matrix \\
Area plots \\
Bubble charts \\
Hexagon bin plots \\
Trellis plots \\
A 3D plot of a surface \\
Summary \\
5. Uncovering Machine Learning \\
Different types of machine learning \\
Supervised learning \\
Unsupervised learning \\
Reinforcement learning \\
Decision trees \\
Linear regression \\
Logistic regression \\
The naive Bayes classifier \\
The k-means clustering \\
Hierarchical clustering \\
Summary \\
6. Performing Predictions with a Linear Regression \\
Simple linear regression \\
Multiple regression \\
Training and testing a model \\
Summary \\
7. Estimating the Likelihood of Events \\
Logistic regression \\
Data preparation \\
Creating training and testing sets \\
Building a model \\
Model evaluation \\
Evaluating a model based on test data \\
Model building and evaluation with SciKit \\
Summary \\
8. Generating Recommendations with Collaborative
Filtering \\
Recommendation data \\
User-based collaborative filtering \\
Finding similar users \\
The Euclidean distance score \\
The Pearson correlation score \\
Ranking the users \\
Recommending items \\
Item-based collaborative filtering \\
Summary \\
9. Pushing Boundaries with Ensemble Models \\
The census income dataset \\
Exploring the census data \\
Hypothesis 1: People who are older earn more \\
Hypothesis 2: Income bias based on working class \\
Hypothesis 3: People with more education earn more \\
Hypothesis 4: Married people tend to earn more \\
Hypothesis 5: There is a bias in income based on race
\\
Hypothesis 6: There is a bias in the income based on
occupation \\
Hypothesis 7: Men earn more \\
Hypothesis 8: People who clock in more hours earn more
\\
Hypothesis 9: There is a bias in income based on the
country of origin \\
Decision trees \\
Random forests \\
Summary \\
10. Applying Segmentation with k-means Clustering \\
The k-means algorithm and its working \\
A simple example \\
The k-means clustering with countries \\
Determining the number of clusters \\
Clustering the countries \\
Summary \\
11. Analyzing Unstructured Data with Text Mining \\
Preprocessing data \\
Creating a wordcloud \\
Word and sentence tokenization \\
Parts of speech tagging \\
Stemming and lemmatization \\
Stemming \\
Lemmatization \\
The Stanford Named Entity Recognizer \\
Performing sentiment analysis on world leaders using
Twitter \\
Summary \\
12. Leveraging Python in the World of Big Data \\
What is Hadoop? \\
The programming model \\
The MapReduce architecture \\
The Hadoop DFS \\
Hadoop's DFS architecture \\
Python MapReduce \\
The basic word count \\
A sentiment score for each review \\
The overall sentiment score \\
Deploying the MapReduce code on Hadoop \\
File handling with Hadoopy \\
Pig \\
Python with Apache Spark \\
Scoring the sentiment \\
The overall sentiment \\
Summary \\
Index",
}
@Book{Malthe-Sorenssen:2015:EMU,
author = "Anders Malthe-S{\o}renssen",
title = "Elementary mechanics using {Python}: a modern course
combining analytical and numerical techniques",
publisher = "Springer",
address = "Cham, Switzerland",
pages = "xiii + 590",
year = "2015",
DOI = "https://doi.org/10.1007/978-3-319-19596-4",
ISBN = "3-319-19595-6 (print), 3-319-19596-4 (e-book)",
ISBN-13 = "978-3-319-19595-7 (print), 978-3-319-19596-4
(e-book)",
ISSN = "2192-4791 (print), 2192-4805 (electronic)",
ISSN-L = "2192-4805",
LCCN = "QA805 .M35 2015",
bibdate = "Mon Apr 18 10:02:34 MDT 2016",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Undergraduate lecture notes in physics",
abstract = "This book --- specifically developed as a novel
textbook on elementary classical mechanics --- shows
how analytical and numerical methods can be seamlessly
integrated to solve physics problems. This approach
allows students to solve more advanced and applied
problems at an earlier stage and equips them to deal
with real-world examples well beyond the typical
special cases treated in standard textbooks. Another
advantage of this approach is that students are brought
closer to the way physics is actually discovered and
applied, as they are introduced right from the start to
a more exploratory way of understanding phenomena and
of developing their physical concepts. While not a
requirement, it is advantageous for the reader to have
some prior knowledge of scientific programming with a
scripting-type language. This edition of the book uses
Python, and a chapter devoted to the basics of
scientific programming with Python is included. A
parallel edition using Matlab instead of Python is also
available. Last but not least, each chapter is
accompanied by an extensive set of course-tested
exercises and solutions.",
acknowledgement = ack-nhfb,
author-dates = "1969--",
subject = "Mechanics; Mathematical models; Python (Computer
program language); Physics; Numerical and Computational
Physics; Mathematical Methods in Physics; Mathematical
models; Python (Computer program language)",
tableofcontents = "Introduction \\
Getting started with programming \\
Units and measurement \\
Motion in one dimension \\
Forces in one dimension \\
Motion in two and three dimensions \\
Forces in two and three dimensions \\
Constrained motion \\
Forces and constrained motion \\
Work \\
Energy \\
Momentum, impulse, and collisions \\
Multiparticle systems \\
Rotational motion \\
Rotation of rigid bodies \\
Dynamics of rigid bodies \\
Proofs \\
Solutions \\
Index",
}
@Article{Marr:2015:TVP,
author = "Stefan Marr and St{\'e}phane Ducasse",
title = "Tracing vs. partial evaluation: comparing
meta-compilation approaches for self-optimizing
interpreters",
journal = j-SIGPLAN,
volume = "50",
number = "10",
pages = "821--839",
month = oct,
year = "2015",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2858965.2814275",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Tue Feb 16 12:01:43 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Tracing and partial evaluation have been proposed as
meta-compilation techniques for interpreters to make
just-in-time compilation language-independent. They
promise that programs executing on simple interpreters
can reach performance of the same order of magnitude as
if they would be executed on state-of-the-art virtual
machines with highly optimizing just-in-time compilers
built for a specific language. Tracing and partial
evaluation approach this meta-compilation from two ends
of a spectrum, resulting in different sets of
tradeoffs. This study investigates both approaches in
the context of self-optimizing interpreters, a
technique for building fast abstract-syntax-tree
interpreters. Based on RPython for tracing and Truffle
for partial evaluation, we assess the two approaches by
comparing the impact of various optimizations on the
performance of an interpreter for SOM, an
object-oriented dynamically-typed language. The goal is
to determine whether either approach yields clear
performance or engineering benefits. We find that
tracing and partial evaluation both reach roughly the
same level of performance. SOM based on meta-tracing is
on average 3x slower than Java, while SOM based on
partial evaluation is on average 2.3x slower than Java.
With respect to the engineering, tracing has however
significant benefits, because it requires language
implementers to apply fewer optimizations to reach the
same level of performance.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "OOPSLA '15 conference proceedings.",
}
@Book{Mehta:2015:MPS,
author = "Hemant Kumar Mehta",
title = "Mastering {Python} scientific computing: a complete
guide for {Python} programmers to master scientific
computing using {Python APIs} and tools",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "????",
year = "2015",
ISBN = "1-78328-883-3, 1-78328-882-5",
ISBN-13 = "978-1-78328-883-0, 978-1-78328-882-3",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 15:54:07 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783288823",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer science",
tableofcontents = "Mastering Python Scientific Computing \\
Table of Contents \\
Mastering Python Scientific Computing \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. The Landscape of Scientific Computing --- and Why
Python? \\
Definition of scientific computing \\
A simple flow of the scientific computation process \\
Examples from scientific/engineering domains \\
A strategy for solving complex problems \\
Approximation, errors, and associated concepts and
terms \\
Error analysis \\
Conditioning, stability, and accuracy \\
Backward and forward error analysis \\
Is it okay to ignore these errors? \\
Computer arithmetic and floating-point numbers \\
The background of the Python programming language \\
The guiding principles of the Python language \\
Why Python for scientific computing? \\
Compact and readable code \\
Holistic language design \\
Free and open source \\
Language interoperability \\
Portable and extensible \\
Hierarchical module system \\
Graphical user interface packages \\
Data structures \\
Python's testing framework \\
Available libraries \\
The downsides of Python \\
Summary \\
2. A Deeper Dive into Scientific Workflows and the
Ingredients of Scientific Computing Recipes \\
Mathematical components of scientific computations \\
A system of linear equations \\
A system of nonlinear equations \\
Optimization \\
Interpolation \\
Extrapolation \\
Numerical integration \\
Numerical differentiation \\
Differential equations \\
The initial value problem \\
The boundary value problem \\
Random number generator \\
Python scientific computing \\
Introduction to NumPy \\
The SciPy library \\
The SciPy Subpackage \\
Data analysis using pandas \\
A brief idea of interactive programming using IPython
\\
IPython parallel computing \\
IPython Notebook \\
Symbolic computing using SymPy \\
The features of SymPy \\
Why SymPy? \\
The plotting library \\
Summary \\
3. Efficiently Fabricating and Managing Scientific Data
\\
The basic concepts of data \\
Data storage software and toolkits \\
Files \\
Structured files \\
Unstructured files \\
Database \\
Possible operations on data \\
Scientific data format \\
Ready-to-use standard datasets \\
Data generation \\
Synthetic data generation (fabrication) \\
Using Python's built-in functions for random number
generation \\
Bookkeeping functions \\
Functions for integer random number generation \\
Functions for sequences \\
Statistical-distribution-based functions \\
Nondeterministic random number generator \\
Designing and implementing random number generators
based on statistical distributions \\
A program with simple logic to generate five-digit
random numbers \\
A brief note about large-scale datasets \\
Summary \\
4. Scientific Computing APIs for Python \\
Numerical scientific computing in Python \\
The NumPy package \\
The ndarrays data structure \\
File handling \\
Some sample NumPy programs \\
The SciPy package \\
The optimization package \\
The interpolation package \\
Integration and differential equations in SciPy \\
The stats module \\
Clustering package and spatial algorithms in SciPy \\
Image processing in SciPy \\
Sample SciPy programs \\
Statistics using SciPy \\
Optimization in SciPy \\
Image processing using SciPy \\
Symbolic computations using SymPy \\
Computer Algebra System \\
Features of a general-purpose CAS \\
A brief idea of SymPy \\
Core capability \\
Polynomials \\
Calculus \\
Solving equations \\
Discrete math \\
Matrices \\
Geometry \\
Plotting \\
Physics \\
Statistics \\
Printing \\
SymPy modules \\
Simple exemplary programs \\
Basic symbol manipulation \\
Expression expansion in SymPy \\
Simplification of an expression or formula \\
Simple integrations \\
APIs and toolkits for data analysis and visualization
\\
Data analysis and manipulation using pandas \\
Important data structures of pandas \\
Special features of pandas \\
Data visualization using matplotlib \\
Interactive computing in Python using IPython \\
Sample data analysis and visualization programs \\
Summary \\
5. Performing Numerical Computing \\
The NumPy fundamental objects \\
The ndarray object \\
The attributes of an array \\
Basic operations on arrays \\
Special operations on arrays (shape change and
conversion) \\
Classes associated with arrays \\
The matrix sub class \\
Masked array \\
The structured/recor array \\
The universal function object \\
Attributes \\
Methods \\
Various available ufunc \\
The NumPy mathematical modules \\
Introduction to SciPy \\
Mathematical functions in SciPy \\
Advanced modules/packages \\
Integration \\
Signal processing (scipy.signal) \\
Fourier transforms (scipy.fftpack) \\
Spatial data structures and algorithms (scipy.spatial)
\\
Optimization (scipy.optimize) \\
Interpolation (scipy.interpolate) \\
Linear algebra (scipy.linalg) \\
Sparse eigenvalue problems with ARPACK \\
Statistics (scipy.stats) \\
Multidimensional image processing (scipy.ndimage) \\
Clustering \\
Curve fitting \\
File I/O (scipy.io) \\
Summary \\
6. Applying Python for Symbolic Computing \\
Symbols, expressions, and basic arithmetic \\
Equation solving \\
Functions for rational numbers, exponentials, and
logarithms \\
Polynomials \\
Trigonometry and complex numbers \\
Linear algebra \\
Calculus \\
Vectors \\
The physics module \\
Hydrogen wave functions \\
Matrices and Pauli algebra \\
The quantum harmonic oscillator in 1-D and 3-D \\
Second quantization \\
High-energy Physics \\
Mechanics \\
Pretty printing \\
LaTeX Printing \\
The cryptography module \\
Parsing input \\
The logic module \\
The geometry module \\
Symbolic integrals \\
Polynomial manipulation \\
Sets \\
The simplify and collect operations \\
Summary \\
7. Data Analysis and Visualization \\
Matplotlib \\
The architecture of matplotlib \\
The scripting layer (pyplot) \\
The artist layer \\
The backend layer \\
Graphics with matplotlib \\
Output generation \\
The pandas library \\
Series \\
DataFrame \\
Panel \\
The common functionality among the data structures \\
Time series and date functions \\
Handling missing data \\
I/O operations \\
Working on CSV files \\
Ready-to-eat datasets \\
The pandas plotting \\
IPython \\
The IPython console and system shell \\
The operating system interface \\
Nonblocking plotting \\
Debugging \\
IPython Notebook \\
Summary \\
8. Parallel and Large-scale Scientific Computing \\
Parallel computing using IPython \\
The architecture of IPython parallel computing \\
The components of parallel computing \\
The IPython engine \\
The IPython controller \\
IPython view and interfaces \\
The IPython client \\
Example of performing parallel computing \\
A parallel decorator \\
IPython's magic functions \\
Activating specific views \\
Engines and QtConsole \\
Advanced features of IPython \\
Fault-tolerant execution \\
Dynamic load balancing \\
Pushing and pulling objects between clients and engines
\\
Database support for storing the requests and results
\\
Using MPI in IPython \\
Managing dependencies among tasks \\
Functional dependency \\
Decorators for functional dependency \\
Graph dependency \\
Impossible dependencies \\
The DAG dependency and the NetworkX library \\
Using IPython on an Amazon EC2 cluster with StarCluster
\\
A note on security of IPython \\
Well-known parallel programming styles \\
Issues in parallel programming \\
Parallel programming \\
Concurrent programming \\
Distributed programming \\
Multiprocessing in Python \\
Multithreading in Python \\
Hadoop-based MapReduce in Python \\
Spark in Python \\
Summary \\
9. Revisiting Real-life Case Studies \\
Scientific computing applications developed in Python
\\
The one Laptop per Child project used Python for their
user interface \\
ExpEYES --- eyes for science \\
A weather prediction application in Python \\
An aircraft conceptual designing tool and API in Python
\\
OpenQuake Engine \\
SMS Siemag AG application for energy efficiency \\
Automated code generator for analysis of High-energy
Physics data \\
Python for computational chemistry applications \\
Python for developing a Blind Audio Tactile Mapping
System \\
TAPTools for air traffic control \\
Energy-efficient lights with an embedded system \\
Scientific computing libraries developed in Python \\
A maritime designing API by Tribon \\
Molecular Modeling Toolkit \\
Standard Python packages \\
Summary \\
10. Best Practices for Scientific Computing \\
The best practices for designing \\
The implementation of best practices \\
The best practices for data management and application
deployment \\
The best practices to achieving high performance \\
The best practices for data privacy and security \\
Testing and maintenance best practices \\
General Python best practices \\
Summary \\
Index",
}
@Book{Miller:2015:MDS,
author = "Thomas W. Miller",
title = "Marketing data science: modeling techniques in
predictive analytics with {R} and {Python}",
publisher = "Pearson Education",
address = "Old Tappan, NJ, USA",
pages = "????",
year = "2015",
ISBN = "0-13-388766-9, 0-13-388762-6",
ISBN-13 = "978-0-13-388766-2, 978-0-13-388762-4,
978-0-13-388655-9",
LCCN = "HF5415",
bibdate = "Fri Oct 23 17:30:28 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://proquest.safaribooksonline.com/?fpi=9780133887662",
acknowledgement = ack-nhfb,
subject = "Marketing; Data processing; Mathematical models; R
(Computer program language); Python (Computer program
language); Data mining; Data mining.; Data processing.;
Mathematical models.; Python (Computer program
language); R (Computer program language)",
tableofcontents = "Preface \\
Figures \\
Tables \\
Exhibits \\
1. Understanding Markets \\
2. Predicting Consumer Choice \\
3. Targeting Current Customers \\
4. Finding New Customers \\
5. Retaining Customers \\
6. Positioning Products \\
7. Developing New Products \\
8. Promoting Products \\
9. Recommending Products \\
10. Assessing Brands and Prices \\
11. Utilizing Social Networks \\
12. Watching Competitors \\
13. Predicting Sales \\
14. Redefining Marketing Research \\
A. Data Science Methods \\
A.1 Database Systems and Data Preparation \\
A.2 Classical and Bayesian Statistics \\
A.3 Regression and Classification \\
A.4 Data Mining and Machine Learning \\
A.5 Data Visualization \\
A.6 Text and Sentiment Analysis \\
A.7 Time Series and Market Response Models \\
B. Marketing Data Sources \\
B.1 Measurement Theory \\
B.2 Levels of Measurement \\
B.3 Sampling \\
B.4 Marketing Databases \\
B.5 World Wide Web \\
B.6 Social Media \\
B.7 Surveys \\
B.8 Experiments \\
B.9 Interviews \\
B.10 Focus Groups \\
B.11 Field Research \\
C. Case Studies \\
C.1 AT&T Choice Study \\
C.2 Anonymous Microsoft Web Data \\
C.3 Bank Marketing Study \\
C.4 Boston Housing Study \\
C.5 Computer Choice Study \\
C.6 DriveTime Sedans \\
C.7 Lydia E. Pinkham Medicine Company \\
C.8 Procter & Gamble Laundry Soaps \\
C.9 Return of the Bobbleheads \\
C.10 Studenmund's Restaurants \\
C.11 Sydney Transportation Study \\
C.12 ToutBay Begins Again \\
C.13 Two Month's Salary \\
C.14 Wisconsin Dells \\
C.15 Wisconsin Lottery Sales \\
C.16 Wikipedia Votes \\
D. Code and Utilities \\
Bibliography \\
Index \\
Code Snippets",
}
@Book{Minichino:2015:LOC,
author = "Joe Minichino and Joseph Howse",
title = "Learning {OpenCV 3} computer vision with {Python}:
unleash the power of computer vision with {Python}
using {OpenCV}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "",
year = "2015",
ISBN = "1-78528-977-2, 1-78528-384-7",
ISBN-13 = "978-1-78528-977-4, 978-1-78528-384-0",
LCCN = "TA1634",
bibdate = "Fri Oct 23 15:44:56 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785283840",
acknowledgement = ack-nhfb,
subject = "Computer vision; Python (Computer program language)",
tableofcontents = "Learning OpenCV 3 Computer Vision with Python
Second Edition \\
Table of Contents \\
Learning OpenCV 3 Computer Vision with Python Second
Edition \\
Credits \\
About the Authors \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Setting Up OpenCV \\
Choosing and using the right setup tools \\
Installation on Windows \\
Using binary installers (no support for depth cameras)
\\
Using CMake and compilers \\
Installing on OS X \\
Using MacPorts with ready-made packages \\
Using MacPorts with your own custom packages \\
Using Homebrew with ready-made packages (no support for
depth cameras) \\
Using Homebrew with your own custom packages \\
Installation on Ubuntu and its derivatives \\
Using the Ubuntu repository (no support for depth
cameras) \\
Building OpenCV from a source \\
Installation on other Unix-like systems \\
Installing the Contrib modules \\
Running samples \\
Finding documentation, help, and updates \\
Summary \\
2. Handling Files, Cameras, and GUIs \\
Basic I/O scripts \\
Reading/writing an image file \\
Converting between an image and raw bytes \\
Accessing image data with numpy.array \\
Reading/writing a video file \\
Capturing camera frames \\
Displaying images in a window \\
Displaying camera frames in a window \\
Project Cameo (face tracking and image manipulation)
\\
Cameo --- an object-oriented design \\
Abstracting a video stream with managers.CaptureManager
\\
Abstracting a window and keyboard with
managers.WindowManager \\
Applying everything with cameo.Cameo \\
Summary \\
3. Processing Images with OpenCV 3 \\
Converting between different color spaces \\
A quick note on BGR \\
The Fourier Transform \\
High pass filter \\
Low pass filter \\
Creating modules \\
Edge detection \\
Custom kernels --- getting convoluted \\
Modifying the application \\
Edge detection with Canny \\
Contour detection \\
Contours --- bounding box, minimum area rectangle, and
minimum enclosing circle \\
Contours --- convex contours and the Douglas-Peucker
algorithm \\
Line and circle detection \\
Line detection \\
Circle detection \\
Detecting shapes \\
Summary \\
4. Depth Estimation and Segmentation \\
Creating modules \\
Capturing frames from a depth camera \\
Creating a mask from a disparity map \\
Masking a copy operation \\
Depth estimation with a normal camera \\
Object segmentation using the Watershed and GrabCut
algorithms \\
Example of foreground detection with GrabCut \\
Image segmentation with the Watershed algorithm \\
Summary \\
5. Detecting and Recognizing Faces \\
Conceptualizing Haar cascades \\
Getting Haar cascade data \\
Using OpenCV to perform face detection \\
Performing face detection on a still image \\
Performing face detection on a video \\
Performing face recognition \\
Generating the data for face recognition \\
Recognizing faces \\
Preparing the training data \\
Loading the data and recognizing faces \\
Performing an Eigenfaces recognition \\
Performing face recognition with Fisherfaces \\
Performing face recognition with LBPH \\
Discarding results with confidence score \\
Summary \\
6. Retrieving Images and Searching Using Image
Descriptors \\
Feature detection algorithms \\
Defining features \\
Detecting features --- corners \\
Feature extraction and description using DoG and SIFT
\\
Anatomy of a keypoint \\
Feature extraction and detection using Fast Hessian and
SURF \\
ORB feature detection and feature matching \\
FAST \\
BRIEF \\
Brute-Force matching \\
Feature matching with ORB \\
Using K-Nearest Neighbors matching \\
FLANN-based matching \\
FLANN matching with homography \\
A sample application --- tattoo forensics \\
Saving image descriptors to file \\
Scanning for matches \\
Summary \\
7. Detecting and Recognizing Objects \\
Object detection and recognition techniques \\
HOG descriptors \\
The scale issue \\
The location issue \\
Image pyramid \\
Sliding windows \\
Non-maximum (or non-maxima) suppression \\
Support vector machines \\
People detection \\
Creating and training an object detector \\
Bag-of-words \\
BOW in computer vision \\
The k-means clustering \\
Detecting cars \\
What did we just do? \\
SVM and sliding windows \\
Example --- car detection in a scene \\
Examining detector.py \\
Associating training data with classes \\
Dude, where's my car? \\
Summary \\
8. Tracking Objects \\
Detecting moving objects \\
Basic motion detection \\
Background subtractors --- KNN, MOG2, and GMG \\
Meanshift and CAMShift \\
Color histograms \\
The calcHist function \\
The calcBackProject function \\
In summary \\
Back to the code \\
CAMShift \\
The Kalman filter \\
Predict and update \\
An example \\
A real-life example --- tracking pedestrians \\
The application workflow \\
A brief digression --- functional versus
object-oriented programming \\
The Pedestrian class \\
The main program \\
Where do we go from here? \\
Summary \\
9. Neural Networks with OpenCV --- an Introduction \\
Artificial neural networks \\
Neurons and perceptrons \\
The structure of an ANN \\
Network layers by example \\
The input layer \\
The output layer \\
The hidden layer \\
The learning algorithms \\
ANNs in OpenCV \\
ANN-imal classification \\
Training epochs \\
Handwritten digit recognition with ANNs \\
MNIST --- the handwritten digit database \\
Customized training data \\
The initial parameters \\
The input layer \\
The hidden layer \\
The output layer \\
Training epochs \\
Other parameters \\
Mini-libraries \\
The main file \\
Possible improvements and potential applications \\
Improvements \\
Potential applications \\
Summary \\
To boldly go \ldots{} \\
Index",
}
@Book{Mitchell:2015:WSP,
author = "Ryan Mitchell",
title = "Web scraping with {Python}: collecting data from the
modern web",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xiii + 238",
year = "2015",
ISBN = "1-4919-1029-1 (paperback), 1-4919-1028-3",
ISBN-13 = "978-1-4919-1029-0 (paperback), 978-1-4919-1028-3",
LCCN = "QA76.73.P98",
bibdate = "Wed Oct 14 07:37:03 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781491910283",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Data mining;
Automatic data collection systems; Automatic data
collection systems.; Data mining.; Python (Computer
program language)",
tableofcontents = "Preface \\
What Is Web Scraping? \\
Why Web Scraping? \\
About This Book \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
I. Building Scrapers \\
1. Your First Web Scraper \\
Connecting \\
An Introduction to BeautifulSoup \\
Installing BeautifulSoup \\
Running BeautifulSoup \\
Connecting Reliably \\
2. Advanced HTML Parsing \\
You Don't Always Need a Hammer \\
Another Serving of BeautifulSoup \\
find() and findAll() with BeautifulSoup \\
Other BeautifulSoup Objects \\
Navigating Trees \\
Regular Expressions \\
Regular Expressions and BeautifulSoup \\
Accessing Attributes \\
Lambda Expressions \\
Beyond BeautifulSoup \\
3. Starting to Crawl \\
Traversing a Single Domain \\
Crawling an Entire Site \\
Collecting Data Across an Entire Site \\
Crawling Across the Internet \\
Crawling with Scrapy \\
4. Using APIs \\
How APIs Work \\
Common Conventions \\
Methods \\
Authentication \\
Responses \\
API Calls \\
Echo Nest \\
A Few Examples \\
Twitter \\
Getting Started \\
A Few Examples \\
Google APIs \\
Getting Started \\
A Few Examples \\
Parsing JSON \\
Bringing It All Back Home \\
More About APIs \\
5. Storing Data \\
Media Files \\
Storing Data to CSV \\
MySQL \\
Installing MySQL \\
Some Basic Commands \\
Integrating with Python \\
Database Techniques and Good Practice \\
``Six Degrees'' in MySQL \\
Email \\
6. Reading Documents \\
Document Encoding \\
Text \\
Text Encoding and the Global Internet \\
CSV \\
Reading CSV Files \\
PDF \\
Microsoft Word and docx \\
II. Advanced Scraping \\
7. Cleaning Your Dirty Data \\
Cleaning in Code \\
Data Normalization \\
Cleaning After the Fact \\
OpenRefine \\
8. Reading and Writing Natural Languages \\
Summarizing Data \\
Markov Models \\
Six Degrees of Wikipedia: Conclusion \\
Natural Language Toolkit \\
Installation and Setup \\
Statistical Analysis with NLTK \\
Lexicographical Analysis with NLTK \\
Additional Resources \\
9. Crawling Through Forms and Logins \\
Python Requests Library \\
Submitting a Basic Form \\
Radio Buttons, Checkboxes, and Other Inputs \\
Submitting Files and Images \\
Handling Logins and Cookies \\
HTTP Basic Access Authentication \\
Other Form Problems \\
10. Scraping JavaScript \\
A Brief Introduction to JavaScript \\
Common JavaScript Libraries \\
Ajax and Dynamic HTML \\
Executing JavaScript in Python with Selenium \\
Handling Redirects \\
11. Image Processing and Text Recognition \\
Overview of Libraries \\
Pillow \\
Tesseract \\
NumPy \\
Processing Well-Formatted Text \\
Scraping Text from Images on Websites \\
Reading CAPTCHAs and Training Tesseract \\
Training Tesseract \\
Retrieving CAPTCHAs and Submitting Solutions \\
12. Avoiding Scraping Traps \\
A Note on Ethics \\
Looking Like a Human \\
Adjust Your Headers \\
Handling Cookies \\
Timing Is Everything \\
Common Form Security Features \\
Hidden Input Field Values \\
Avoiding Honeypots \\
The Human Checklist \\
13. Testing Your Website with Scrapers \\
An Introduction to Testing \\
What Are Unit Tests? \\
Python unittest \\
Testing Wikipedia \\
Testing with Selenium \\
Interacting with the Site \\
Unittest or Selenium? \\
14. Scraping Remotely \\
Why Use Remote Servers? \\
Avoiding IP Address Blocking \\
Portability and Extensibility \\
Tor \\
PySocks \\
Remote Hosting \\
Running from a Website Hosting Account \\
Running from the Cloud \\
Additional Resources \\
Moving Forward \\
A. Python at a Glance \\
Installation and ``Hello, World!'' \\
B. The Internet at a Glance \\
C. The Legalities and Ethics of Web Scraping \\
Trademarks, Copyrights, Patents, Oh My! \\
Copyright Law \\
Trespass to Chattels \\
The Computer Fraud and Abuse Act \\
robots.txt and Terms of Service \\
Three Web Scrapers \\
eBay versus Bidder's Edge and Trespass to Chattels \\
United States v. Auernheimer and The Computer Fraud and
Abuse Act \\
Field v. Google: Copyright and robots.txt \\
Index",
}
@Book{Mohit:2015:PPT,
author = "Raj Mohit",
title = "{Python} penetration testing essentials",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2015",
ISBN = "1-78439-858-6, 1-78439-588-9 (e-book)",
ISBN-13 = "978-1-78439-858-3, 978-1-78439-588-9 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 06:07:52 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Python with Penetration Testing and Networking \\
Introducing the scope of pentesting \\
The need for pentesting \\
Components to be tested \\
Qualities of a good pentester \\
Defining the scope of pentesting \\
Approaches to pentesting \\
Introducing Python scripting \\
Understanding the tests and tools you'll need \\
Learning the common testing platforms with Python \\
Network sockets \\
Server socket methods \\
Client socket methods \\
General socket methods \\
Moving on to the practical \\
Socket exceptions \\
Useful socket methods \\
Summary \\
2. Scanning Pentesting \\
How to check live systems in a network and the concept
of a live system \\
Ping sweep \\
The TCP scan concept and its implementation using a
Python script \\
How to create an efficient IP scanner \\
What are the services running on the target machine?
\\
The concept of a port scanner \\
How to create an efficient port scanner \\
Summary \\
3. Sniffing and Penetration Testing \\
Introducing a network sniffer \\
Passive sniffing \\
Active sniffing \\
Implementing a network sniffer using Python \\
Format characters \\
Learning about packet crafting \\
Introducing ARP spoofing and implementing it using
Python \\
The ARP request \\
The ARP reply \\
The ARP cache \\
Testing the security system using custom packet
crafting and injection \\
Network disassociation \\
A half-open scan \\
The FIN scan \\
ACK flag scanning \\
Ping of death \\
Summary \\
4. Wireless Pentesting \\
Wireless SSID finding and wireless traffic analysis by
Python \\
Detecting clients of an AP \\
Wireless attacks \\
The deauthentication (deauth) attacks \\
The MAC flooding attack \\
How the switch uses the CAM tables \\
The MAC flood logic \\
Summary \\
5. Foot Printing of a Web Server and a Web Application
\\
The concept of foot printing of a web server \\
Introducing information gathering \\
Checking the HTTP header \\
Information gathering of a website from SmartWhois by
the parser BeautifulSoup \\
Banner grabbing of a website \\
Hardening of a web server \\
Summary \\
6. Client-side and DDoS Attacks \\
Introducing client-side validation \\
Tampering with the client-side parameter with Python
\\
Effects of parameter tampering on business \\
Introducing DoS and DDoS \\
Single IP single port \\
Single IP multiple port \\
Multiple IP multiple port \\
Detection of DDoS \\
Summary \\
7. Pentesting of SQLI and XSS \\
Introducing the SQL injection attack \\
Types of SQL injections \\
Simple SQL injection \\
Blind SQL injection \\
Understanding the SQL injection attack by a Python
script \\
Learning about Cross-Site scripting \\
Persistent or stored XSS \\
Nonpersistent or reflected XSS \\
Summary \\
Index",
}
@Article{Myridis:2015:IPA,
author = "Nikolaos E. Myridis",
title = "{{\booktitle{Image processing and acquisition using
Python}}, by Ravishankar Chityala and Sridevi
Pudipeddi}, {Scope}: textbook. {Level}: general
readership, undergraduate, teacher",
journal = j-CONTEMP-PHYS,
volume = "56",
number = "2",
pages = "243--243",
year = "2015",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2014.999709",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Thu Feb 18 20:09:27 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
}
@Book{Nelli:2015:PDA,
author = "Fabio Nelli",
title = "{Python} data analytics: data analysis and science
using {Pandas}, {matplotlib}, and the {Python}
programming language",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxi + 337",
year = "2015",
DOI = "https://doi.org/10.1007/978-1-4842-0958-5",
ISBN = "1-4842-0959-1 (paperback), 1-4842-0958-3 (e-book)",
ISBN-13 = "978-1-4842-0959-2 (paperback), 978-1-4842-0958-5
(e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 15:22:12 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "The expert's voice in Python",
abstract = "Python Data Analytics will help you tackle the world
of data acquisition and analysis using the power of the
Python language. At the heart of this book lies the
coverage of pandas, an open source, BSD-licensed
library providing high-performance, easy-to-use data
structures and data analysis tools for the Python
programming language. Author Fabio Nelli expertly shows
the strength of the Python programming language when
applied to processing, managing and retrieving
information. Inside, you will see how intuitive and
flexible it is to discover and communicate meaningful
patterns of data using Python scripts, reporting
systems, and data export. This book examines how to go
about obtaining, processing, storing, managing and
analyzing data using the Python programming language.
You will use Python and other open source tools to
wrangle data and tease out interesting and important
trends in that data that will allow you to predict
future patterns. Whether you are dealing with sales
data, investment data (stocks, bonds, etc.), medical
data, web page usage, or any other type of data set,
Python can be used to interpret, analyze, and glean
information from a pile of numbers and statistics. This
book is an invaluable reference with its examples of
storing and accessing data in a database; it walks you
through the process of report generation; it provides
three real world case studies or examples that you can
take with you for your everyday analysis needs.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Data mining;
COMPUTERS / Programming Languages / Python; Data
mining.; Python (Computer program language)",
tableofcontents = "About the Author \\
About the Technical Reviewer \\
Acknowledgments \\
1: an Introduction to Data Analysis \\
Data Analysis \\
Knowledge Domains of the Data Analyst \\
Computer Science \\
Mathematics and Statistics \\
Machine Learning and Artificial Intelligence \\
Professional Fields of Application \\
Understanding the Nature of the Data \\
When the Data Become Information \\
When the Information Becomes Knowledge \\
Types of Data \\
The Data Analysis Process \\
Problem Definition \\
Data Extraction \\
Data Preparation \\
Data Exploration/Visualization \\
Predictive Modeling \\
Model Validation \\
Deployment \\
Quantitative and Qualitative Data Analysis \\
Open Data \\
Python and Data Analysis \\
Conclusions \\
2: Introduction to the Python s World \\
Python The Programming Language \\
Python The Interpreter \\
Cython \\
Jython \\
PyPy \\
Python 2 and Python 3 \\
Installing Python \\
Python Distributions \\
Anaconda \\
Enthought Canopy \\
Python(x,y) \\
Using Python \\
Python Shell \\
Run an Entire Program Code \\
Implement the Code Using an IDE \\
Interact with Python \\
Writing Python Code \\
Make Calculations \\
Import New Libraries and Functions \\
Functional Programming (Only for Python 3.4) \\
Indentation \\
IPython \\
IPython Shell \\
IPython Qt-Console \\
PyPI The Python Package Index \\
The IDEs for Python \\
IDLE (Integrated DeveLopment Environment) \\
Spyder \\
Eclipse (pyDev) \\
Sublime \\
Liclipse \\
NinjaIDE \\
Komodo IDE \\
SciPy \\
NumPy \\
Pandas \\
matplotlib \\
Conclusions \\
3: The NumPy Library \\
NumPy: a Little History \\
The NumPy Installation \\
Ndarray: The Heart of the Library \\
Create an Array \\
Types of Data \\
The dtype Option \\
Intrinsic Creation of an Array \\
Basic Operations \\
Arithmetic Operators \\
The Matrix Product \\
Increment and Decrement Operators \\
Universal Functions (ufunc) \\
Aggregate Functions \\
Indexing, Slicing, and Iterating \\
Indexing \\
Slicing \\
Iterating an Array \\
Conditions and Boolean Arrays \\
Shape Manipulation \\
Array Manipulation \\
Joining Arrays \\
Splitting Arrays \\
General Concepts \\
Copies or Views of Objects \\
Vectorization \\
Broadcasting \\
Structured Arrays \\
Reading and Writing Array Data on Files \\
Loading and Saving Data in Binary Files \\
Reading File with Tabular Data \\
Conclusions \\
4: The pandas Library An Introduction \\
pandas: The Python Data Analysis Library \\
Installation \\
Installation from Anaconda \\
Installation from PyPI \\
Installation on Linux \\
Installation from Source \\
A Module Repository for Windows \\
Test Your pandas Installation \\
Getting Started with pandas \\
Introduction to pandas Data Structures \\
The Series \\
The DataFrame \\
The Index Objects \\
Other Functionalities on Indexes \\
Reindexing \\
Dropping \\
Arithmetic and Data Alignment \\
Operations between Data Structures \\
Flexible Arithmetic Methods \\
Operations between DataFrame and Series \\
Function Application and Mapping \\
Functions by Element \\
Functions by Row or Column \\
Statistics Functions \\
Sorting and Ranking \\
Correlation and Covariance \\
Not a Number Data \\
Assigning a NaN Value \\
Filtering Out NaN Values \\
Filling in NaN Occurrences \\
Hierarchical Indexing and Leveling \\
Reordering and Sorting Levels \\
Summary Statistic by Level \\
Conclusions \\
5: pandas: Reading and Writing Data \\
I/O API Tools \\
CSV and Textual Files \\
Reading Data in CSV or Text Files \\
Using RegExp for Parsing TXT Files \\
Reading TXT Files into Parts or Partially \\
Writing Data in CSV \\
Reading and Writing HTML Files \\
Writing Data in HTML \\
Reading Data from an HTML File \\
Reading Data from XML \\
Reading and Writing Data on Microsoft Excel Files \\
JSON Data \\
The Format HDF5 \\
Pickle Python Object Serialization \\
Serialize a Python Object with cPickle \\
Pickling with pandas \\
Interacting with Databases \\
Loading and Writing Data with SQLite3 \\
Loading and Writing Data with PostgreSQL \\
Reading and Writing Data with a NoSQL Database: MongoDB
\\
Conclusions \\
6: pandas in Depth: Data Manipulation \\
Data Preparation \\
Merging \\
Concatenating \\
Combining \\
Pivoting \\
Removing \\
Data Transformation \\
Removing Duplicates \\
Mapping \\
Discretization and Binning \\
Detecting and Filtering Outliers \\
Permutation \\
String Manipulation \\
Built-in Methods for Manipulation of Strings \\
Regular Expressions \\
Data Aggregation \\
GroupBy \\
A Practical Example \\
Hierarchical Grouping \\
Group Iteration \\
Chain of Transformations \\
Functions on Groups \\
Advanced Data Aggregation \\
Conclusions \\
7: Data Visualization with matplotlib \\
The matplotlib Library \\
Installation \\
IPython and IPython QtConsole \\
matplotlib Architecture \\
Backend Layer \\
Artist Layer \\
Scripting Layer (pyplot) \\
pylab and pyplot \\
pyplot \\
A Simple Interactive Chart \\
Set the Properties of the Plot \\
matplotlib and NumPy \\
Using the kwargs \\
Working with Multiple Figures and Axes \\
Adding Further Elements to the Chart \\
Adding Text \\
Adding a Grid \\
Adding a Legend \\
Saving Your Charts \\
Saving the Code \\
Converting Your Session as an HTML File \\
Saving Your Chart Directly as an Image \\
Handling Date Values \\
Chart Typology \\
Line Chart \\
Line Charts with pandas \\
Histogram \\
Bar Chart \\
Horizontal Bar Chart \\
Multiserial Bar Chart \\
Multiseries Bar Chart with pandas DataFrame \\
Multiseries Stacked Bar Charts \\
Stacked Bar Charts with pandas DataFrame \\
Other Bar Chart Representations \\
Pie Charts \\
Pie Charts with pandas DataFrame \\
Advanced Charts \\
Contour Plot \\
Polar Chart \\
mplot3d \\
3D Surfaces \\
Scatter Plot in 3D \\
Bar Chart 3D \\
Multi-Panel Plots \\
Display Subplots within Other Subplots \\
Grids of Subplots \\
Conclusions \\
8: Machine Learning with scikit-learn \\
The scikit-learn Library \\
Machine Learning \\
Supervised and Unsupervised Learning \\
Training Set and Testing Set \\
Supervised Learning with scikit-learn \\
The Iris Flower Dataset \\
The PCA Decomposition \\
K-Nearest Neighbors Classifier \\
Diabetes Dataset \\
Linear Regression: The Least Square Regression \\
Support Vector Machines (SVMs) \\
Support Vector Classification (SVC) \\
Nonlinear SVC \\
Plotting Different SVM Classifiers Using the Iris
Dataset \\
Support Vector Regression (SVR) \\
Conclusions \\
9: an Example Meteorological Data \\
A Hypothesis to Be Tested: The Influence of the
Proximity of the Sea \\
The System in the Study: The Adriatic Sea and the Po
Valley \\
Data Source \\
Data Analysis on IPython Notebook \\
The RoseWind \\
Calculating the Distribution of the Wind Speed Means
\\
Conclusions \\
10: Embedding the JavaScript D3 Library in IPython
Notebook \\
The Open Data Source for Demographics \\
The JavaScript D3 Library \\
Drawing a Clustered Bar Chart \\
The Choropleth Maps \\
The Choropleth Map of the US Population in 2014 \\
Conclusions \\
11: Recognizing Handwritten Digits \\
Handwriting Recognition \\
Recognizing Handwritten Digits with scikit-learn \\
The Digits Dataset \\
Learning and Predicting \\
Conclusions \\
Appendix A: Writing Mathematical Expressions with LaTeX
\\
With matplotlib \\
With IPython Notebook in a Markdown Cell \\
With IPython Notebook in a Python 2 Cell \\
Subscripts and Superscripts \\
Fractions, Binomials, and Stacked Numbers \\
Radicals \\
Fonts \\
Accents \\
Appendix B: Open Data Sources \\
Political and Government Data \\
Health Data \\
Social Data \\
Miscellaneous and Public Data Sets \\
Financial Data \\
Climatic Data \\
Sports Data \\
Publications, Newspapers, and Books \\
Musical Data \\
Index",
}
@Book{Nixon:2015:GSP,
author = "Dan Nixon",
title = "Getting started with {Python} and {Raspberry Pi}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "????",
year = "2015",
ISBN = "1-78355-159-3",
ISBN-13 = "978-1-78355-159-0",
LCCN = "????",
bibdate = "Fri Oct 23 15:47:02 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Getting Started with Python and Raspberry Pi \\
Table of Contents \\
Getting Started with Python and Raspberry Pi \\
Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Your First Steps with Python on the Pi \\
Installing and setting up Raspbian \\
Writing to the SD card \\
Windows \\
Linux and Mac \\
Booting the Pi for the first time \\
The Python development tools \\
Python 2 versus Python 3 \\
Running some simple Python scripts \\
Summary \\
2. Understanding Control Flow and Data Types \\
Data in Python \\
Numerical types \\
Operations on numerical types \\
String manipulation \\
String functions \\
String formatting \\
String templates \\
Control flow operators \\
Using functions \\
Summary \\
3. Working with Data Structures and I/O \\
Data structures \\
Lists \\
Creating lists \\
List operations \\
Dictionaries \\
Creating dictionaries \\
Dictionary operations \\
Sets \\
Set operations \\
Frozen sets \\
Tuples \\
Input/output \\
The os.path module \\
Reading and writing files \\
Summary \\
4. Understanding Object-oriented Programming and
Threading \\
Object-oriented programming \\
Classes in Python \\
Operation.py \\
Calculator.py \\
Using the module \\
Inheritance \\
Threading \\
Locks \\
Summary \\
5. Packaging Code with setuptools \\
Using packages in your Python code \\
Importing modules \\
Installing modules manually \\
Installing modules using pip \\
Installing modules using apt \\
Packaging your own Python modules \\
Packaging a library \\
Adding an entry point \\
Summary \\
6. Accessing the GPIO Pins \\
Digital electronics \\
The GPIO library \\
Single LED output \\
PWM output \\
Multiple outputs \\
Basic switch \\
Switch using interrupt \\
Universal Asynchronous Receiver/Transmitter (UART) \\
Setting up the serial port \\
Using pySerial \\
Additional libraries \\
Summary \\
7. Using the Camera Module \\
Setting up the camera module \\
Installing and testing the Python library \\
Writing applications for the camera \\
A time lapse recorder \\
A point-and-shoot camera \\
An image effect randomizer \\
Summary \\
8. Extracting Data from the Internet \\
Using urllib2 to download data \\
Parsing JSON APIs \\
Parsing XML APIs \\
The DOM method \\
The SAX method \\
Parsing a web page using BeautifulSoup \\
Summary \\
9. Creating Command-line Interfaces \\
Unit conversion application \\
Command-line interface \\
Summary \\
10. Debugging Applications with PDB and Log Files \\
The Python debugger \\
Writing log files \\
Unit testing \\
Summary \\
11. Designing Your GUI with Qt \\
Setting up the codebase \\
Building the UI with Qt Designer \\
Writing the UI code \\
Launching the UI \\
Packaging the code \\
Summary \\
Index",
}
@Book{Phillips:2015:POO,
author = "Dusty Phillips",
title = "{Python 3} object-oriented programming: unleash the
power of {Python 3} objects",
publisher = pub-PACKT,
address = pub-PACKT:adr,
edition = "Second",
pages = "xii + 431",
year = "2015",
ISBN = "1-78439-878-0, 1-78439-878-0",
ISBN-13 = "978-1-78439-878-1, 978-1-78439-878-1",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:07:45 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Object-oriented
programming languages",
tableofcontents = "About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Introduction to the second edition \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Object-oriented Design \\
Introducing object-oriented \\
Objects and classes \\
Specifying attributes and behaviors \\
Data describes objects \\
Behaviors are actions \\
Hiding details and creating the public interface \\
Composition \\
Inheritance \\
Inheritance provides abstraction \\
Multiple inheritance \\
Case study \\
Exercises \\
Summary \\
2. Objects in Python \\
Creating Python classes \\
Adding attributes \\
Making it do something \\
Talking to yourself \\
More arguments \\
Initializing the object \\
Explaining yourself \\
Modules and packages \\
Organizing the modules \\
Absolute imports \\
Relative imports \\
Organizing module contents \\
Who can access my data? \\
Third-party libraries \\
Case study \\
Exercises \\
Summary \\
3. When Objects Are Alike \\
Basic inheritance \\
Extending built-ins \\
Overriding and super \\
Multiple inheritance \\
The diamond problem \\
Different sets of arguments \\
Polymorphism \\
Abstract base classes \\
Using an abstract base class \\
Creating an abstract base class \\
Demystifying the magic \\
Case study \\
Exercises \\
Summary \\
4. Expecting the Unexpected \\
Raising exceptions \\
Raising an exception \\
The effects of an exception \\
Handling exceptions \\
The exception hierarchy \\
Defining our own exceptions \\
Case study \\
Exercises \\
Summary \\
5. When to Use Object-oriented Programming \\
Treat objects as objects \\
Adding behavior to class data with properties \\
Properties in detail \\
Decorators --- another way to create properties \\
Deciding when to use properties \\
Manager objects \\
Removing duplicate code \\
In practice \\
Case study \\
Exercises \\
Summary \\
6. Python Data Structures \\
Empty objects \\
Tuples and named tuples \\
Named tuples \\
Dictionaries \\
Dictionary use cases \\
Using defaultdict \\
Counter \\
Lists \\
Sorting lists \\
Sets \\
Extending built-ins \\
Queues \\
FIFO queues \\
LIFO queues \\
Priority queues \\
Case study \\
Exercises \\
Summary \\
7. Python Object-oriented Shortcuts \\
Python built-in functions \\
The len() function \\
Reversed \\
Enumerate \\
File I/O \\
Placing it in context \\
An alternative to method overloading \\
Default arguments \\
Variable argument lists \\
Unpacking arguments \\
Functions are objects too \\
Using functions as attributes \\
Callable objects \\
Case study \\
Exercises \\
Summary \\
8. Strings and Serialization \\
Strings \\
String manipulation \\
String formatting \\
Escaping braces \\
Keyword arguments \\
Container lookups \\
Object lookups \\
Making it look right \\
Strings are Unicode \\
Converting bytes to text \\
Converting text to bytes \\
Mutable byte strings \\
Regular expressions \\
Matching patterns \\
Matching a selection of characters \\
Escaping characters \\
Matching multiple characters \\
Grouping patterns together \\
Getting information from regular expressions \\
Making repeated regular expressions efficient \\
Serializing objects \\
Customizing pickles \\
Serializing web objects \\
Case study \\
Exercises \\
Summary \\
9. The Iterator Pattern \\
Design patterns in brief \\
Iterators \\
The iterator protocol \\
Comprehensions \\
List comprehensions \\
Set and dictionary comprehensions \\
Generator expressions \\
Generators \\
Yield items from another iterable \\
Coroutines \\
Back to log parsing \\
Closing coroutines and throwing exceptions \\
The relationship between coroutines, generators, and
functions \\
Case study \\
Exercises \\
Summary \\
10. Python Design Patterns I \\
The decorator pattern \\
A decorator example \\
Decorators in Python \\
The observer pattern \\
An observer example \\
The strategy pattern \\
A strategy example \\
Strategy in Python \\
The state pattern \\
A state example \\
State versus strategy \\
State transition as coroutines \\
The singleton pattern \\
Singleton implementation \\
The template pattern \\
A template example \\
Exercises \\
Summary \\
11. Python Design Patterns II \\
The adapter pattern \\
The facade pattern \\
The flyweight pattern \\
The command pattern \\
The abstract factory pattern \\
The composite pattern \\
Exercises \\
Summary \\
12. Testing Object-oriented Programs \\
Why test? \\
Test-driven development \\
Unit testing \\
Assertion methods \\
Reducing boilerplate and cleaning up \\
Organizing and running tests \\
Ignoring broken tests \\
Testing with py.test \\
One way to do setup and cleanup \\
A completely different way to set up variables \\
Skipping tests with py.test \\
Imitating expensive objects \\
How much testing is enough? \\
Case study \\
Implementing it \\
Exercises \\
Summary \\
13. Concurrency \\
Threads \\
The many problems with threads \\
Shared memory \\
The global interpreter lock \\
Thread overhead \\
Multiprocessing \\
Multiprocessing pools \\
Queues \\
The problems with multiprocessing \\
Futures \\
AsyncIO \\
AsyncIO in action \\
Reading an AsyncIO future \\
AsyncIO for networking \\
Using executors to wrap blocking code \\
Streams \\
Executors \\
Case study \\
Exercises \\
Summary \\
Index",
}
@Book{Pippi:2015:PGA,
author = "Massimiliano Pippi",
title = "{Python} for {Google App Engine}: master the full
range of development features provided by {Google App
Engine} to build and run scalable web applications in
{Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "198 (est)",
year = "2015",
ISBN = "1-78439-819-5 (paperback), 1-78439-237-5 (e-book)",
ISBN-13 = "978-1-78439-819-4 (paperback), 978-1-78439-237-6
(e-book)",
LCCN = "TK5105.8885.G643 .P577 2015",
bibdate = "Sat Oct 24 06:05:47 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
acknowledgement = ack-nhfb,
subject = "Web site development; Computer programs; Application
software; Development; Python (Computer program
language); COMPUTERS / General; Development.; Python
(Computer program language); Computer programs.",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Getting Started \\
The cloud computing stack SaaS, PaaS, and IaaS \\
Google Cloud Platform \\
Hosting + Compute \\
Storage \\
BigQuery \\
Services \\
What Google App Engine does \\
The runtime environment \\
The services \\
Making our first Python application \\
Download and installation \\
Installing on Windows \\
Installing on Mac OS X \\
Installing on Linux \\
App Engine Launcher \\
Creating the application \\
The app.yaml configuration file \\
The main.py application script \\
Running the development server \\
Uploading the application to App Engine \\
Google Developer Console \\
Development Console \\
Summary \\
2. A More Complex Application \\
Experimenting on the Notes application \\
Authenticating users \\
HTML templates with Jinja2 \\
Handling forms \\
Persisting data in Datastore \\
Defining the models \\
Basic querying \\
Transactions \\
Using static files \\
Summary \\
3. Storing and Processing Users' Data \\
Uploading files to Google Cloud Storage \\
Installing Cloud Storage Client Library \\
Adding a form to upload images \\
Serving files from Cloud Storage \\
Serving files through Google's Content Delivery Network
\\
Serving images \\
Serving other types of files \\
Transforming images with the Images service \\
Processing long jobs with the task queue \\
Scheduling tasks with Cron \\
Sending notification e-mails \\
Receiving users' data as e-mail messages \\
Summary \\
4. Improving Application Performance \\
Advanced use of Datastore \\
More on properties arrange composite data with
StructuredProperty \\
More on queries save space with projections and
optimize iterations with mapping \\
Projection queries \\
Mapping \\
NDB asynchronous operations \\
Caching \\
Backup and restore functionalities \\
Indexing \\
Using Memcache \\
Breaking our application into modules \\
Summary \\
5. Storing Data in Google Cloud SQL \\
Creating a Cloud SQL instance \\
Configuring access \\
Setting the root password \\
Connecting to the instance with the MySQL console \\
Creating the notes database \\
Creating a dedicated user \\
Creating tables \\
Connecting to the instance from our application \\
Loading and saving data \\
Using the local MySQL installation for development \\
Summary \\
6. Using Channels to Implement a Real-time Application
\\
Understanding how the Channel API works \\
Making our application real time \\
Implementing the server \\
The JavaScript code for clients \\
Tracking connections and disconnections \\
Summary \\
7. Building an Application with Django \\
Setting up the local environment \\
Configuring a virtual environment \\
Installing dependencies \\
Rewriting our application using Django 1.7 \\
Using Google Cloud SQL as a database backend \\
Creating a reusable application in Django \\
Views and templates \\
Authenticating users with Django \\
Using the ORM and migrations system \\
Processing forms with the Forms API \\
Uploading files to Google Cloud Storage \\
Summary \\
8. Exposing a REST API with Google Cloud Endpoints \\
Reasons to use a REST API \\
Designing and building the API \\
Resources, URLs, HTTP verbs, and response code \\
Defining resource representations \\
Implementing API endpoints \\
Testing the API with API Explorer \\
Protecting an endpoint with OAuth2 \\
Summary \\
Index",
}
@Book{Ramalho:2015:FPC,
author = "Luciano Ramalho",
title = "Fluent {Python}: clear, concise, and effective
programming",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxiv + 743",
year = "2015",
ISBN = "1-4919-4600-8 (paperback), 1-4919-4623-7,
1-4919-4625-3 (e-book), 1-4919-4626-1 (e-book)",
ISBN-13 = "978-1-4919-4600-8 (paperback), 978-1-4919-4623-7,
978-1-4919-4625-1 (e-book), 978-1-4919-4626-8
(e-book)",
LCCN = "AA76.73.P98",
bibdate = "Wed Oct 14 08:34:48 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/?fpi=9781491946237",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming languages",
tableofcontents = "Dedication \\
Preface \\
Who This Book Is For \\
Who This Book Is Not For \\
How This Book Is Organized \\
Hands-On Approach \\
Hardware Used for Timings \\
Soapbox: My Personal Perspective \\
Python Jargon \\
Python Version Covered \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
I. Prologue \\
1. The Python Data Model \\
A Pythonic Card Deck \\
How Special Methods Are Used \\
Emulating Numeric Types \\
String Representation \\
Arithmetic Operators \\
Boolean Value of a Custom Type \\
Overview of Special Methods \\
Why len Is Not a Method \\
Chapter Summary \\
Further Reading \\
II. Data Structures \\
2. An Array of Sequences \\
Overview of Built-In Sequences \\
List Comprehensions and Generator Expressions \\
List Comprehensions and Readability \\
Listcomps Versus map and filter \\
Cartesian Products \\
Generator Expressions \\
Tuples Are Not Just Immutable Lists \\
Tuples as Records \\
Tuple Unpacking \\
Using * to grab excess items \\
Nested Tuple Unpacking \\
Named Tuples \\
Tuples as Immutable Lists \\
Slicing \\
Why Slices and Range Exclude the Last Item \\
Slice Objects \\
Multidimensional Slicing and Ellipsis \\
Assigning to Slices \\
Using + and * with Sequences \\
Building Lists of Lists \\
Augmented Assignment with Sequences \\
A += Assignment Puzzler \\
list.sort and the sorted Built-In Function \\
Managing Ordered Sequences with bisect \\
Searching with bisect \\
Inserting with bisect.insort \\
When a List Is Not the Answer \\
Arrays \\
Memory Views \\
NumPy and SciPy \\
Deques and Other Queues \\
Chapter Summary \\
Further Reading \\
3. Dictionaries and Sets \\
Generic Mapping Types \\
dict Comprehensions \\
Overview of Common Mapping Methods \\
Handling Missing Keys with setdefault \\
Mappings with Flexible Key Lookup \\
defaultdict: Another Take on Missing Keys \\
The __missing__ Method \\
Variations of dict \\
Subclassing UserDict \\
Immutable Mappings \\
Set Theory \\
set Literals \\
Set Comprehensions \\
Set Operations \\
dict and set Under the Hood \\
A Performance Experiment \\
Hash Tables in Dictionaries \\
Hashes and equality \\
The hash table algorithm \\
Practical Consequences of How dict Works \\
Keys must be hashable objects \\
dicts have significant memory overhead \\
Key search is very fast \\
Key ordering depends on insertion order \\
Adding items to a dict may change the order of existing
keys \\
How Sets Work --- Practical Consequences \\
Chapter Summary \\
Further Reading \\
4. Text versus Bytes \\
Character Issues \\
Byte Essentials \\
Structs and Memory Views \\
Basic Encoders/Decoders \\
Understanding Encode/Decode Problems \\
Coping with UnicodeEncodeError \\
Coping with UnicodeDecodeError \\
SyntaxError When Loading Modules with Unexpected
Encoding \\
How to Discover the Encoding of a Byte Sequence \\
BOM: a Useful Gremlin \\
Handling Text Files \\
Encoding Defaults: a Madhouse \\
Normalizing Unicode for Saner Comparisons \\
Case Folding \\
Utility Functions for Normalized Text Matching \\
Extreme ``Normalization'': Taking Out Diacritics \\
Sorting Unicode Text \\
Sorting with the Unicode Collation Algorithm \\
The Unicode Database \\
Dual-Mode str and bytes APIs \\
str Versus bytes in Regular Expressions \\
str Versus bytes on os Functions \\
Chapter Summary \\
Further Reading \\
III. Functions as Objects \\
5. First-Class Functions \\
Treating a Function Like an Object \\
Higher-Order Functions \\
Modern Replacements for map, filter, and reduce \\
Anonymous Functions \\
The Seven Flavors of Callable Objects \\
User-Defined Callable Types \\
Function Introspection \\
From Positional to Keyword-Only Parameters \\
Retrieving Information About Parameters \\
Function Annotations \\
Packages for Functional Programming \\
The operator Module \\
Freezing Arguments with functools.partial \\
Chapter Summary \\
Further Reading \\
6. Design Patterns with First-Class Functions \\
Case Study: Refactoring Strategy \\
Classic Strategy \\
Function-Oriented Strategy \\
Choosing the Best Strategy: Simple Approach \\
Finding Strategies in a Module \\
Command \\
Chapter Summary \\
Further Reading \\
7. Function Decorators and Closures \\
Decorators 101 \\
When Python Executes Decorators \\
Decorator-Enhanced Strategy Pattern \\
Variable Scope Rules \\
Closures \\
The nonlocal Declaration \\
Implementing a Simple Decorator \\
How It Works \\
Decorators in the Standard Library \\
Memoization with functools.lru_cache \\
Generic Functions with Single Dispatch \\
Stacked Decorators \\
Parameterized Decorators \\
A Parameterized Registration Decorator \\
The Parameterized Clock Decorator \\
Chapter Summary \\
Further Reading \\
IV. Object-Oriented Idioms \\
8. Object References, Mutability, and Recycling \\
Variables Are Not Boxes \\
Identity, Equality, and Aliases \\
Choosing Between == and is \\
The Relative Immutability of Tuples \\
Copies Are Shallow by Default \\
Deep and Shallow Copies of Arbitrary Objects \\
Function Parameters as References \\
Mutable Types as Parameter Defaults: Bad Idea \\
Defensive Programming with Mutable Parameters \\
del and Garbage Collection \\
Weak References \\
The WeakValueDictionary Skit \\
Limitations of Weak References \\
Tricks Python Plays with Immutables \\
Chapter Summary \\
Further Reading \\
9. A Pythonic Object \\
Object Representations \\
Vector Class Redux \\
An Alternative Constructor \\
classmethod Versus staticmethod \\
Formatted Displays \\
A Hashable Vector2d \\
Private and ``Protected'' Attributes in Python \\
Saving Space with the __slots__ Class Attribute \\
The Problems with __slots__ \\
Overriding Class Attributes \\
Chapter Summary \\
Further Reading \\
10. Sequence Hacking, Hashing, and Slicing \\
Vector: a User-Defined Sequence Type \\
Vector Take #1: Vector2d Compatible \\
Protocols and Duck Typing \\
Vector Take #2: a Sliceable Sequence \\
How Slicing Works \\
A Slice-Aware __getitem__ \\
Vector Take #3: Dynamic Attribute Access \\
Vector Take #4: Hashing and a Faster == \\
Vector Take #5: Formatting \\
Chapter Summary \\
Further Reading \\
11. Interfaces: From Protocols to ABCs \\
Interfaces and Protocols in Python Culture \\
Python Digs Sequences \\
Monkey-Patching to Implement a Protocol at Runtime \\
Alex Martelli's Waterfowl \\
Subclassing an ABC \\
ABCs in the Standard Library \\
ABCs in collections.abc \\
The Numbers Tower of ABCs \\
Defining and Using an ABC \\
ABC Syntax Details \\
Subclassing the Tombola ABC \\
A Virtual Subclass of Tombola \\
How the Tombola Subclasses Were Tested \\
Usage of register in Practice \\
Geese Can Behave as Ducks \\
Chapter Summary \\
Further Reading \\
12. Inheritance: For Good or For Worse \\
Subclassing Built-In Types Is Tricky \\
Multiple Inheritance and Method Resolution Order \\
Multiple Inheritance in the Real World \\
Coping with Multiple Inheritance \\
1. Distinguish Interface Inheritance from
Implementation Inheritance \\
2. Make Interfaces Explicit with ABCs \\
3. Use Mixins for Code Reuse \\
4. Make Mixins Explicit by Naming \\
5. An ABC May Also Be a Mixin; The Reverse Is Not True
\\
6. Don't Subclass from More Than One Concrete Class \\
7. Provide Aggregate Classes to Users \\
8. ``Favor Object Composition Over Class Inheritance.''
\\
Tkinter: The Good, the Bad, and the Ugly \\
A Modern Example: Mixins in Django Generic Views \\
Chapter Summary \\
Further Reading \\
13. Operator Overloading: Doing It Right \\
Operator Overloading 101 \\
Unary Operators \\
Overloading + for Vector Addition \\
Overloading * for Scalar Multiplication \\
Rich Comparison Operators \\
Augmented Assignment Operators \\
Chapter Summary \\
Further Reading \\
V. Control Flow \\
14. Iterables, Iterators, and Generators \\
Sentence Take #1: a Sequence of Words \\
Why Sequences Are Iterable: The iter Function \\
Iterables Versus Iterators \\
Sentence Take #2: a Classic Interior \\
Making Sentence an Iterator: Bad Idea \\
Sentence Take #3: a Generator Function \\
How a Generator Function Works \\
Sentence Take #4: a Lazy Implementation \\
Sentence Take #5: a Generator Expression \\
Generator Expressions: When to Use Them \\
Another Example: Arithmetic Progression Generator \\
Arithmetic Progression with itertools \\
Generator Functions in the Standard Library \\
New Syntax in Python 3.3: yield from \\
Iterable Reducing Functions \\
A Closer Look at the iter Function \\
Case Study: Generators in a Database Conversion Utility
\\
Generators as Coroutines \\
Chapter Summary \\
Further Reading \\
15. Context Managers and else Blocks \\
Do This, Then That: else Blocks Beyond if \\
Context Managers and with Blocks \\
The contextlib Utilities \\
Using @contextmanager \\
Chapter Summary \\
Further Reading \\
16. Coroutines \\
How Coroutines Evolved from Generators \\
Basic Behavior of a Generator Used as a Coroutine \\
Example: Coroutine to Compute a Running Average \\
Decorators for Coroutine Priming \\
Coroutine Termination and Exception Handling \\
Returning a Value from a Coroutine \\
Using yield from \\
The Meaning of yield from \\
Use Case: Coroutines for Discrete Event Simulation \\
About Discrete Event Simulations \\
The Taxi Fleet Simulation \\
Chapter Summary \\
Further Reading \\
17. Concurrency with Futures \\
Example: Web Downloads in Three Styles \\
A Sequential Download Script \\
Downloading with concurrent.futures \\
Where Are the Futures? \\
Blocking I/O and the GIL \\
Launching Processes with concurrent.futures \\
Experimenting with Executor.map \\
Downloads with Progress Display and Error Handling \\
Error Handling in the flags2 Examples \\
Using futures.as_completed \\
Threading and Multiprocessing Alternatives \\
Chapter Summary \\
Further Reading \\
18. Concurrency with asyncio \\
Thread Versus Coroutine: a Comparison \\
asyncio.Future: Nonblocking by Design \\
Yielding from Futures, Tasks, and Coroutines \\
Downloading with asyncio and aiohttp \\
Running Circling Around Blocking Calls \\
Enhancing the asyncio downloader Script \\
Using asyncio.as_completed \\
Using an Executor to Avoid Blocking the Event Loop \\
From Callbacks to Futures and Coroutines \\
Doing Multiple Requests for Each Download \\
Writing asyncio Servers \\
An asyncio TCP Server \\
An aiohttp Web Server \\
Smarter Clients for Better Concurrency \\
Chapter Summary \\
Further Reading \\
VI. Metaprogramming \\
19. Dynamic Attributes and Properties \\
Data Wrangling with Dynamic Attributes \\
Exploring JSON-Like Data with Dynamic Attributes \\
The Invalid Attribute Name Problem \\
Flexible Object Creation with __new__ \\
Restructuring the OSCON Feed with shelve \\
Linked Record Retrieval with Properties \\
Using a Property for Attribute Validation \\
LineItem Take #1: Class for an Item in an Order \\
LineItem Take #2: a Validating Property \\
A Proper Look at Properties \\
Properties Override Instance Attributes \\
Property Documentation \\
Coding a Property Factory \\
Handling Attribute Deletion \\
Essential Attributes and Functions for Attribute
Handling \\
Special Attributes that Affect Attribute Handling \\
Built-In Functions for Attribute Handling \\
Special Methods for Attribute Handling \\
Chapter Summary \\
Further Reading \\
20. Attribute Descriptors \\
Descriptor Example: Attribute Validation \\
LineItem Take #3: a Simple Descriptor \\
LineItem Take #4: Automatic Storage Attribute Names \\
LineItem Take #5: a New Descriptor Type \\
Overriding Versus Nonoverriding Descriptors \\
Overriding Descriptor \\
Overriding Descriptor Without __get__ \\
Nonoverriding Descriptor \\
Overwriting a Descriptor in the Class \\
Methods Are Descriptors \\
Descriptor Usage Tips \\
Descriptor docstring and Overriding Deletion \\
Chapter Summary \\
Further Reading \\
21. Class Metaprogramming \\
A Class Factory \\
A Class Decorator for Customizing Descriptors \\
What Happens When: Import Time Versus Runtime \\
The Evaluation Time Exercises \\
Solution for scenario #1 \\
Solution for scenario #2 \\
Metaclasses 101 \\
The Metaclass Evaluation Time Exercise \\
Solution for scenario #3 \\
Solution for scenario #4 \\
A Metaclass for Customizing Descriptors \\
The Metaclass __prepare__ Special Method \\
Classes as Objects \\
Chapter Summary \\
Further Reading \\
Afterword \\
Further Reading \\
A. Support Scripts \\
Chapter 3: in Operator Performance Test \\
Chapter 3: Compare the Bit Patterns of Hashes \\
Chapter 9: RAM Usage With and Without __slots__ \\
Chapter 14: isis2json.py Database Conversion Script \\
Chapter 16: Taxi Fleet Discrete Event Simulation \\
Chapter 17: Cryptographic Examples \\
Chapter 17: flags2 HTTP Client Examples \\
Chapter 19: OSCON Schedule Scripts and Tests \\
Python Jargon \\
Index \\
Colophon",
}
@Book{Raschka:2015:PML,
author = "Sebastian Raschka and Randal S. Olson",
title = "{Python} machine learning: unlock deeper insights into
machine learning with this vital guide to cutting-edge
predictive analytics",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "????",
year = "2015",
ISBN = "1-78355-514-9, 1-78355-513-0",
ISBN-13 = "978-1-78355-514-7, 978-1-78355-513-0",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 15:51:58 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783555130",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Machine learning",
tableofcontents = "Python Machine Learning \\
Table of Contents \\
Python Machine Learning \\
Credits \\
Foreword \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Giving Computers the Ability to Learn from Data \\
Building intelligent machines to transform data into
knowledge \\
The three different types of machine learning \\
Making predictions about the future with supervised
learning \\
Classification for predicting class labels \\
Regression for predicting continuous outcomes \\
Solving interactive problems with reinforcement
learning \\
Discovering hidden structures with unsupervised
learning \\
Finding subgroups with clustering \\
Dimensionality reduction for data compression \\
An introduction to the basic terminology and notations
\\
A roadmap for building machine learning systems \\
Preprocessing --- getting data into shape \\
Training and selecting a predictive model \\
Evaluating models and predicting unseen data instances
\\
Using Python for machine learning \\
Installing Python packages \\
Summary \\
2. Training Machine Learning Algorithms for
Classification \\
Artificial neurons --- a brief glimpse into the early
history of machine learning \\
Implementing a perceptron learning algorithm in Python
\\
Training a perceptron model on the Iris dataset \\
Adaptive linear neurons and the convergence of learning
\\
Minimizing cost functions with gradient descent \\
Implementing an Adaptive Linear Neuron in Python \\
Large scale machine learning and stochastic gradient
descent \\
Summary \\
3. A Tour of Machine Learning Classifiers Using
Scikit-learn \\
Choosing a classification algorithm \\
First steps with scikit-learn \\
Training a perceptron via scikit-learn \\
Modeling class probabilities via logistic regression
\\
Logistic regression intuition and conditional
probabilities \\
Learning the weights of the logistic cost function \\
Training a logistic regression model with scikit-learn
\\
Tackling overfitting via regularization \\
Maximum margin classification with support vector
machines \\
Maximum margin intuition \\
Dealing with the nonlinearly separable case using slack
variables \\
Alternative implementations in scikit-learn \\
Solving nonlinear problems using a kernel SVM \\
Using the kernel trick to find separating hyperplanes
in higher dimensional space \\
Decision tree learning \\
Maximizing information gain --- getting the most bang
for the buck \\
Building a decision tree \\
Combining weak to strong learners via random forests
\\
K-nearest neighbors --- a lazy learning algorithm \\
Summary \\
4. Building Good Training Sets --- Data Preprocessing
\\
Dealing with missing data \\
Eliminating samples or features with missing values \\
Imputing missing values \\
Understanding the scikit-learn estimator API \\
Handling categorical data \\
Mapping ordinal features \\
Encoding class labels \\
Performing one-hot encoding on nominal features \\
Partitioning a dataset in training and test sets \\
Bringing features onto the same scale \\
Selecting meaningful features \\
Sparse solutions with L1 regularization \\
Sequential feature selection algorithms \\
Assessing feature importance with random forests \\
Summary \\
5. Compressing Data via Dimensionality Reduction \\
Unsupervised dimensionality reduction via principal
component analysis \\
Total and explained variance \\
Feature transformation \\
Principal component analysis in scikit-learn \\
Supervised data compression via linear discriminant
analysis \\
Computing the scatter matrices \\
Selecting linear discriminants for the new feature
subspace \\
Projecting samples onto the new feature space \\
LDA via scikit-learn \\
Using kernel principal component analysis for nonlinear
mappings \\
Kernel functions and the kernel trick \\
Implementing a kernel principal component analysis in
Python \\
Example 1 --- separating half-moon shapes \\
Example 2 --- separating concentric circles \\
Projecting new data points \\
Kernel principal component analysis in scikit-learn \\
Summary \\
6. Learning Best Practices for Model Evaluation and
Hyperparameter Tuning \\
Streamlining workflows with pipelines \\
Loading the Breast Cancer Wisconsin dataset \\
Combining transformers and estimators in a pipeline \\
Using k-fold cross-validation to assess model
performance \\
The holdout method \\
K-fold cross-validation \\
Debugging algorithms with learning and validation
curves \\
Diagnosing bias and variance problems with learning
curves \\
Addressing overfitting and underfitting with validation
curves \\
Fine-tuning machine learning models via grid search \\
Tuning hyperparameters via grid search \\
Algorithm selection with nested cross-validation \\
Looking at different performance evaluation metrics \\
Reading a confusion matrix \\
Optimizing the precision and recall of a classification
model \\
Plotting a receiver operating characteristic \\
The scoring metrics for multiclass classification \\
Summary \\
7. Combining Different Models for Ensemble Learning \\
Learning with ensembles \\
Implementing a simple majority vote classifier \\
Combining different algorithms for classification with
majority vote \\
Evaluating and tuning the ensemble classifier \\
Bagging --- building an ensemble of classifiers from
bootstrap samples \\
Leveraging weak learners via adaptive boosting \\
Summary \\
8. Applying Machine Learning to Sentiment Analysis \\
Obtaining the IMDb movie review dataset \\
Introducing the bag-of-words model \\
Transforming words into feature vectors \\
Assessing word relevancy via term frequency-inverse
document frequency \\
Cleaning text data \\
Processing documents into tokens \\
Training a logistic regression model for document
classification \\
Working with bigger data --- online algorithms and
out-of-core learning \\
Summary \\
9. Embedding a Machine Learning Model into a Web
Application \\
Serializing fitted scikit-learn estimators \\
Setting up a SQLite database for data storage \\
Developing a web application with Flask \\
Our first Flask web application \\
Form validation and rendering \\
Turning the movie classifier into a web application \\
Deploying the web application to a public server \\
Updating the movie review classifier \\
Summary \\
10. Predicting Continuous Target Variables with
Regression Analysis \\
Introducing a simple linear regression model \\
Exploring the Housing Dataset \\
Visualizing the important characteristics of a dataset
\\
Implementing an ordinary least squares linear
regression model \\
Solving regression for regression parameters with
gradient descent \\
Estimating the coefficient of a regression model via
scikit-learn \\
Fitting a robust regression model using RANSAC \\
Evaluating the performance of linear regression models
\\
Using regularized methods for regression \\
Turning a linear regression model into a curve
--polynomial regression \\
Modeling nonlinear relationships in the Housing Dataset
\\
Dealing with nonlinear relationships using random
forests \\
Decision tree regression \\
Random forest regression \\
Summary \\
11. Working with Unlabeled Data --- Clustering Analysis
\\
Grouping objects by similarity using k-means \\
K-means++ \\
Hard versus soft clustering \\
Using the elbow method to find the optimal number of
clusters \\
Quantifying the quality of clustering via silhouette
plots \\
Organizing clusters as a hierarchical tree \\
Performing hierarchical clustering on a distance matrix
\\
Attaching dendrograms to a heat map \\
Applying agglomerative clustering via scikit-learn \\
Locating regions of high density via DBSCAN \\
Summary \\
12. Training Artificial Neural Networks for Image
Recognition \\
Modeling complex functions with artificial neural
networks \\
Single-layer neural network recap \\
Introducing the multi-layer neural network architecture
\\
Activating a neural network via forward propagation \\
Classifying handwritten digits \\
Obtaining the MNIST dataset \\
Implementing a multi-layer perceptron \\
Training an artificial neural network \\
Computing the logistic cost function \\
Training neural networks via backpropagation \\
Developing your intuition for backpropagation \\
Debugging neural networks with gradient checking \\
Convergence in neural networks \\
Other neural network architectures \\
Convolutional Neural Networks \\
Recurrent Neural Networks \\
A few last words about neural network implementation
\\
Summary \\
13. Parallelizing Neural Network Training with Theano
\\
Building, compiling, and running expressions with
Theano \\
What is Theano? \\
First steps with Theano \\
Configuring Theano \\
Working with array structures \\
Wrapping things up --- a linear regression example \\
Choosing activation functions for feedforward neural
networks \\
Logistic function recap \\
Estimating probabilities in multi-class classification
via the softmax function \\
Broadening the output spectrum by using a hyperbolic
tangent \\
Training neural networks efficiently using Keras \\
Summary \\
Index",
}
@Article{Redondo:2015:CEC,
author = "Jose Manuel Redondo and Francisco Ortin",
title = "A Comprehensive Evaluation of Common {Python}
Implementations",
journal = j-IEEE-SOFTWARE,
volume = "32",
number = "4",
pages = "76--84",
month = jul # "\slash " # aug,
year = "2015",
CODEN = "IESOEG",
DOI = "https://doi.org/10.1109/MS.2014.104",
ISSN = "0740-7459 (print), 1937-4194 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Mon Aug 3 15:03:36 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.computer.org/csdl/mags/so/2015/04/mso2015040076-abs.html",
abstract-URL = "http://www.computer.org/csdl/mags/so/2015/04/mso2015040076-abs.html",
acknowledgement = ack-nhfb,
fjournal = "IEEE Software",
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/software",
journalabr = "IEEE Software",
}
@Book{Richardson:2015:AP,
author = "Craig Richardson",
title = "Adventures in {Python}",
publisher = pub-WILEY,
address = pub-WILEY:adr,
pages = "282",
year = "2015",
ISBN = "1-118-95185-9, 1-118-95179-4",
ISBN-13 = "978-1-118-95185-9, 978-1-118-95179-8",
LCCN = "QA76.73.P98",
bibdate = "Sat Oct 24 05:38:16 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Object-oriented
programming (Computer science); Application software;
Development",
tableofcontents = "About the Author \\
Introduction \\
What Is Programming? \\
What Is Python and What Can You Do With It? \\
Who Should Read This Book? \\
What You Will Learn \\
What You Will Need for the Projects \\
How This Book Is Organised \\
Setting Up Python \\
Creating Your First Program \\
The Companion Website \\
Conventions \\
Reaching Out \\
Adventure 1: Diving into Python \\
What Is Programming? \\
Opening IDLE \\
Returning to Your First Python Program \\
It Isn t Working Grrr! \\
Using a File Editor \\
Asking Questions with Variables \\
Making the Program Make Decisions: Conditionals \\
Repeating Code with Loops \\
Praise Generator \\
A Bigger Adventure: Spaceship Control Console \\
Adventure 2: Drawing with Turtle Graphics \\
Getting Started with Turtle \\
Using Variables to Change Angles and Lengths \\
Using Addition to Draw a Spiral \\
Saving Some Space with Loops \\
A Shape with 360 Sides: Drawing a Circle \\
Creating Functions to Reuse Your Code \\
Shape Presets \\
Adding Randomly Generated Pictures \\
Adventure 3: Windows, Buttons, and Other GUI Stuff \\
Creating Buttons \\
Creating Text Boxes \\
Building a Random Sentence Generator \\
Programming a Guessing Game \\
Adventure 4: More GUI Elements with Tkinter \\
Creating Sliders \\
How Colours Work on Computers and as Hexadecimal Values
\\
Changing the Canvas Colour \\
Making the Colour Picker \\
Adding a Text Box \\
Creating a Click Speed Game \\
Adventure 5: Drawing Shapes with PyGame \\
Installing PyGame \\
My First PyGame \\
Creating Rectangles \\
Creating Ellipses \\
Saving Your Images \\
Adventure 6: Adding Keyboard Input with PyGame \\
Using Keyboard Input \\
Other Keys You Can Use \\
Creating the Game \\
Adventure 7: Creative Ways to Use a Mouse with PyGame
\\
Getting the Mouse Position \\
Making a Mesh \\
Creating Mouse Trails \\
Adventure 8: Using Images with PyGame \\
Loading an Image \\
Adding a Moustache to a Photograph \\
Making Sprites \\
Adventure 9: Using Sounds and Music with PyGame \\
Playing Sounds \\
Using Music with Python \\
Adding Sounds and Music to a Game \\
Adventure 10: Your Really Big Adventure \\
Writing the Program for the Game \\
Debugging the Game \\
Summary \\
Appendix A: Installing and Downloading the Proper Files
\\
Installing PyGame \\
Downloading the Files for Adventures 8, 9 and 10 \\
Glossary \\
End User License Agreement",
}
@Book{RodasdePaz:2015:PGP,
author = "Alejandro {Rodas de Paz} and Joseph Howse",
title = "{Python} game programming by example: a pragmatic
guide for developing your own games with {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "230 (est.)",
year = "2015",
ISBN = "1-78528-153-4, 1-78528-391-X (e-book)",
ISBN-13 = "978-1-78528-153-2, 978-1-78528-391-8 (e-book)",
LCCN = "QA76.76.C672",
bibdate = "Fri Oct 23 15:49:13 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785281532",
acknowledgement = ack-nhfb,
subject = "Computer games; Programming; Python (Computer program
language)",
tableofcontents = "Python Game Programming By Example \\
Credits \\
About the Authors \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Hello, Pong! \\
Installing Python \\
An overview of Breakout \\
The basic GUI layout \\
Diving into the Canvas widget \\
Basic game objects \\
The Ball class \\
The Paddle class \\
The Brick class \\
Adding the Breakout items \\
Movement and collisions \\
Starting the game \\
Playing Breakout \\
Summary \\
2. Cocos Invaders \\
Installing cocos2d \\
Getting started with cocos2d \\
Handling user input \\
Updating the scene \\
Processing collisions \\
Creating game assets \\
Space Invaders design \\
The PlayerCannon and GameLayer classes \\
Invaders! \\
Shoot'em up! \\
Adding an HUD \\
Extra feature --- the mystery ship \\
Summary \\
3. Building a Tower Defense Game \\
The tower defense gameplay \\
Cocos2d actions \\
Interval actions \\
Instant actions \\
Combining actions \\
Custom actions \\
Adding a main menu \\
Tile maps \\
Tiled Map Editor \\
Loading tiles \\
The scenario definition \\
The scenario class \\
Transitions between scenes \\
Game over cut scene \\
The tower defense actors \\
Turrets and slots \\
Enemies \\
Bunker \\
Game scene \\
The HUD class \\
Assembling the scene \\
Summary \\
4. Steering Behaviors \\
NumPy installation \\
The ParticleSystem class \\
A quick demonstration \\
Implementing steering behaviors \\
Seek and flee \\
Arrival \\
Pursuit and evade \\
Wander \\
Obstacle avoidance \\
Gravitation game \\
Basic game objects \\
Planets and pickups \\
Player and enemies \\
Explosions \\
The game layer \\
Summary \\
5. Pygame and 3D \\
Installing packages \\
Getting started with OpenGL \\
Initializing the window \\
Drawing shapes \\
Running the demo \\
Refactoring our OpenGL program \\
Processing the user input \\
Adding the Pygame library \\
Pygame 101 \\
Pygame integration \\
Drawing with OpenGL \\
The Cube class \\
Enabling face culling \\
Basic collision detection game \\
Summary \\
6. PyPlatformer \\
An introduction to game design \\
Level design \\
Platformer skills \\
Component-based game engines \\
Introducing Pymunk \\
Building a game framework \\
Adding physics \\
Renderable components \\
The Camera component \\
The InputManager module \\
The Game class \\
Developing PyPlatformer \\
Creating the platforms \\
Adding pickups \\
Shooting! \\
The Player class and its components \\
The PyPlatformer class \\
Summary \\
7. Augmenting a Board Game with Computer Vision \\
Planning the Checkers application \\
Setting up OpenCV and other dependencies \\
Windows \\
Mac \\
Debian and its derivatives, including Raspbian, Ubuntu,
and Linux Mint \\
Fedora and its derivatives, including RHEL and CentOS
\\
OpenSUSE and its derivatives \\
Supporting multiple versions of OpenCV \\
Configuring cameras \\
Working with colors \\
Building the analyzer \\
Providing access to the images and classification
results \\
Providing access to parameters for the user to
configure \\
Initializing the entire model of the game \\
Updating the entire model of the game \\
Capturing and converting an image \\
Detecting the board's corners and tracking their motion
\\
Creating and analyzing the bird's-eye view of the board
\\
Analyzing the dominant colors in a square \\
Classifying the contents of a square \\
Drawing text \\
Converting OpenCV images for wxPython \\
Building the GUI application \\
Creating a window and binding events \\
Creating and laying out images in the GUI \\
Creating and laying out controls \\
Nesting layouts and setting the root layout \\
Starting a background thread \\
Closing a window and stopping a background thread \\
Configuring the analyzer based on user input \\
Updating and showing images \\
Running the application \\
Troubleshooting the project in real-world conditions
\\
Further reading on OpenCV \\
Summary \\
Index",
}
@Book{Saha:2015:DMP,
author = "Amit Saha",
title = "Doing math with {Python}: use programming to explore
algebra, statistics, calculus, and more!",
publisher = pub-NO-STARCH,
address = pub-NO-STARCH:adr,
pages = "xvii + 244",
year = "2015",
ISBN = "1-59327-640-0 (paperback)",
ISBN-13 = "978-1-59327-640-9 (paperback)",
LCCN = "QA20.C65 S24 2015",
bibdate = "Fri Oct 23 16:03:07 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "Uses the Python programming language as a tool to
explore high school level mathematics like statistics,
geometry, probability, and calculus by writing programs
to find derivatives, solve equations graphically,
manipulate algebraic expressions, and examine
projectile motion. Covers programming concepts
including using functions, handling user input, and
reading and manipulating data.",
acknowledgement = ack-nhfb,
subject = "Mathematics; Study and teaching; Data processing;
Python (Computer program language); Computer
programming",
tableofcontents = "Acknowledgments \\
Introduction \\
Who Should Read This Book \\
What's in This Book? \\
Scripts, Solutions, and Hints \\
Chapter 1: Working with Numbers \\
Basic Mathematical Operations \\
Labels: Attaching Names to Numbers \\
Different Kinds of Numbers \\
Working with Fractions \\
Complex Numbers \\
Getting User Input \\
Handling Exceptions and Invalid Input \\
Fractions and Complex Numbers as Input \\
Writing Programs That Do the Math for You \\
Calculating the Factors of an Integer \\
Generating Multiplication Tables \\
Converting Units of Measurement \\
Finding the Roots of a Quadratic Equation \\
What You Learned \\
Programming Challenges \\
#1: Even-Odd Vending Machine \\
#2: Enhanced Multiplication Table Generator \\
#3: Enhanced Unit Converter \\
#4: Fraction Calculator \\
#5: Give Exit Power to the User \\
Chapter 2: Visualizing Data with Graphs \\
Understanding the Cartesian Coordinate Plane \\
Working with Lists and Tuples \\
Iterating over a List or Tuple \\
Creating Graphs with Matplotlib \\
Marking Points on Your Graph \\
Graphing the Average Annual Temperature in New York
City \\
Comparing the Monthly Temperature Trends of New York
City \\
Customizing Graphs \\
Adding a Title and Labels \\
Customizing the Axes \\
Plotting Using pyplot \\
Saving the Plots \\
Plotting with Formulas \\
Newton's Law of Universal Gravitation \\
Projectile Motion \\
Generating Equally Spaced Floating Point Numbers \\
Drawing the Trajectory \\
Comparing the Trajectory at Different Initial
Velocities \\
What You Learned \\
Programming Challenges \\
#1: How Does the Temperature Vary During the Day? \\
#2: Exploring a Quadratic Function Visually \\
#3: Enhanced Projectile Trajectory Comparison Program
\\
#4: Visualizing Your Expenses \\
#5: Exploring the Relationship Between the Fibonacci
Sequence and the Golden Ratio \\
Chapter 3: Describing Data with Statistics \\
Finding the Mean \\
Finding the Median \\
Finding the Mode and Creating a Frequency Table \\
Finding the Most Common Elements \\
Finding the Mode \\
Creating a Frequency Table \\
Measuring the Dispersion \\
Finding the Range of a Set of Numbers \\
Finding the Variance and Standard Deviation \\
Calculating the Correlation Between Two Data Sets \\
Calculating the Correlation Coefficient \\
High School Grades and Performance on College Admission
Tests \\
Scatter Plots \\
Reading Data from Files \\
Reading Data from a Text File \\
Reading Data from a CSV File \\
What You Learned \\
Programming Challenges \\
#1: Better Correlation Coefficient --- Finding Program
\\
#2: Statistics Calculator \\
#3: Experiment with Other CSV Data \\
#4: Finding the Percentile \\
#5: Creating a Grouped Frequency Table \\
Chapter 4: Algebra and Symbolic Math with SymPy \\
Defining Symbols and Symbolic Operations \\
Working with Expressions \\
Factorizing and Expanding Expressions \\
Pretty Printing \\
Printing a Series \\
Substituting in Values \\
Calculating the Value of a Series \\
Converting Strings to Mathematical Expressions \\
Expression Multiplier \\
Solving Equations \\
Solving Quadratic Equations \\
Solving for One Variable in Terms of Others \\
Solving a System of Linear Equations \\
Plotting Using SymPy \\
Plotting Expressions Input by the User \\
Plotting Multiple Functions \\
What You Learned \\
Programming Challenges \\
#1: Factor Finder \\
#2: Graphical Equation Solver \\
#3: Summing a Series \\
#4: Solving Single-Variable Inequalities \\
Hints: Handy Functions \\
Chapter 5: Playing with Sets and Probability \\
What's a Set? \\
Set Construction \\
Checking Whether a Number Is in a Set \\
Creating an Empty Set \\
Creating Sets from Lists or Tuples \\
Set Repetition and Order \\
Subsets, Supersets, and Power Sets \\
Set Operations \\
Union and Intersection \\
Cartesian Product \\
Applying a Formula to Multiple Sets of Variables \\
Different Gravity, Different Results \\
Probability \\
Probability of Event A or Event B \\
Probability of Event A and Event B \\
Generating Random Numbers \\
Simulating a Die Roll \\
Can You Roll That Score? \\
Is the Target Score Possible? \\
Nonuniform Random Numbers \\
What You Learned \\
Programming Challenges \\
#1: Using Venn Diagrams to Visualize Relationships
Between Sets \\
#2: Law of Large Numbers \\
#3: How Many Tosses Before You Run Out of Money? \\
#4: Shuffling a Deck of Cards \\
#5: Estimating the Area of a Circle \\
Estimating the Value of Pi \\
Chapter 6: Drawing Geometric Shapes and Fractals \\
Drawing Geometric Shapes with Matplotlib's Patches \\
Drawing a Circle \\
Creating Animated Figures \\
Animating a Projectile's Trajectory \\
Drawing Fractals \\
Transformations of Points in a Plane \\
Drawing the Barnsley Fern \\
What You Learned \\
Programming Challenges \\
#1: Packing Circles into a Square \\
#2: Drawing the Sierpi{\'n}ski Triangle \\
#3: Exploring H{\'e}non's Function \\
#4: Drawing the Mandelbrot Set \\
The imshow() Function \\
Creating a List of Lists \\
Drawing the Mandelbrot Set \\
Chapter 7: Solving Calculus Problems \\
What Is a Function? \\
Domain and Range of a Function \\
An Overview of Common Mathematical Functions \\
Assumptions in SymPy \\
Finding the Limit of Functions \\
Continuous Compound Interest \\
Instantaneous Rate of Change \\
Finding the Derivative of Functions \\
A Derivative Calculator \\
Calculating Partial Derivatives \\
Higher-Order Derivatives and Finding the Maxima and
Minima \\
Finding the Global Maximum Using Gradient Ascent \\
A Generic Program for Gradient Ascent \\
A Word of Warning About the Initial Value \\
The Role of the Step Size and Epsilon \\
Finding the Integrals of Functions \\
Probability Density Functions \\
What You Learned \\
Programming Challenges \\
#1: Verify the Continuity of a Function at a Point \\
#2: Implement the Gradient Descent \\
#3: Area Between Two Curves \\
#4: Finding the Length of a Curve \\
Afterword \\
Things to Explore Next \\
Project Euler \\
Python Documentation \\
Books \\
Getting Help \\
Conclusion \\
Appendix A: Software Installation \\
Microsoft Windows \\
Updating SymPy \\
Installing matplotlib-venn \\
Starting the Python Shell \\
Linux \\
Updating SymPy \\
Installing matplotlib-venn \\
Starting the Python Shell \\
Mac OS X \\
Updating SymPy \\
Installing matplotlib-venn \\
Starting the Python Shell \\
Appendix B: Overview of Python Topics \\
if __name__ == '__main__' \\
List Comprehensions \\
Dictionary Data Structure \\
Multiple Return Values \\
Exception Handling \\
Specifying Multiple Exception Types \\
The else Block \\
Reading Files in Python \\
Reading All the Lines at Once \\
Specifying the Filename as Input \\
Handling Errors When Reading Files \\
Reusing Code \\
Index \\
Footnotes \\
Chapter 3: Describing Data with Statistics \\
Chapter 6: Drawing Geometric Shapes and Fractals \\
Chapter 7: Solving Calculus Problems \\
Afterword \\
Resources \\
About the Author",
zz-isbn = "1-59327-640-0",
}
@Book{Sanderson:2015:PGA,
author = "Dan Sanderson",
title = "Programming {Google App Engine} with {Python}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "xxi + 439",
year = "2015",
ISBN = "1-4919-0025-3, 1-4919-0024-5, 1-4919-0368-6 (e-book),
1-4919-0367-8 (e-book)",
ISBN-13 = "978-1-4919-0025-3, 978-1-4919-0024-6,
978-1-4919-0368-1 (e-book), 978-1-4919-0367-4
(e-book)",
LCCN = "TK5105.88813",
bibdate = "Fri Oct 23 17:18:15 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Google Apps; Google Apps.; Application software;
Development; Web site development; Computer programs;
Python (Computer program language)",
tableofcontents = "Preface \\
A Brief History of App Engine \\
Using This Book \\
Conventions Used in This Book \\
Using Code Samples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
1. Introducing Google App Engine \\
The Runtime Environment \\
The Static File Servers \\
Frontend Caches \\
Cloud Datastore \\
Entities and Properties \\
Queries and Indexes \\
Transactions \\
The Services \\
Google Accounts, OpenID, and OAuth \\
Google Cloud Endpoints \\
Task Queues and Cron Jobs \\
Namespaces \\
Developer Tools \\
The Cloud Console \\
Getting Started \\
2. Creating an Application \\
Setting Up the Cloud SDK \\
Installing the SDK \\
A brief tour of the Launcher \\
Developing the Application \\
The User Preferences Pattern \\
Developing the App \\
Introducing the webapp framework \\
Users and Google Accounts \\
Web forms and the datastore \\
Caching with memcache \\
The Development Console \\
The Python Interactive Console \\
Registering the Application \\
The Project ID and Name \\
Uploading the Application \\
Using Two-Step Verification \\
Introducing the Cloud Console \\
3. Configuring an Application \\
The App Engine Architecture \\
Configuring a Python App \\
Runtime Versions \\
Domain Names \\
App IDs and Versions \\
Multithreading \\
Request Handlers \\
Static Files and Resource Files \\
MIME types \\
Cache expiration \\
Secure Connections \\
Authorization with Google Accounts \\
Environment Variables \\
Inbound Services \\
Custom Error Responses \\
Cloud Console Custom Pages \\
More Features \\
Python Libraries \\
Built-in Handlers \\
Includes \\
4. Request Handlers, Instances, and Modules \\
The Runtime Environment \\
The Sandbox \\
Quotas and Limits \\
Request limits \\
Service limits \\
Deployment limits \\
Billable quotas \\
The Python Runtime Environment \\
The Request Handler Abstraction \\
Introducing Instances \\
Request Scheduling and Pending Latency \\
Warm-up Requests \\
Resident Instances \\
The Instances Console \\
Instance Hours and Billing \\
Instance Classes \\
5. Datastore Entities \\
Entities, Keys, and Properties \\
Introducing the Python Datastore API \\
Property Values \\
Strings, Text, and Bytes \\
Unset Versus the Null Value \\
Multivalued Properties \\
Keys and Key Objects \\
Using Entities \\
Getting Entities Using Keys \\
Inspecting Entity Objects \\
Saving Entities \\
Deleting Entities \\
Allocating System IDs \\
The Development Server and the Datastore \\
6. Datastore Queries \\
Queries and Kinds \\
Query Results and Keys \\
GQL \\
The Query API \\
The Query Class \\
GQL in Code \\
Retrieving Results \\
Keys-Only Queries \\
Introducing Indexes \\
Automatic Indexes and Simple Queries \\
All Entities of a Kind \\
One Equality Filter \\
Greater-Than and Less-Than Filters \\
One Sort Order \\
Queries on Keys \\
Kindless Queries \\
Custom Indexes and Complex Queries \\
Multiple Sort Orders \\
Filters on Multiple Properties \\
Multiple Equality Filters \\
Not-Equal and IN Filters \\
Unset and Nonindexed Properties \\
Sort Orders and Value Types \\
Queries and Multivalued Properties \\
MVPs in Code \\
MVPs and Equality Filters \\
MVPs and Inequality Filters \\
MVPs and Sort Orders \\
Exploding Indexes \\
Query Cursors \\
Projection Queries \\
Configuring Indexes \\
7. Datastore Transactions \\
Entities and Entity Groups \\
Keys, Paths, and Ancestors \\
Ancestor Queries \\
What Can Happen in a Transaction \\
Transactional Reads \\
Eventually Consistent Reads \\
Transactions in Python \\
How Entities Are Updated \\
How Entities Are Read \\
Batch Updates \\
How Indexes Are Updated \\
Cross-Group Transactions \\
8. Data Modeling with ndb \\
9. Datastore Administration \\
Inspecting the Datastore \\
Managing Indexes \\
The Datastore Admin Panel \\
Accessing Metadata from the App \\
Querying Statistics \\
Querying Metadata \\
Index Status and Queries \\
Entity Group Versions \\
Remote Controls \\
Setting Up the Remote API \\
Using the Remote Shell Tool \\
Using the Remote API from a Script \\
10. The Memory Cache \\
Calling Memcache from Python \\
Keys and Values \\
Setting Values \\
Setting Values that Expire \\
Adding and Replacing Values \\
Getting Values \\
Deleting Values \\
Locking a Deleted Key \\
Atomic Increment and Decrement \\
Compare and Set \\
Batching Calls to Memcache \\
Memcache and the Datastore \\
Memcache Administration \\
Cache Statistics \\
Flushing the Memcache \\
11. Large Data and Google Cloud Storage \\
12. Fetching URLs and Web Resources \\
Fetching URLs \\
Outgoing HTTP Requests \\
The URL \\
The HTTP Method and Payload \\
Request Headers \\
HTTP Over SSL (HTTPS) \\
Request and Response Sizes \\
Request Deadlines \\
Handling Redirects \\
Response Objects \\
13. Sending and Receiving Email Messages \\
Sending Email Messages \\
Sending Email from the Development Server \\
Sender Addresses \\
Recipients \\
Attachments \\
Sending Email \\
Receiving Email Messages \\
14. Sending and Receiving Instant Messages with XMPP
\\
Inviting a User to Chat \\
Sending Chat Messages \\
Receiving Chat Messages \\
Handling Commands over Chat \\
Handling Error Messages \\
Managing Presence \\
Managing Subscriptions \\
Managing Presence Updates \\
Probing for Presence \\
15. Task Queues and Scheduled Tasks \\
Configuring Task Queues \\
Enqueuing a Task \\
Task Parameters \\
Payloads \\
Task Names \\
Countdowns and ETAs \\
Push Queues \\
Task Requests \\
Processing Rates and Token Buckets \\
Retrying Push Tasks \\
Pull Queues \\
Enqueuing Tasks to Pull Queues \\
Leasing and Deleting Tasks \\
Retrying Pull Queue Tasks \\
Transactional Task Enqueuing \\
Task Chaining \\
Task Queue Administration \\
Deferring Work \\
Scheduled Tasks \\
Configuring Scheduled Tasks \\
Specifying Schedules \\
16. Optimizing Service Calls \\
Calling Services Asynchronously \\
Asynchronous Calls in Python \\
Datastore \\
Memcache \\
Blobstore \\
URL Fetch \\
Using callbacks \\
Visualizing Calls with AppStats \\
Installing AppStats \\
Using the AppStats Console \\
17. The Django Web Application Framework \\
Using the Bundled Django Library \\
Creating a Django Project \\
Hooking It Up to App Engine \\
Creating a Django App \\
Using Django Templates \\
Using Django Forms \\
The django-nonrel Project \\
18. Managing Request Logs \\
Writing to the Log \\
Viewing Recent Logs \\
Downloading Logs \\
Logs Retention \\
Querying Logs from the App \\
Flushing the Log Buffer \\
19. Deploying and Managing Applications \\
Uploading an Application \\
Using Versions \\
Managing Service Configuration \\
Application Settings \\
Managing Developers \\
Quotas and Billing \\
Getting Help \\
About the Author",
}
@Book{Sarker:2015:LPN,
author = "M. O. Faruque Sarker and Sam Washington",
title = "Learning {Python} network programming: utilize {Python
3} to get network applications up and running quickly
and easily",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "320 (est.)",
year = "2015",
ISBN = "1-78439-600-1, 1-78439-115-8 (e-book)",
ISBN-13 = "978-1-78439-600-8, 978-1-78439-115-7 (e-book)",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 17:16:08 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781784396008",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Scripting
languages (Computer science); Python (Computer program
language); Scripting languages (Computer science)",
tableofcontents = "Preface \\
1: Network Programming and Python \\
An introduction to TCP/IP networks \\
IP addresses \\
Network Interfaces \\
Assigning IP addresses \\
IP addresses on the Internet \\
Packets \\
Networks \\
Routing with IP \\
DNS \\
The protocol stack or why the Internet is like a cake
\\
Layer 4 --- TCP and UDP \\
Network ports \\
UDP \\
TCP \\
UDP versus TCP \\
Layer 5 --- The application layer \\
On to Python! \\
Network programming with Python \\
Breaking a few eggs \\
Taking it from the top \\
Downloading an RFC. Looking deeper \\
Programming for TCP/IP networks \\
Firewalls \\
Network Address Translation \\
IPv6 \\
Summary \\
2: HTTP and Working with the Web \\
Request and response \\
Requests with urllib \\
Response objects \\
Status codes \\
Handling problems \\
HTTP headers \\
Customizing requests \\
Content compression \\
Multiple values \\
Content negotiation \\
Content types \\
User agents \\
Cookies \\
Cookie handling \\
Know your cookies \\
Redirects \\
URLs \\
Paths and relative URLs \\
Query strings \\
URL encoding \\
URLs in summary \\
HTTP methods \\
The HEAD method \\
The POST method \\
Formal inspection \\
HTTPS \\
The Requests library. Handling errors with Requests \\
Summary \\
3: APIs in Action \\
Getting started with XML \\
The XML APIs \\
The basics of ElementTree \\
Pretty printing \\
Element attributes \\
Converting to text \\
The Amazon S3 API \\
Registering with AWS \\
Authentication \\
Setting up an AWS user \\
Regions \\
S3 buckets and objects \\
An S3 command-line client \\
Creating a bucket with the API \\
Uploading a file \\
Retrieving an uploaded file through a web browser \\
Displaying an uploaded file in a web browser \\
Downloading a file with the API \\
Parsing XML and handling errors \\
Parsing XML \\
Finding elements \\
Handling errors. Further enhancements \\
The Boto package \\
Wrapping up with S3 \\
JSON \\
Encoding and decoding \\
Using dicts with JSON \\
Other object types \\
The Twitter API \\
A Twitter world clock \\
Authentication for Twitter \\
Registering your application for the Twitter API \\
Authenticating requests \\
A Twitter client \\
Polling for Tweets \\
Processing the tweets \\
Rate limits \\
Sending a reply \\
Final touches \\
Taking it further \\
Polling and the Twitter streaming APIs \\
Alternative oAuth flows \\
HTML and screen scraping \\
HTML parsers \\
Show me the data \\
Parsing HTML with lxml \\
Zeroing in \\
Searching with XPath \\
XPath conditions. Pulling it together \\
With great power\ldots{} \\
Choosing a User Agent \\
The Robots.txt file \\
Summary \\
4: Engaging with E-mails \\
E-mail terminologies \\
Sending e-mails with SMTP \\
Composing an e-mail message \\
Sending an e-mail message \\
Sending e-mails securely with TLS \\
Retrieving e-mails by using POP3 with poplib \\
Retrieving e-mails by using IMAP with imaplib \\
Sending e-mail attachments \\
Sending e-mails via the logging module \\
Summary \\
5: Interacting with Remote Systems \\
Secure shell --- access using Python \\
Inspecting the SSH packets \\
Transferring files through SFTP \\
Transferring files with FTP",
}
@Book{Sedgewick:2015:IPP,
author = "Robert Sedgewick and Kevin Daniel Wayne and Robert
Dondero",
title = "Introduction to programming in {Python}: an
interdisciplinary approach",
publisher = pub-AW,
address = pub-AW:adr,
pages = "????",
year = "2015",
ISBN = "0-13-407653-2, 0-13-407643-5",
ISBN-13 = "978-0-13-407653-9, 978-0-13-407643-0",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 17:33:54 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/?fpi=9780134076539",
acknowledgement = ack-nhfb,
author-dates = "1946--",
subject = "Python (Computer program language); Computer
programming; Computer programming.; Python (Computer
program language)",
tableofcontents = "Preface \\
Coverage \\
Use in the Curriculum \\
Prerequisites \\
Goals \\
Booksite \\
Acknowledgments \\
Chapter One. Elements of Programming \\
1.1 Your First Program \\
Programming in Python \\
Input and output \\
Q\&A \\
Exercises \\
1.2 Built-in Types of Data \\
Definitions \\
Strings \\
Integers \\
Floating-point numbers \\
Booleans \\
Comparisons \\
Functions and APIs \\
Type conversion \\
Summary \\
Q\&A (strings) \\
Q\&A (integers) \\
Q\&A (floating-point numbers) \\
Q\&A \\
Exercises \\
Creative Exercises \\
1.3 Conditionals and Loops \\
If statements \\
Else clauses \\
While statements \\
For statements \\
Nesting \\
Applications \\
Loop and a half \\
Infinite loops \\
Summary \\
Q\&A \\
Exercises \\
Creative Exercises \\
1.4 Arrays \\
Arrays in Python \\
Array aliases and copies \\
System support for arrays \\
Sample applications of arrays \\
Coupon collector \\
Sieve of Eratosthenes \\
Two-dimensional arrays \\
Example: self-avoiding random walks \\
Summary \\
Q\&A \\
Exercises \\
Creative Exercises \\
1.5 Input and Output \\
Bird s-eye view \\
Standard output \\
Standard input \\
Redirection and piping \\
Standard drawing \\
Animation \\
Standard audio \\
Summary \\
Q\&A \\
Exercises \\
Creative Exercises \\
1.6 Case Study: Random Web Surfer \\
Input format \\
Transition matrix \\
Simulation \\
Mixing a Markov chain \\
Lessons \\
Exercises \\
Creative Exercises \\
Chapter Two. Functions and Modules \\
2.1 Defining Functions \\
Using and defining functions \\
Implementing mathematical functions \\
Using functions to organize code \\
Passing arguments and returning values \\
Example: superposition of sound waves \\
Q\&A \\
Exercises \\
Creative Exercises \\
2.2 Modules and Clients \\
Using functions in other programs \\
Modular programming abstractions \\
Random numbers \\
Array-processing API \\
Iterated function systems \\
Standard statistics \\
Modular programming \\
Q\&A \\
Exercises \\
Creative Exercises \\
2.3 Recursion \\
Your first recursive program \\
Mathematical induction \\
Euclid s algorithm \\
Towers of Hanoi \\
Function-call trees \\
Exponential time \\
Gray codes \\
Recursive graphics \\
Brownian bridge \\
Pitfalls of recursion \\
Perspective \\
Q\&A \\
Exercises \\
Creative Exercises \\
2.4 Case Study: Percolation \\
Percolation \\
Basic scaffolding \\
Vertical percolation \\
Testing \\
Estimating probabilities \\
Recursive solution for percolation \\
Adaptive plot \\
Lessons \\
Q\&A \\
Exercises \\
Creative Exercises \\
Chapter Three. Object-Oriented Programming \\
3.1 Using Data Types \\
Methods \\
String processing \\
String-processing application: genomics \\
A user-defined data type \\
Color \\
Digital image processing \\
Input and output revisited \\
Memory management \\
Q\&A \\
Exercises \\
Creative Exercises \\
3.2 Creating Data Types \\
Basic elements of a data type \\
Stopwatch \\
Histogram \\
Turtle graphics \\
Complex numbers \\
Mandelbrot set \\
Commercial data processing \\
Q\&A \\
Exercises \\
Creative Exercises \\
3.3 Designing Data Types \\
Designing APIs \\
Encapsulation \\
Immutability \\
Example: spatial vectors \\
Tuples \\
Polymorphism \\
Overloading \\
Functions are objects \\
Inheritance \\
Application: data mining \\
Design-by-contract \\
Q\&A \\
Exercises \\
Data-Type Design Exercises \\
Creative Exercises \\
3.4 Case Study: N-Body Simulation \\
N-body simulation \\
Q\&A \\
Exercises \\
Creative Exercises \\
Chapter Four. Algorithms and Data Structures \\
4.1 Performance \\
Scientific method \\
Observations \\
Hypotheses \\
Order of growth classifications \\
Predictions \\
Caveats \\
Performance guarantees \\
Python lists and arrays \\
Strings \\
Memory \\
Perspective \\
Q\&A \\
Exercises \\
Creative Exercises \\
4.2 Sorting and Searching \\
Binary search \\
Insertion sort \\
Mergesort \\
Python system sort \\
Application: frequency counts \\
Lessons \\
Q\&A \\
Exercises \\
Creative Exercises \\
4.3 Stacks and Queues \\
Pushdown stacks \\
Python list (resizing array) implementation of a stack
\\
Linked-list implementation of a stack \\
Stack applications \\
FIFO queues \\
Queue applications \\
Resource allocation \\
Q\&A \\
Exercises \\
Linked-List Exercises \\
Creative Exercises \\
4.4 Symbol Tables \\
API \\
Symbol table clients \\
Elementary symbol-table implementations \\
Hash tables \\
Binary search trees \\
Performance characteristics of BSTs \\
Traversing a BST \\
Iterables \\
Ordered symbol table operations \\
Dictionary data type \\
Set data type \\
Perspective \\
Q\&A \\
Exercises \\
Binary Tree Exercises \\
Creative Exercises \\
4.5 Case Study: Small-World Phenomenon \\
Graphs \\
Graph data type \\
Graph client example \\
Shortest paths in graphs \\
Small-world graphs \\
Lessons \\
Q\&A \\
Exercises \\
Creative Exercises \\
Context \\
Standard Python modules \\
Programming environments \\
Scientific computing \\
Computer systems \\
Theoretical computer science \\
Glossary \\
Index \\
APIs \\
Code Snippets",
}
@Article{Severance:2015:GVRa,
author = "Charles Severance",
title = "{Guido van Rossum}: The Early Years of {Python}",
journal = j-COMPUTER,
volume = "48",
number = "2",
pages = "7--9",
month = feb,
year = "2015",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Tue Jun 9 06:31:43 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/csdl/mags/co/2015/02/mco2015020007.html",
abstract-URL = "http://csdl.computer.org/csdl/mags/co/2015/02/mco2015020007-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/computer",
}
@Article{Severance:2015:GVRb,
author = "Charles Severance",
title = "{Guido van Rossum}: The Modern Era of {Python}",
journal = j-COMPUTER,
volume = "48",
number = "3",
pages = "8--10",
month = mar,
year = "2015",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Tue Jun 9 06:31:46 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computer2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/csdl/mags/co/2015/03/mco2015030008.html",
abstract-URL = "http://csdl.computer.org/csdl/mags/co/2015/03/mco2015030008-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://www.computer.org/portal/web/csdl/magazines/computer",
}
@Article{Shein:2015:NPB,
author = "Esther Shein",
title = "News: {Python} for beginners",
journal = j-CACM,
volume = "58",
number = "3",
pages = "19--21",
month = mar,
year = "2015",
CODEN = "CACMA2",
DOI = "https://doi.org/10.1145/2716560",
ISSN = "0001-0782 (print), 1557-7317 (electronic)",
ISSN-L = "0001-0782",
bibdate = "Wed Feb 25 17:28:17 MST 2015",
bibsource = "http://www.acm.org/pubs/contents/journals/cacm/;
https://www.math.utah.edu/pub/tex/bib/cacm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://cacm.acm.org/magazines/2015/3/183588/fulltext",
abstract = "A survey found the language in use in introductory
programming classes in the top U.S. computer science
schools.",
acknowledgement = ack-nhfb,
fjournal = "Communications of the ACM",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79",
}
@Book{Sherrington:2015:MJD,
author = "Malcolm Sherrington",
title = "Mastering {Julia}: develop your analytical and
programming skills further in {Julia} to solve complex
data processing problems",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xiv + 385",
year = "2015",
ISBN = "1-78355-331-6 (paperback), 1-78355-332-4 (e-book)",
ISBN-13 = "978-1-78355-331-0 (paperback), 978-1-78355-332-7
(e-book)",
LCCN = "QA76.7 .S547 2015; QA76.73.J8 S54 2015",
bibdate = "Thu Apr 8 10:58:21 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This hands-on guide is aimed at practitioners of data
science. The book assumes some previous skills with
Julia and skills in coding in a scripting language such
as Python or R, or a compiled language such as C or
Java.",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
1: The Julia Environment \\
Introduction \\
Philosophy \\
Role in data science and big data \\
Comparison with other languages \\
Features \\
Getting started \\
Julia sources \\
Building from source \\
Installing on CentOS \\
Mac OS X and Windows \\
Exploring the source stack \\
Juno \\
IJulia \\
A quick look at some Julia \\
Julia via the console \\
Installing some packages \\
A bit of graphics creating more realistic graphics with
Winston \\
My benchmarks \\
Package management \\
Listing, adding, and removing \\
Choosing and exploring packages \\
Statistics and mathematics \\
Graphics \\
Web and networking \\
Database and specialist packages \\
How to uninstall Julia \\
Adding an unregistered package \\
What makes Julia special \\
Parallel processing \\
Multiple dispatch \\
Homoiconic macros \\
Interlanguage cooperation \\
Summary \\
2: Developing in Julia \\
Integers, bits, bytes, and bools \\
Integers \\
Logical and arithmetic operators \\
Booleans \\
Arrays \\
Operations on matrices \\
Elemental operations \\
A simple Markov chain \\
cat and mouse \\
Char and strings \\
Characters \\
Strings \\
Unicode support \\
Regular expressions \\
Byte array literals \\
Version literals \\
An example \\
Real, complex, and rational numbers \\
Reals \\
Operators and built-in functions \\
Special values \\
BigFloats \\
Rationals \\
Complex numbers \\
Juliasets \\
Composite types \\
More about matrices \\
Vectorized and devectorized code \\
Multidimensional arrays \\
Broadcasting \\
Sparse matrices \\
Data arrays and data frames \\
Dictionaries, sets, and others \\
Dictionaries \\
Sets \\
Other data structures \\
Summary \\
3: Types and Dispatch \\
Functions \\
First-class objects \\
Passing arguments \\
Default and optional arguments \\
Variable argument list \\
Named parameters \\
Scope \\
The Queen's problem \\
Julia's type system \\
A look at the rational type \\
A vehicle datatype \\
Typealias and unions \\
Enumerations (revisited) \\
Multiple dispatch \\
Parametric types \\
Conversion and promotion \\
Conversion \\
Promotion \\
A fixed vector module \\
Summary \\
4: Interoperability \\
Interfacing with other programming environments \\
Calling C and Fortran \\
Mapping C types \\
Calling a Fortran routine \\
Calling curl to retrieve a web page \\
Python \\
Some others to watch \\
The Julia API \\
Calling API from C \\
Metaprogramming \\
Symbols \\
Macros \\
Testing \\
Error handling \\
The enum macro \\
Tasks \\
Parallel operations \\
Distributed arrays \\
A simple MapReduce \\
Executing commands \\
Running commands \\
Working with the filesystem \\
Redirection and pipes \\
Perl one-liners \\
Summary \\
5: Working with Data \\
Basic I/O \\
Terminal I/O \\
Disk files \\
Text processing \\
Binary files \\
Structured datasets \\
CSV and DLM files \\
HDF5 \\
XML files \\
DataFrames and RDatasets \\
The DataFrames package \\
DataFrames \\
RDatasets \\
Subsetting, sorting, and joining data \\
Statistics \\
Simple statistics \\
Samples and estimations \\
Pandas \\
Selected topics \\
Time series \\
Distributions \\
Kernel density \\
Hypothesis testing \\
GLM \\
Summary",
}
@Book{Slatkin:2015:EPS,
author = "Brett Slatkin",
title = "Effective {Python}: 59 specific ways to write better
{Python}",
publisher = pub-AW,
address = pub-AW:adr,
pages = "????",
year = "2015",
ISBN = "0-13-403441-4",
ISBN-13 = "978-0-13-403441-6, 978-0-13-403428-7",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 15:24:45 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Effective software development series",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Computer
programming; Computer programming.; Python (Computer
program language)",
}
@Article{Smigaj:2015:SBI,
author = "Wojciech {\'S}migaj and Timo Betcke and Simon Arridge
and Joel Phillips and Martin Schweiger",
title = "Solving Boundary Integral Problems with {BEM++}",
journal = j-TOMS,
volume = "41",
number = "2",
pages = "6:1--6:40",
month = jan,
year = "2015",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2590830",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Feb 4 17:49:11 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "Many important partial differential equation problems
in homogeneous media, such as those of acoustic or
electromagnetic wave propagation, can be represented in
the form of integral equations on the boundary of the
domain of interest. In order to solve such problems,
the boundary element method (BEM) can be applied. The
advantage compared to domain-discretisation-based
methods such as finite element methods is that only a
discretisation of the boundary is necessary, which
significantly reduces the number of unknowns. Yet, BEM
formulations are much more difficult to implement than
finite element methods. In this article, we present
BEM++, a novel open-source library for the solution of
boundary integral equations for Laplace, Helmholtz and
Maxwell problems in three space dimensions. BEM++ is a
C++ library with Python bindings for all important
features, making it possible to integrate the library
into other C++ projects or to use it directly via
Python scripts. The internal structure and design
decisions for BEM++ are discussed. Several examples are
presented to demonstrate the performance of the library
for larger problems.",
acknowledgement = ack-nhfb,
articleno = "6",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Book{Smith:2015:C,
author = "Kurt W. Smith",
title = "{Cython}",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "240",
year = "2015",
ISBN = "1-4919-0155-1",
ISBN-13 = "978-1-4919-0155-7",
LCCN = "????",
bibdate = "Fri Oct 23 15:09:59 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/9781491901731",
tableofcontents = "Dedication \\
Preface \\
Who Should Read This Book? \\
Who Should Not Read This Book? \\
Outline \\
Conventions Used in This Book \\
Using Code Examples \\
Safari Books Online \\
How to Contact Us \\
Acknowledgments \\
1. Cython Essentials \\
Comparing Python, C, and Cython \\
Tempering our Enthusiasm \\
Wrapping C Code with Cython \\
Summary \\
2. Compiling and Running Cython Code \\
The Cython Compilation Pipeline \\
The Standard Way: Using Distutils with cythonize \\
Interactive Cython with IPython and cython Magic \\
Compiling on-the-fly with pyximport \\
Roll-Your-Own and Compiling by Hand \\
Using Cython with Other Build Systems \\
Compiler Directives \\
Summary \\
3. Cython in Depth \\
Interpreted vs. Compiled Execution \\
Dynamic vs. Static Typing \\
Static Type Declaration with cdef \\
Cython s Three Kinds of Functions \\
Type Coercion and Casting \\
Declaring and Using structs, unions, and enums \\
Type Aliasing with ctypedef \\
Cython for Loops and while Loops \\
The Cython Preprocessor \\
Bridging the Python 2 and Python 3 Divide \\
Summary \\
4. Cython in Practice: N-Body Simulation \\
Overview of the N-Body Python Code \\
Converting to Cython \\
Summary \\
5. Cython and Extension Types \\
Comparing Python Classes and Extension Types \\
Extension Types in Cython \\
Type Attributes and Access Control \\
C-level Initialization and Finalization \\
cdef and cpdef Methods \\
Inheritance and Subclassing \\
Extension Type Properties in Cython \\
Special Methods are Even More Special \\
Summary \\
6. Organizing Cython Code \\
Cython Implementation (pyx) and Declaration (pxd) Files
\\
The cimport Statement \\
Include Files and the include Statement \\
Organizing and Compiling Cython Modules Inside Python
Packages \\
Summary \\
7. Wrapping C Libraries with Cython \\
Declaring External C Code in Cython \\
Declaring External C Functions and typedefs \\
Declaring and Wrapping C structs, unions, and enums \\
Wrapping C Functions \\
Wrapping C structs with Extension Types \\
Constants, Other Modifiers, and Controlling What Cython
Generates \\
Error Checking and Raising Exceptions \\
Callbacks \\
Summary \\
8. Wrapping C++ Libraries with Cython \\
Simple Example: MT_RNG Class \\
C++ Exceptions \\
Stack and Heap Allocation of C++ Instances \\
Working with C++ Class Hierarchies \\
C++ Templates \\
Memory Management, RAII, and Smart Pointers \\
Summary \\
9. Cython Profiling Tools \\
Cython Runtime Profiling \\
Performance Profiling and Annotations \\
Summary \\
10. Cython, NumPy, and Typed Memoryviews \\
The Power of the New Buffer Protocol \\
Typed Memoryviews \\
Wrapping C and C++ Arrays \\
Summary \\
11. Cython in Practice: Spectral Norm \\
Overview of the Spectral Norm Python Code \\
Performance Profiling \\
Cythonizing Our Code \\
Comparing to the C Implementation \\
Summary \\
12. Parallel Programming with Cython \\
Thread-based Parallelism and the Global Interpreter
Lock \\
Using prange to Parallelize Loops \\
Using prange for Reductions \\
Parallel Programming Pointers and Pitfalls \\
Summary \\
13. Cython in Context \\
Cython vs. Project X \\
Summary \\
Index \\
About the Author \\
Colophon",
}
@Book{Stevens:2015:PPB,
author = "Tim Stevens and Wayne Boucher",
title = "{Python} programming for biology, bioinformatics, and
beyond",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "viii + 702 + 8",
year = "2015",
DOI = "https://doi.org/10.1017/CBO9780511843556",
ISBN = "0-521-89583-9 (hardcover), 0-521-72009-5 (paperback)",
ISBN-13 = "978-0-521-89583-5 (hardcover), 978-0-521-72009-0
(paperback)",
LCCN = "QH324.2 .S727 2014",
bibdate = "Wed Oct 14 10:25:49 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
acknowledgement = ack-nhfb,
author-dates = "1976--",
subject = "Biology; Data processing; Python (Computer program
language)",
tableofcontents = "Frontmatter / i--iv \\
Contents / v--viii \\
Preface / ix--ix \\
Acknowledgements / x--x \\
1: Prologue / 1--4 \\
2: a beginners guide / 5--16 \\
3: Python basics / 17--42 \\
4: Program control and logic / 43--62 \\
5: Functions / 63--77 \\
6: Files / 78--99 \\
7: Object orientation / 100--116 \\
8: Object data modelling / 117--136 \\
9: Mathematics / 137--159 \\
10: Coding tips / 160--180 \\
11: Biological sequences / 181--207 \\
12: Pairwise sequence alignments / 208--231 \\
13: Multiple-sequence alignments / 232--243 \\
14: Sequence variation and evolution / 244--277 \\
15: Macromolecular structures / 278--315 \\
16: Array data / 316--340 \\
17: High-throughput sequence analyses / 341--360 \\
18: Images / 361--381 \\
19: Signal processing / 382--400 \\
20: Databases / 401--420 \\
21: Probability / 421--453 \\
22: Statistics / 454--485 \\
23: Clustering and discrimination / 486--510 \\
24: Machine learning / 511--544 \\
25: Hard problems / 545--565 \\
26: Graphical interfaces / 566--581 \\
27: Improving speed / 582--605 \\
Appendices / 606--606 \\
Appendix 1: Simplified language reference / 607--620
\\
Appendix 2: Selected standard type methods and
operations / 621--633 \\
Appendix 3: Standard module highlights / 634--652 \\
Appendix 4: String formatting / 653--657 \\
Appendix 5: Regular expressions / 658--667 \\
Appendix 6: Further statistics / 668--670 \\
Glossary / 671--695 \\
Index / 696--702",
}
@Book{Toms:2015:AAG,
author = "Silas Toms",
title = "{ArcPy} and {ArcGIS-geospatial} analysis with
{Python}: use the {ArcPy} module to automate the
analysis and mapping of geospatial data in {ArcGIS}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "224 (est.)",
year = "2015",
ISBN = "1-78398-866-5, 1-78398-867-3 (e-book)",
ISBN-13 = "978-1-78398-866-2, 978-1-78398-867-9 (e-book)",
LCCN = "G70.212",
bibdate = "Sat Oct 24 05:39:48 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781783988662",
acknowledgement = ack-nhfb,
subject = "ArcGIS; ArcGIS.; Geographic information systems;
Python (Computer program language); Geographic
information systems.; Python (Computer program
language)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Downloading the color images of this book \\
Errata \\
Piracy \\
Questions \\
1. Introduction to Python for ArcGIS \\
Overview of Python \\
Python as a programming language \\
Interpreted language \\
Standard (built-in) library \\
The glue language \\
Wrapper modules \\
The basics of Python \\
Import statements \\
Variables \\
For loops \\
If/Elif/Else statements \\
While statements \\
Comments \\
Data types \\
Strings \\
Integers \\
Floats \\
Lists \\
Tuples \\
Dictionaries \\
Iterable data types \\
Other important concepts \\
Indentation \\
Functions \\
Keywords \\
Namespaces \\
Zero-based indexing \\
Important Python Modules for GIS Analysis \\
The ArcPy module \\
The Operating System (OS) module \\
The Python System (SYS) module \\
The XLRD and XLWT modules \\
Commonly used built-in functions \\
Commonly used standard library modules \\
Summary \\
2. Configuring the Python Environment \\
What is a Python script? \\
How Python executes a script \\
What is the Python interpreter? \\
Where is the Python interpreter located? \\
Which Python interpreter should be used? \\
How does the computer know where the interpreter is?
\\
Make Python scripts executable when clicked on \\
Integrated Development Environments (IDEs) \\
IDLE \\
PythonWin \\
Aptana Studio 3 \\
IDE summary \\
Python folder structure \\
Where modules reside \\
Using Python's sys module to add a module \\
The sys.path.append() method \\
Summary \\
3. Creating the First Python Script \\
Prerequisites \\
ModelBuilder \\
Creating a model and exporting to Python \\
Modeling the Select and Buffer tools \\
Adding the Intersect tool \\
Tallying the analysis results \\
Exporting the model and adjusting the script \\
The automatically generated script \\
File paths in Python \\
Continuing the script analysis: the ArcPy tools \\
The Intersect tool and string manipulation \\
The string manipulation method 1 --- string addition
\\
The string manipulation method 2 --- string formatting
#1 \\
The string manipulation method 3 --- string formatting
#2 \\
Adjusting the Script \\
Adding the CSV module to the script \\
Accessing the data: Using a cursor \\
The final script \\
Summary \\
4. Complex ArcPy Scripts and Generalizing Functions \\
Python functions --- Avoid repeating code \\
Technical definition of functions \\
A first function \\
Functions with parameters \\
Using functions to replace repetitive code \\
More generalization of the functions \\
Summary \\
5. ArcPy Cursors --- Search, Insert, and Update \\
The data access module \\
Attribute field interactions \\
Update cursors \\
Updating the shape field \\
Adjusting a point location \\
Deleting a row using an Update Cursor \\
Using an Insert Cursor \\
Inserting a polyline geometry \\
Inserting a polygon geometry \\
Summary \\
6. Working with ArcPy Geometry Objects \\
ArcPy geometry object classes \\
ArcPy Point objects \\
ArcPy Array objects \\
ArcPy Polyline objects \\
ArcPy Polygon objects \\
Polygon object buffers \\
Other Polygon object methods \\
ArcPy geometry objects \\
ArcPy PointGeometry objects \\
Summary \\
7. Creating a Script Tool \\
Adding dynamic parameters to a script \\
Displaying script messages using arcpy.AddMessage \\
Adding dynamic components to the script \\
Creating a Script tool \\
Labelling and defining parameters \\
Adding data types \\
Adding the Bus Stop feature class as a parameter \\
Adding the Census Block feature class as a parameter
\\
Adding the Census Block field as a parameter \\
Adding the output spreadsheet as a parameter \\
Adding the spreadsheet field names as a parameter \\
Adding the SQL Statement as a parameter \\
Adding the bus stop fields as a parameter \\
Inspecting the final script \\
Running the Script Tool \\
Summary \\
8. Introduction to ArcPy.Mapping \\
Using ArcPy with map documents \\
Inspecting and replacing layer sources \\
Fixing the broken links \\
Fixing the links of individual layers \\
Exporting to PDF from an MXD \\
Adjusting map document elements \\
Automated map document adjustment \\
The variables \\
The map document object and the text elements \\
The layer objects \\
Replacing the data sources \\
Adjusting layer visibility \\
Generating a buffer from the bus stops feature class
\\
Intersecting the bus stop buffer and census blocks \\
Populating the selected bus stop and buffer feature
classes \\
Updating the text elements \\
Exporting the adjusted map to PDF \\
Running the script in the Python Window \\
Summary \\
9. More ArcPy.Mapping Techniques \\
Using arcpy.mapping to control Layer objects \\
Layer object methods and properties \\
Definition queries \\
Controlling the data frame window extent and scale \\
Adding a Layer object \\
Exporting the maps \\
Summary \\
10. Advanced Geometry Object Methods \\
Creating a Python module \\
The __init__.py file \\
Adding advanced analysis components \\
Advanced Polygon object methods \\
Generating random points to represent population \\
Using the functions within a script \\
Creating an XLS using XLWT \\
Summary \\
11. Network Analyst and Spatial Analyst with ArcPy \\
The Network Analyst extension \\
Using Network Analyst \\
Creating a Feature Dataset \\
Importing the datasets \\
Creating the Network Dataset \\
Accessing the Network Dataset using ArcPy \\
Breaking down the script \\
The Network Analyst module \\
Accessing the Spatial Analyst Extension \\
Adding elevation to the bus stops \\
Using Map Algebra to generate elevation in feet \\
Adding in the bus stops and getting elevation values
\\
The final result \\
Summary \\
12. The End of the Beginning \\
Getting field information from feature classes \\
Accessing the ListFields' properties \\
List comprehensions \\
Creating the field information functions \\
Querying feature class information \\
Generating File Geodatabases and feature classes \\
Generating a feature class \\
Setting up the script tool parameters \\
Environmental settings \\
Resolution and tolerance settings \\
Summary \\
Index",
}
@Book{Ulloa:2015:KIA,
author = "Roberto Ulloa",
title = "{Kivy} --- interactive applications and games in
{Python}: create responsive cross-platform {UI/UX}
applications and games in {Python} and using the open
source {Kivy} library",
publisher = pub-PACKT,
address = pub-PACKT:adr,
edition = "Second",
pages = "206 (est.)",
year = "2015",
ISBN = "1-78528-692-7, 1-78528-438-X",
ISBN-13 = "978-1-78528-692-6, 978-1-78528-438-0",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:42:59 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785286926",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Application
software; Development; Cross-platform software
development; Development.; Cross-platform software
development.; Python (Computer program language)",
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. GUI Basics --- Building an Interface \\
Basic interface --- Hello World! \\
Basic widgets --- labels and buttons \\
Layouts \\
Embedding layouts \\
PageLayout --- swiping pages \\
Our project --- Comic Creator \\
Summary \\
2. Graphics --- the Canvas \\
Understanding the canvas \\
Drawing basic shapes \\
Adding images, colors, and backgrounds \\
Structuring graphic instructions \\
Rotating, translating, and scaling the coordinate space
\\
Comic Creator: PushMatrix and PopMatrix \\
Summary \\
3. Widget Events --- Binding Actions \\
Attributes, ID, and root \\
Basic widget events --- dragging the stickman \\
Localizing coordinates --- adding stickmen \\
Binding and unbinding events --- sizing limbs and heads
\\
Binding events in the Kivy language \\
Creating your own events --- the magical properties \\
Kivy and its properties \\
Summary \\
4. Improving the User Experience \\
ScreenManager --- selecting colors for the figures \\
Color control on the canvas --- coloring figures \\
StencilView --- limiting the drawing space \\
Scatter --- multi-touching to drag, rotate, and scale
\\
Recording gestures --- line, circle, and cross \\
Recognizing gestures --- drawing with the finger \\
Behaviors --- enhancing widget's functionality \\
Style --- decorating the interface \\
Factory --- replacing a vertex instruction \\
Summary \\
5. Invaders Revenge --- an Interactive Multi-touch Game
\\
Invaders Revenge --- an animated multi-touch game \\
Atlas --- An efficient management of images \\
Boom --- simple sound effects \\
Ammo --- simple animation \\
Invader --- transitions for animations \\
Dock --- automatic binding in the Kivy language \\
Fleet --- infinite concatenation of animations \\
Scheduling events with the clock \\
Shooter --- multi-touch control \\
Invasion --- moving the shooter with the keyboard \\
Combining animations with '+' and '&' \\
Summary \\
6. Kivy Player --- a TED Video Streamer \\
Video --- play, pause, and stop \\
AsyncImage --- creating a cover for the video \\
Subtitles --- tracking the video progression \\
Control bar --- adding buttons to control the video \\
Slider --- including a progression bar \\
Animation --- hiding a widget \\
Kivy inspector --- debugging interfaces \\
ActionBar --- a responsive bar \\
LoadDialog --- displaying a directory of files \\
ScrollView --- displaying a list of videos \\
Search --- query the TED Developer API \\
Summary \\
Index",
}
@Article{Verschelde:2015:PHC,
author = "Jan Verschelde and Xiangcheng Yu",
title = "Polynomial homotopy continuation on {GPUs}",
journal = j-ACM-COMM-COMP-ALGEBRA,
volume = "49",
number = "4",
pages = "130--133",
month = dec,
year = "2015",
CODEN = "????",
DOI = "https://doi.org/10.1145/2893803.2893810",
ISSN = "1932-2232 (print), 1932-2240 (electronic)",
ISSN-L = "1932-2232",
bibdate = "Wed Feb 17 16:05:57 MST 2016",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigsam.bib",
abstract = "The purpose of the software presentation is to
announce a library to track many solution paths defined
by a polynomial homotopy on a Graphics Processing Unit
(GPU). Developed on NVIDIA graphics cards with CUDA
SDKs, our code is released under the GNU GPL license.
Via the C interface to PHCpack, we can call our GPU
library from Python.",
acknowledgement = ack-nhfb,
fjournal = "ACM Communications in Computer Algebra",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1000",
}
@Article{Vitousek:2015:DEG,
author = "Michael M. Vitousek and Andrew M. Kent and Jeremy G.
Siek and Jim Baker",
title = "Design and evaluation of gradual typing for {Python}",
journal = j-SIGPLAN,
volume = "50",
number = "2",
pages = "45--56",
month = feb,
year = "2015",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2775052.2661101",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Combining static and dynamic typing within the same
language offers clear benefits to programmers. It
provides dynamic typing in situations that require
rapid prototyping, heterogeneous data structures, and
reflection, while supporting static typing when safety,
modularity, and efficiency are primary concerns. Siek
and Taha (2006) introduced an approach to combining
static and dynamic typing in a fine-grained manner
through the notion of type consistency in the static
semantics and run-time casts in the dynamic semantics.
However, many open questions remain regarding the
semantics of gradually typed languages. In this paper
we present Reticulated Python, a system for
experimenting with gradual-typed dialects of Python.
The dialects are syntactically identical to Python 3
but give static and dynamic semantics to the type
annotations already present in Python 3. Reticulated
Python consists of a typechecker and a source-to-source
translator from Reticulated Python to Python 3. Using
Reticulated Python, we evaluate a gradual type system
and three approaches to the dynamic semantics of
mutable objects: the traditional semantics based on
Siek and Taha (2007) and Herman et al. (2007) and two
new designs. We evaluate these designs in the context
of several third-party Python programs.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '14 conference proceedings.",
}
@Book{Weiming:2015:MPF,
author = "James Ma Weiming",
title = "Mastering {Python} for finance: understand, design,
and implement state-of-the-art mathematical and
statistical applications used in finance with
{Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "xv + 312",
year = "2015",
ISBN = "1-78439-451-3",
ISBN-13 = "978-1-78439-451-6",
LCCN = "????",
bibdate = "Fri Oct 23 17:26:50 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
acknowledgement = ack-nhfb,
remark = "{\'I}ndices.",
subject = "Python (Lenguaje de programaci{\'o}n); Finanzas;
M{\'e}todos estad{\'i}sticos; Procesamiento en lenguaje
natural (Inform{\'a}tica)",
tableofcontents = "Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Python for Financial Applications \\
Is Python for me? \\
Free and open source \\
High-level, powerful, and flexible \\
A wealth of standard libraries \\
Objected-oriented versus functional programming \\
The object-oriented approach \\
The functional approach \\
Which approach should I use? \\
Which Python version should I use? \\
Introducing IPython \\
Getting IPython \\
Using pip \\
The IPython Notebook \\
Notebook documents \\
Running the IPython Notebook \\
Creating a new notebook \\
Notebook cells \\
Code cell \\
Markdown cell \\
Raw NBConvert cell \\
Heading cells \\
Simple exercises with IPython Notebook \\
Creating a notebook with heading and Markdown cells \\
Saving notebooks \\
Mathematical operations in cells \\
Displaying graphs \\
Inserting equations \\
Displaying images \\
Inserting YouTube videos \\
Working with HTML \\
The pandas DataFrame object as an HTML table \\
Notebook for finance \\
Summary \\
2. The Importance of Linearity in Finance \\
The capital asset pricing model and the security market
line \\
The Arbitrage Pricing Theory model \\
Multivariate linear regression of factor models \\
Linear optimization \\
Getting PuLP \\
A simple linear optimization problem \\
Outcomes of linear programs \\
Integer programming \\
An example of an integer programming model with binary
conditions \\
A different approach with binary conditions \\
Solving linear equations using matrices \\
The LU decomposition \\
The Cholesky decomposition \\
The QR decomposition \\
Solving with other matrix algebra methods \\
The Jacobi method \\
The Gauss-Seidel method \\
Summary \\
3. Nonlinearity in Finance \\
Nonlinearity modeling \\
Examples of nonlinear models \\
The implied volatility model \\
The Markov regime-switching model \\
The threshold autoregressive model \\
Smooth transition models \\
An introduction to root-finding \\
Incremental search \\
The bisection method \\
Newton's method \\
The secant method \\
Combining root-finding methods \\
SciPy implementations \\
Root-finding scalar functions \\
General nonlinear solvers \\
Summary \\
4. Numerical Procedures \\
Introduction to options \\
Binomial trees in options pricing \\
Pricing European options \\
Are these formulas relevant to stocks? What about
futures? \\
Writing the StockOption class \\
Writing the BinomialEuropeanOption class \\
Pricing American options with the BinomialTreeOption
class \\
The Cox-Ross-Rubinstein model \\
Writing the BinomialCRROption class \\
Using a Leisen-Reimer tree \\
Writing the BinomialLROption class \\
The Greeks for free \\
Writing the BinomialLRWithGreeks class \\
Trinomial trees in options pricing \\
Writing the TrinomialTreeOption class \\
Lattices in options pricing \\
Using a binomial lattice \\
Writing the BinomialCRROption class \\
Using the trinomial lattice \\
Writing the TrinomialLattice class \\
Finite differences in options pricing \\
The explicit method \\
Writing the FiniteDifferences class \\
Writing the FDExplicitEu class \\
The implicit method \\
Writing the FDImplicitEu class \\
The Crank-Nicolson method \\
Writing the FDCnEu class \\
Pricing exotic barrier options \\
A down-and-out option \\
Writing the FDCnDo class \\
American options pricing with finite differences \\
Writing the FDCnAm class \\
Putting it all together --- implied volatility modeling
\\
Implied volatilities of AAPL American put option \\
Summary \\
5. Interest Rates and Derivatives \\
Fixed-income securities \\
Yield curves \\
Valuing a zero-coupon bond \\
Spot and zero rates \\
Bootstrapping a yield curve \\
Forward rates \\
Calculating the yield to maturity \\
Calculating the price of a bond \\
Bond duration \\
Bond convexity \\
Short-rate modeling \\
The Vasicek model \\
The Cox-Ingersoll-Ross model \\
The Rendleman and Bartter model \\
The Brennan and Schwartz model \\
Bond options \\
Callable bonds \\
Puttable bonds \\
Convertible bonds \\
Preferred stocks \\
Pricing a callable bond option \\
Pricing a zero-coupon bond by the Vasicek model \\
Value of early-exercise \\
Policy iteration by finite differences \\
Other considerations in callable bond pricing \\
Summary \\
6. Interactive Financial Analytics with Python and
VSTOXX \\
Volatility derivatives \\
STOXX and the Eurex \\
The EURO STOXX 50 Index \\
The VSTOXX \\
The VIX \\
Gathering the EUROX STOXX 50 Index and VSTOXX data \\
Merging the data \\
Financial analytics of SX5E and V2TX \\
Correlation between SX5E and V2TX \\
Calculating the VSTOXX sub-indices \\
Getting the OESX data \\
Formulas to calculate the VSTOXX sub-index \\
Implementation of the VSTOXX sub-index value \\
Analyzing the results \\
Calculating the VSTOXX main index \\
Summary \\
7. Big Data with Python \\
Introducing big data \\
Hadoop for big data \\
HDFS \\
YARN \\
MapReduce \\
Is big data for me? \\
Getting Apache Hadoop \\
Getting a QuickStart VM from Cloudera \\
Getting VirtualBox \\
Running Cloudera VM on VirtualBox \\
A word count program in Hadoop \\
Downloading sample data \\
The map program \\
The reduce program \\
Testing our scripts \\
Running MapReduce on Hadoop \\
Hue for browsing HDFS \\
Going deeper --- Hadoop for finance \\
Obtaining IBM stock prices from Yahoo! Finance \\
Modifying the map program \\
Testing our map program with IBM stock prices \\
Running MapReduce to count intraday price changes \\
Performing analysis on our MapReduce results \\
Introducing NoSQL \\
Getting MongoDB \\
Creating the data directory and running MongoDB \\
Running MongoDB from Windows \\
Running MongoDB from Mac OS X \\
Getting PyMongo \\
Running a test connection \\
Getting a database \\
Getting a collection \\
Inserting a document \\
Fetching a single document \\
Deleting documents \\
Batch-inserting documents \\
Counting documents in the collection \\
Finding documents \\
Sorting documents \\
Conclusion \\
Summary \\
8. Algorithmic Trading \\
Introduction to algorithmic trading \\
List of trading platforms with public API \\
Which is the best programming language to use? \\
System functionalities \\
Algorithmic trading with Interactive Brokers and IbPy
\\
Getting Interactive Brokers' Trader WorkStation \\
Getting IbPy --- the IB API wrapper \\
A simple order routing mechanism \\
Building a mean-reverting algorithmic trading system
\\
Setting up the main program \\
Handling events \\
Implementing the mean-reverting algorithm \\
Tracking our positions \\
Forex trading with OANDA API \\
What is REST? \\
Setting up an OANDA account \\
Exploring the API \\
Getting oandapy --- the OANDA REST API wrapper \\
Getting and parsing rates data \\
Sending an order \\
Building a trend-following forex trading platform \\
Setting up the main program \\
Handling events \\
Implementing the trend-following algorithm \\
Tracking our positions \\
VaR for risk management \\
Summary \\
9. Backtesting \\
An introduction to backtesting \\
Concerns in backtesting \\
Concept of an event-driven backtesting system \\
Designing and implementing a backtesting system \\
The TickData class \\
The MarketData class \\
The MarketDataSource class \\
The Order class \\
The Position class \\
The Strategy class \\
The MeanRevertingStrategy class \\
The Backtester class \\
Running our backtesting system \\
Improving your backtesting system \\
Ten considerations for a backtesting model \\
Resources restricting your model \\
Criteria of evaluation of the model \\
Estimating the quality of backtest parameters \\
Be prepared to face model risk \\
Performance of a backtest with in-sample data \\
Addressing common pitfalls in backtesting \\
Have a common sense idea of your model \\
Understanding the context for the model \\
Make sure you have the right data \\
Data mine your results \\
Discussion of algorithms in backtesting \\
K-means clustering \\
K-nearest neighbor machine learning algorithm \\
Classification and regression tree analysis \\
The 2k factorial design \\
The genetic algorithm \\
Summary \\
10. Excel with Python \\
Overview of COM \\
Excel for finance \\
Building a COM server \\
Prerequisites \\
Getting the pythoncom module \\
Building the Black-Scholes model COM server \\
Registering and unregistering the COM server \\
Building the Cox-Ross-Rubinstein binomial tree model
COM server \\
Building the trinomial lattice model COM server \\
Building the COM client in Excel \\
Setting up the VBA code \\
Setting up the cells \\
What else can I do with COM? \\
Summary \\
Index",
}
@Article{Weppner:2015:DPS,
author = "Stephen Weppner",
title = "A different perspective on scientific programming
[review of {``Annotated algorithms in Python; with
applications in physics, biology, and finance' (Di
Pierro, M.; 2013)}]",
journal = j-COMPUT-SCI-ENG,
volume = "17",
number = "1",
pages = "6--7",
month = jan # "\slash " # feb,
year = "2015",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Fri Feb 13 08:04:42 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://csdl.computer.org/csdl/mags/cs/2015/01/mcs2015010006.pdf",
abstract-URL = "http://csdl.computer.org/csdl/mags/cs/2015/01/mcs2015010006-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Westra:2015:PGA,
author = "Erik Westra",
title = "{Python} geospatial analysis essentials: process,
analyze, and display geospatial data using {Python}
libraries and related tools",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "ume",
year = "2015",
ISBN = "1-78355-389-8, 1-78217-451-6",
ISBN-13 = "978-1-78355-389-1, 978-1-78217-451-6",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:53:32 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community experience distilled",
URL = "http://proquest.safaribooksonline.com/?fpi=9781782174516",
acknowledgement = ack-nhfb,
tableofcontents = "Credits \\
About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why subscribe? \\
Free access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Geospatial Analysis and Techniques \\
About geospatial analysis \\
Understanding geospatial data \\
Setting up your Python installation \\
Installing GDAL \\
Installing Shapely \\
Obtaining some geospatial data \\
Unlocking the shapefile \\
Analyzing the data \\
A program to identify neighboring countries \\
Summary \\
2. Geospatial Data \\
Geospatial data quality \\
Types of geospatial data \\
Shapefiles \\
Well-known text \\
Well-known binary \\
Spatial databases \\
Geospatial microformats \\
GeoJSON \\
GML \\
Digital elevation models \\
Raster basemaps \\
Multiband raster files \\
Sources of freely available geospatial data \\
Natural Earth Data \\
OpenStreetMap \\
US Census Bureau \\
World Borders Dataset \\
GLOBE \\
National Elevation Dataset \\
Reading and writing geospatial data using Python \\
Reading vector data \\
Writing vector data \\
Reading raster data \\
Writing raster data \\
Dealing with spatial reference systems \\
WGS84 \\
Universal Transverse Mercator \\
Describing spatial reference systems \\
Transforming coordinates \\
Calculating lengths and areas \\
Geospatial data errors and how to fix them \\
Points \\
LineStrings \\
Linear Rings \\
Polygons \\
MultiPolygons \\
Fixing invalid geometries \\
Summary \\
3. Spatial Databases \\
Spatial database concepts \\
Installing a spatial database \\
Installing PostgreSQL \\
Installing PostGIS \\
Installing psycopg2 \\
Accessing PostGIS from Python \\
Setting up a spatial database \\
Importing spatial data \\
Querying spatial data \\
Manipulating spatial data \\
Exporting spatial data \\
Summary \\
4. Creating Maps \\
Introducing Mapnik \\
Installing Mapnik \\
A taste of Mapnik \\
Building a map \\
Styling a map \\
Learning Mapnik \\
Datasources \\
Symbolizers \\
PointSymbolizer \\
LineSymbolizer \\
PolygonSymbolizer \\
TextSymbolizer \\
RasterSymbolizer \\
Map rendering \\
A working example \\
Next steps \\
Summary \\
5. Analyzing Geospatial Data \\
Libraries for spatial analysis \\
PyProj \\
NetworkX \\
Spatial analysis recipes \\
Calculating and comparing coordinates \\
Calculating lengths \\
Calculating areas \\
Calculating shortest paths \\
Summary \\
6. Building a Complete Geospatial Analysis System \\
Matching GPS data against a map \\
An overview of the GPS Heatmap system \\
Obtaining the necessary data \\
Obtaining GPS data \\
Downloading the road data \\
Implementing the GPS Heatmap system \\
Initializing the database \\
Importing the road data \\
Splitting the road data into segments \\
Constructing a network of directed road segments \\
Implementing the map matching algorithm \\
Generating the GPS heatmap \\
Further improvements \\
Summary \\
Index",
}
@Article{Wittek:2015:ANS,
author = "Peter Wittek",
title = "Algorithm 950: {Ncpol2sdpa} --- Sparse Semidefinite
Programming Relaxations for Polynomial Optimization
Problems of Noncommuting Variables",
journal = j-TOMS,
volume = "41",
number = "3",
pages = "21:1--21:12",
month = jun,
year = "2015",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2699464",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Jun 3 17:59:32 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
abstract = "A hierarchy of semidefinite programming (SDP)
relaxations approximates the global optimum of
polynomial optimization problems of noncommuting
variables. Generating the relaxation, however, is a
computationally demanding task, and only problems of
commuting variables have efficient generators. We
develop an implementation for problems of noncommuting
variables that creates the relaxation to be solved by
SDPA --- a high-performance solver that runs in a
distributed environment. We further exploit the
inherent sparsity of optimization problems in quantum
physics to reduce the complexity of the resulting
relaxations. Constrained problems with a relaxation of
order two may contain up to a hundred variables. The
implementation is available in Python. The tool helps
solve such as finding the ground state energy or
testing quantum correlations.",
acknowledgement = ack-nhfb,
articleno = "21",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Yesylevskyy:2015:SNU,
author = "Semen O. Yesylevskyy",
title = "Software News and Updates: {Pteros 2.0}: {Evolution}
of the fast parallel molecular analysis library for
{C++} and {Python}",
journal = j-J-COMPUT-CHEM,
volume = "36",
number = "19",
pages = "1480--1488",
day = "15",
month = jul,
year = "2015",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.23943",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Sat Jul 25 20:32:35 MDT 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "14 May 2015",
}
@Book{Zaccone:2015:PPP,
author = "Giancarlo Zaccone",
title = "{Python} parallel programming cookbook: master
efficient parallel programming to build powerful
applications using {Python}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "286 (est.)",
year = "2015",
ISBN = "1-78528-958-6, 1-78528-672-2",
ISBN-13 = "978-1-78528-958-3, 978-1-78528-672-8",
LCCN = "QA76.73.P98",
bibdate = "Fri Oct 23 16:05:51 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Quick answers to common problems",
URL = "http://proquest.safaribooksonline.com/?fpi=9781785289583",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Parallel
programming (Computer science); Application software;
Development",
tableofcontents = "About the Author \\
About the Reviewers \\
www.PacktPub.com \\
Support files, eBooks, discount offers, and more \\
Why Subscribe? \\
Free Access for Packt account holders \\
Preface \\
What this book covers \\
What you need for this book \\
Who this book is for \\
Sections \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
See also \\
Conventions \\
Reader feedback \\
Customer support \\
Downloading the example code \\
Errata \\
Piracy \\
Questions \\
1. Getting Started with Parallel Computing and Python
\\
Introduction \\
The parallel computing memory architecture \\
SISD \\
MISD \\
SIMD \\
MIMD \\
Memory organization \\
Shared memory \\
Distributed memory \\
Massively parallel processing \\
A cluster of workstations \\
The heterogeneous architecture \\
Parallel programming models \\
The shared memory model \\
The multithread model \\
The message passing model \\
The data parallel model \\
How to design a parallel program \\
Task decomposition \\
Task assignment \\
Agglomeration \\
Mapping \\
Dynamic mapping \\
Manager/worker \\
Hierarchical manager/worker \\
Decentralize \\
How to evaluate the performance of a parallel program
\\
Speedup \\
Efficiency \\
Scaling \\
Amdahl's law \\
Gustafson's law \\
Introducing Python \\
Getting ready \\
How to do it \ldots{} \\
Python in a parallel world \\
Introducing processes and threads \\
Start working with processes in Python \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Start working with threads in Python \\
How to do it \ldots{} \\
How it works \ldots{} \\
2. Thread-based Parallelism \\
Introduction \\
Using the Python threading module \\
How to define a thread \\
How to do it \ldots{} \\
How it works \ldots{} \\
How to determine the current thread \\
How to do it \ldots{} \\
How it works \ldots{} \\
How to use a thread in a subclass \\
How to do it \ldots{} \\
How it works \ldots{} \\
Thread synchronization with Lock and RLock \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Thread synchronization with RLock \\
How to do it \ldots{} \\
How it works \ldots{} \\
Thread synchronization with semaphores \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Thread synchronization with a condition \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Thread synchronization with an event \\
How to do it \ldots{} \\
How it works \ldots{} \\
Using the with statement \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Thread communication using a queue \\
How to do it \ldots{} \\
How it works \ldots{} \\
Evaluating the performance of multithread applications
\\
How to do it \ldots{} \\
How it works \ldots{} \\
The first test \\
The second test \\
The third test \\
The fourth test \\
There's more \ldots{} \\
3. Process-based Parallelism \\
Introduction \\
How to spawn a process \\
How to do it \\
How it works \\
There's more \\
How to name a process \\
How to do it \\
How it works \\
How to run a process in the background \\
How to do it \\
How it works \\
There's more \\
How to kill a process \\
How to do it \\
How it works \\
How to use a process in a subclass \\
How to do it \\
How it works \\
How to exchange objects between processes \\
Using queue to exchange objects \\
How to do it \\
How it works \\
There's more \\
Using pipes to exchange objects \\
How to do it \\
How it works \\
How to synchronize processes \\
How to do it \\
How it works \\
How to manage a state between processes \\
How to do it \\
How it works \\
How to use a process pool \\
How to do it \ldots{} \\
How it works \ldots{} \\
Using the mpi4py Python module \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Point-to-point communication \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Avoiding deadlock problems \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Collective communication using broadcast \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Collective communication using scatter \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Collective communication using gather \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Collective communication using Alltoall \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The reduction operation \\
How to do it \ldots{} \\
How it works \ldots{} \\
How to optimize communication \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
4. Asynchronous Programming \\
Introduction \\
Using the concurrent.futures Python modules \\
Dealing with the process and thread pool \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Event loop management with Asyncio \\
What is an event loop \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Handling coroutines with Asyncio \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Task manipulation with Asyncio \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Dealing with Asyncio and Futures \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
5. Distributed Python \\
Introduction \\
Using Celery to distribute tasks \\
How to do it \ldots{} \\
See also \\
How to create a task with Celery \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Scientific computing with SCOOP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Handling map functions with SCOOP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Remote Method Invocation with Pyro4 \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Chaining objects with Pyro4 \\
How to do it \ldots{} \\
How it works \ldots{} \\
Developing a client-server application with Pyro4 \\
How to do it \ldots{} \\
How it works \ldots{} \\
Communicating sequential processes with PyCSP \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using MapReduce with Disco \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
A remote procedure call with RPyC \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
6. GPU Programming with Python \\
Introduction \\
Using the PyCUDA module \\
A hybrid programming model \\
The kernel and thread hierarchy \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
See also \\
How to build a PyCUDA application \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Understanding the PyCUDA memory model with matrix
manipulation \\
How to do it \ldots{} \\
How it works \ldots{} \\
Kernel invocations with GPUArray \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Evaluating element-wise expressions with PyCUDA \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
The MapReduce operation with PyCUDA \\
How to do it \ldots{} \\
How it works \ldots{} \\
GPU programming with NumbaPro \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
Using GPU-accelerated libraries with NumbaPro \\
How to do it \ldots{} \\
How it works \ldots{} \\
There's more \ldots{} \\
Using the PyOpenCL module \\
Getting ready \\
How to do it \ldots{} \\
How it works \ldots{} \\
How to build a PyOpenCL application \\
How to do it \ldots{} \\
How it works \ldots{} \\
Evaluating element-wise expressions with PyOpenCl \\
How to do it \ldots{} \\
How it works \ldots{} \\
Testing your GPU application with PyOpenCL \\
How to do it \ldots{} \\
How it works \ldots{} \\
Index",
}
@Article{Aakerblom:2016:MPP,
author = "Beatrice {\AA}kerblom and Tobias Wrigstad",
title = "Measuring polymorphism in {Python} programs",
journal = j-SIGPLAN,
volume = "51",
number = "2",
pages = "114--128",
month = feb,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2936313.2816717",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Jun 9 17:13:58 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Following the increased popularity of dynamic
languages and their increased use in critical software,
there have been many proposals to retrofit static type
system to these languages to improve possibilities to
catch bugs and improve performance. A key question for
any type system is whether the types should be
structural, for more expressiveness, or nominal, to
carry more meaning for the programmer. For retrofitted
type systems, it seems the current trend is using
structural types. This paper attempts to answer the
question to what extent this extra expressiveness is
needed, and how the possible polymorphism in dynamic
code is used in practise. We study polymorphism in 36
real-world open source Python programs and approximate
to what extent nominal and structural types could be
used to type these programs. The study is based on
collecting traces from multiple runs of the programs
and analysing the polymorphic degrees of targets at
more than 7 million call-sites. Our results show that
while polymorphism is used in all programs, the
programs are to a great extent monomorphic. The
polymorphism found is evenly distributed across
libraries and program-specific code and occur both
during program start-up and normal execution. Most
programs contain a few ``megamorphic'' call-sites where
receiver types vary widely. The non-monomorphic parts
of the programs can to some extent be typed with
nominal or structural types, but none of the approaches
can type entire programs.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '15 conference proceedings.",
}
@Book{Balbaert:2016:JHP,
author = "Ivo Balbaert and Avik Sengupta and Malcolm
Sherrington",
title = "{Julia}: high performance programming: learning path:
leverage the power of {Julia} to design and develop
high performing programs",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "697",
year = "2016",
ISBN = "1-78712-570-X, 1-78712-610-2 (e-book)",
ISBN-13 = "978-1-78712-570-4, 978-1-78712-610-7 (e-book)",
LCCN = "QA76.7 .B353 2016",
bibdate = "Thu Apr 8 16:55:30 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Learning path",
abstract = "Leverage the power of Julia to design and develop high
performing programs About This Book Get to know the
best techniques to create blazingly fast programs with
Julia Stand out from the crowd by developing code that
runs faster than your peers' code Complete an extensive
data science project through the entire cycle from ETL
to analytics and data visualization Who This Book Is
For This learning path is for data scientists and for
all those who work in technical and scientific
computation projects. It will be great for Julia
developers who are interested in high-performance
technical computing. This learning path assumes that
you already have some basic working knowledge of
Julia's syntax and high-level dynamic languages such as
MATLAB, R, Python, or Ruby. What You Will Learn Set up
your Julia environment to achieve the highest
productivity Solve your tasks in a high-level dynamic
language and use types for your data only when needed
Apply Julia to tackle problems concurrently and in a
distributed environment Get a sense of the
possibilities and limitations of Julia's performance
Use Julia arrays to write high performance code Build a
data science project through the entire cycle of ETL,
analytics, and data visualization Display graphics and
visualizations to carry out modeling and simulation in
Julia Develop your own packages and contribute to the
Julia Community In Detail In this learning path, you
will learn to use an interesting and dynamic
programming language - Julia! You will get a chance to
tackle your numerical and data problems with Julia.
You'll begin the journey by setting up a running Julia
platform before exploring its various built-in types.
We'll then move on to the various functions and
constructs in Julia. We'll walk through the two
important collection types - arrays and matrices in
Julia. You will dive into how Julia uses type
information to achieve its performance goals, and how
to use multiple dispatch to help the compiler emit high
performance machine code. You will see how Julia's
design makes code fast, and you'll see its distributed
computing capabilities. By the end of this learning
path, you will see how data works using simple
statistics and analytics, and you'll discover its high
and dynamic performance - its real strength, which
makes it particularly useful in highly intensive
computing tasks. This learning path combines some of
the best that Packt has to offer in one complete,
curated package.",
acknowledgement = ack-nhfb,
keywords = "Closures and anonymous functions.",
subject = "Programming languages; Julia; Computer programming;
COMPUTERS; General.; Computer programming.",
tableofcontents = "Preface \\
Table of Contents \\
Module 1: Getting Started with Julia \\
The Rationale for Julia \\
The scope of Julia \\
Julia's place among the other programming languages \\
A comparison with other languages for the data
scientist \\
Useful links \\
Summary \\
1: Installing the Julia Platform \\
Installing Julia \\
Working with Julia's shell \\
Startup options and Julia scripts \\
Packages \\
Installing and working with Julia Studio \\
Installing and working with IJulia \\
Installing Sublime-IJulia \\
Installing Juno \\
Other editors and IDEs \\
How Julia works \\
Summary \\
2: Variables, Types, and Operations \\
Variables, naming conventions, and comments \\
Types \\
Integers \\
Floating point numbers \\
Elementary mathematical functions and operations \\
Rational and complex numbers \\
Characters \\
Strings \\
Regular expressions \\
Ranges and arrays \\
Dates and times \\
Scope and constants \\
Summary \\
3: Functions \\
Defining functions \\
Optional and keyword arguments \\
Anonymous functions \\
First-class functions and closures \\
Recursive functions \\
Map, filter, and list comprehensions \\
Generic functions and multiple dispatch \\
Summary \\
4: Control Flow \\
Conditional evaluation \\
Repeated evaluation \\
Exception handling \\
Scope revisited \\
Tasks \\
Summary \\
5: Collection Types \\
Matrices \\
Tuples \\
Dictionaries \\
Sets \\
Example project \\
word frequency \\
Summary \\
6: More on Types, Methods, and Modules \\
Type annotations and conversions \\
The type hierarchy \\
subtypes and supertypes \\
User-defined and composite types \\
Types and collections \\
inner constructors \\
Type unions \\
Parametric types and methods \\
Standard modules and paths \\
Summary \\
7: Metaprogramming in Julia \\
Expressions and symbols \\
Eval and interpolation \\
Defining macros \\
Built-in macros \\
Reflection capabilities \\
Summary \\
8: I/O, Networking, and Parallel Computing \\
Basic input and output \\
Working with files \\
Using DataFrames \\
Working with TCP sockets and servers \\
Interacting with databases \\
Parallel operations and computing \\
Summary \\
9: Running External Programs \\
Running shell commands \\
Calling C and FORTRAN \\
Calling Python \\
Performance tips \\
Summary \\
10: The Standard Library and Packages \\
Digging deeper into the standard library \\
Julia's package manager \\
Publishing a package \\
Graphics in Julia \\
Using Gadfly on data \\
Summary \\
Appendix: List of Macros and Packages \\
Macros \\
List of packages \\
Module 2: Julia High Performance \\
1: Julia is Fast \\
Julia \\
fast and dynamic \\
Designed for speed \\
How fast can Julia be? \\
Summary \\
2: Analyzing Julia Performance \\
Timing Julia code \\
The Julia profiler \\
Analyzing memory allocation \\
Statistically accurate benchmarking \\
Summary \\
3: Types in Julia \\
The Julia type system \\
Type-stability \\
Kernel methods \\
Types in storage locations \\
Summary \\
4: Functions and Macros \\
Structuring Julia Code for High Performance \\
Using globals \\
Inlining",
}
@Article{Bauer:2016:PEM,
author = "Martin Bauer and Florian Schornbaum and Christian
Godenschwager and Matthias Markl and Daniela Anderl and
Harald K{\"o}stler and Ulrich R{\"u}de",
title = "A {Python} extension for the massively parallel
multiphysics simulation framework {waLBerla}",
journal = j-INT-J-PAR-EMER-DIST-SYS,
volume = "31",
number = "6",
pages = "529--542",
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.1080/17445760.2015.1118478",
ISSN = "1744-5760 (print), 1744-5779 (electronic)",
ISSN-L = "1744-5760",
bibdate = "Tue Nov 15 11:55:07 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/intjparemerdistsys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
http://www.tandfonline.com/toc/gpaa20/31/6",
acknowledgement = ack-nhfb,
fjournal = "International Journal of Parallel, Emergent and
Distributed Systems: IJPEDS",
journal-URL = "http://www.tandfonline.com/loi/gpaa20",
onlinedate = "01 Sep 2015",
}
@Article{Beckham:2016:PWC,
author = "Christopher Beckham and Mark Hall and Eibe Frank",
title = "\pkg{WekaPyScript}: Classification, Regression, and
Filter Schemes for {WEKA} Implemented in {Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e33--??",
day = "08",
month = aug,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.108",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.108/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Constantine:2016:PPA,
author = "Paul Constantine and Ryan Howard and Andrew Glaws and
Zachary Grey and Paul Diaz and Leslie Fletcher",
title = "\pkg{Python} Active-subspaces Utility Library",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "5",
pages = "79:1--79:1",
month = sep,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00079",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00079",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "29 September 2016",
ORCID-numbers = "Paul Constantine / 0000-0003-3726-6307",
}
@Article{Cooper:2016:PPP,
author = "Christopher D. Cooper and Natalia C. Clementi and
Gilbert Forsyth and Lorena A. Barba",
title = "\pkg{PyGBe}: {Python}, {GPUs} and Boundary elements
for biomolecular electrostatics",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "4",
pages = "43:1--43:1",
month = aug,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00043",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00043",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "18 August 2016",
ORCID-numbers = "Christopher D. Cooper / 0000-0003-0282-8998; Natalia
C. Clementi / 0000-0002-0575-5520; Gilbert Forsyth /
0000-0002-4983-1978; Lorena A. Barba /
0000-0001-5812-2711",
}
@Article{Dagkakis:2016:MOS,
author = "Georgios Dagkakis and Ioannis Papagiannopoulos and
Cathal Heavey",
title = "{ManPy}: an open-source software tool for building
discrete event simulation models of manufacturing
systems",
journal = j-SPE,
volume = "46",
number = "7",
pages = "955--981",
month = jul,
year = "2016",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.2347",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Tue Jan 30 07:39:48 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
keywords = "discrete event simulation, open source, Python, SimPy,
ManPy",
}
@Article{Feeley:2016:CML,
author = "Marc Feeley",
title = "Compiling for multi-language task migration",
journal = j-SIGPLAN,
volume = "51",
number = "2",
pages = "63--77",
month = feb,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2936313.2816713",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Jun 9 17:13:58 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Task migration allows a running program to continue
its execution in a different destination environment.
Increasingly, execution environments are defined by
combinations of cultural and technological constraints,
affecting the choice of host language, libraries and
tools. A compiler supporting multiple target
environments and task migration must be able to marshal
continuations and then unmarshal and continue their
execution, ideally, even if the language of the
destination environment is different. In this paper, we
propose a compilation approach based on a virtual
machine that strikes a balance between implementation
portability and efficiency. We explain its
implementation within a Scheme compiler targeting
JavaScript, PHP, Python, Ruby and Java --- some of the
most popular host languages for web applications. As
our experiments show, this approach compares well with
other Scheme compilers targeting high-level languages
in terms of execution speed, being sometimes up to 3
orders of magnitude faster.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '15 conference proceedings.",
}
@Article{Foreman-Mackey:2016:PCP,
author = "Daniel Foreman-Mackey",
title = "\pkg{corner.py}: Scatterplot matrices in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "2",
pages = "24:1--24:2",
month = jun,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00024",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00024",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "08 June 2016",
ORCID-numbers = "Daniel Foreman-Mackey / 0000-0002-9328-5652",
}
@Article{Greenhill:2016:PPP,
author = "Simon J. Greenhill",
title = "\pkg{Phylogemetric}: a {Python} library for
calculating phylogenetic network metrics",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "2",
pages = "28:1--28:1",
month = jun,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00028",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00028",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 June 2016",
ORCID-numbers = "Simon J. Greenhill / 0000-0001-7832-6156",
}
@Article{Gutierrez:2016:IDO,
author = "Christopher N. Gutierrez and Mohammed H. Almeshekah
and Eugene H. Spafford and Mikhail J. Atallah and Jeff
Avery",
title = "Inhibiting and Detecting Offline Password Cracking
Using {ErsatzPasswords}",
journal = j-TOPS,
volume = "19",
number = "3",
pages = "9:1--9:??",
month = dec,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.1145/2996457",
ISSN = "2471-2566 (print), 2471-2574 (electronic)",
ISSN-L = "2471-2566",
bibdate = "Mon Apr 3 09:09:39 MDT 2017",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/cryptography2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tops.bib",
abstract = "In this work, we present a simple, yet effective and
practical scheme to improve the security of stored
password hashes, increasing the difficulty to crack
passwords and exposing cracking attempts. We utilize a
hardware-dependent function (HDF), such as a physically
unclonable function (PUF) or a hardware security module
(HSM), at the authentication server to inhibit offline
password discovery. Additionally, a deception mechanism
is incorporated to alert administrators of cracking
attempts. Using an HDF to generate password hashes
hinders attackers from recovering the true passwords
without constant access to the HDF. Our scheme can
integrate with legacy systems without needing
additional servers, changing the structure of the
hashed password file, nor modifying client machines.
When using our scheme, the structure of the hashed
passwords file, e.g., etc/shadow or etc/master.passwd,
will appear no different than traditional hashed
password files.$^1$ However, when attackers exfiltrate
the hashed password file and attempt to crack it, the
passwords they will receive are ErsatzPasswords-``fake
passwords.'' The ErsatzPasswords scheme is flexible by
design, enabling it to be integrated into existing
authentication systems without changes to user
experience. The proposed scheme is integrated into the
pam\_unix module as well as two client/server
authentication schemes: Lightweight Directory Access
Protocol (LDAP) authentication and the Pythia
pseudorandom function (PRF) Service [Everspaugh et al.
2015]. The core library to support ErsatzPasswords
written in C and Python consists of 255 and 103 lines
of code, respectively. The integration of
ErsatzPasswords into each explored authentication
system required less than 100 lines of additional code.
Experimental evaluation of ErsatzPasswords shows an
increase in authentication latency on the order of
100ms, which maybe acceptable for real world systems.
We also describe a framework for implementing
ErsatzPasswords using a Trusted Platform Module
(TPM).",
acknowledgement = ack-nhfb,
articleno = "9",
fjournal = "ACM Transactions on Privacy and Security (TOPS)",
journal-URL = "http://dl.acm.org/citation.cfm?id=J1547",
}
@Book{Guttag:2016:ICP,
author = "John Guttag",
title = "Introduction to Computation and Programming Using
{Python}: with Application to Understanding Data",
publisher = pub-MIT,
address = pub-MIT:adr,
edition = "Second",
pages = "xvii + 447",
year = "2016",
ISBN = "0-262-52962-9 (paperback), 0-262-33738-X (e-book)",
ISBN-13 = "978-0-262-52962-4 (paperback), 978-0-262-33738-0
(e-book)",
LCCN = "QA76.73.P98 G88 2016",
bibdate = "Tue Jun 5 11:01:20 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/benfords-law.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "This book introduces students with little or no prior
programming experience to the art of computational
problem solving using Python and various Python
libraries, including PyLab. It provides students with
skills that will enable them to make productive use of
computational techniques, including some of the tools
and techniques of data science for using computation to
model and interpret data. The book is based on an MIT
course (which became the most popular course offered
through MIT's OpenCourseWare) and was developed for use
not only in a conventional classroom but in a massive
open online course (MOOC). This new edition has been
updated for Python 3, reorganized to make it easier to
use for courses that cover only a subset of the
material, and offers additional material including five
new chapters. Students are introduced to Python and the
basics of programming in the context of such
computational concepts and techniques as exhaustive
enumeration, bisection search, and efficient
approximation algorithms. Although it covers such
traditional topics as computational complexity and
simple algorithms, the book focuses on a wide range of
topics not found in most introductory texts, including
information visualization, simulations to model
randomness, computational techniques to understand
data, and statistical techniques that inform (and
misinform) as well as two related but relatively
advanced topics: optimization problems and dynamic
programming. This edition offers expanded material on
statistics and machine learning and new chapters on
Frequentist and Bayesian statistics.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Textbooks;
Computer programming",
tableofcontents = "Preface \\
1. Introduction \\
2: Introduction to Python: The basic elements of Python
\\
Objects, expressions, and numerical types \\
Variables and assignment \\
Python IDE's \\
Branching programs \\
Strings and input \\
Input \\
A digression about character encoding \\
Iteration \\
3: Some simple numerical programs: Exhaustive
enumeration \\
For loops \\
Approximate solutions and bisection search \\
Few words about using floats \\
Newton--Raphson \\
4: Functions, scoping, and abstraction: Functions and
scoping \\
Function definitions \\
Keyword arguments and default values \\
Scoping \\
Specifications \\
Recursion \\
Fibonacci numbers \\
Palindromes \\
Global variables \\
Modules \\
Files \\
5: Structured types, mutability, and higher-order
functions: Tuples \\
Sequences and multiple assignment \\
Ranges \\
Lists and mutability \\
Cloning \\
List comprehension \\
Functions as objects \\
Strings, tuples, ranges, and lists \\
Dictionaries \\
6: Testing and debugging: Testing \\
Black-box testing \\
Glass-box testing \\
Conducting tests \\
Debugging \\
Learning to debug \\
Designing the experiment \\
When the going gets tough \\
When you have found ``the'' bug \\
7: Exceptions and assertions: Handling exceptions \\
Exceptions as a control flow mechanism \\
Assertions \\
8: Classes and object-oriented programming: Abstract
data types and classes \\
Designing programs using abstract data types \\
Using classes to keep track of students and faculty \\
Inheritance \\
Multiple levels of inheritance \\
Substitution principle \\
Encapsulation and information hiding \\
Generators \\
Mortgages, an extended example \\
9: a simplistic introduction to algorithmic complexity:
Thinking about computational complexity \\
Asymptotic notation \\
Some important complexity classes \\
Constant complexity \\
Logarithmic complexity \\
Linear complexity \\
Log-linear complexity \\
Polynomial complexity \\
Exponential complexity \\
Comparisons of complexity classes \\
10: Some simple algorithms and data structures: Search
algorithms \\
Linear search and using indirection to access elements
\\
Binary search and exploiting assumptions \\
Sorting algorithms \\
Merge sort \\
Exploiting functions as parameters \\
Sorting in Python \\
Hash tables \\
11: Plotting and more about classes: Plotting using
PyLab \\
Plotting mortgages, an extended example \\
12: Knapsack and graph optimization problems: Knapsack
problems \\
Greedy algorithms \\
Optimal solution to the 0/1 Knapsack problem \\
Graph optimization problems \\
Some classic graph-theoretic problems \\
Shortest path : depth-first search and breadth-first
search \\
13: Dynamic programming: Fibonacci sequences, revisited
\\
Dynamic programming and the 0/1 Knapsack problem \\
Dynamic programming and divide-and-conquer \\
14: Random walks and more about data visualization:
Random walks \\
The drunkard's walk \\
Biased random walks \\
Treacherous fields \\
15: Stochastic programs, probability, and
distributions: Stochastic programs \\
Calculating simple probabilities \\
Inferential statistics \\
Distributions \\
Probability distributions \\
Normal distributions \\
Continuous and discrete uniform distributions \\
Binomial and multinomial distributions \\
Exponential and geometric distributions \\
Benford's distribution \\
Hashing and collisions \\
How often does the better team win? \\
16: Monte Carlo stimulation: Pascal's problem \\
Pass or don't pass? \\
Using table lookup to improve performance \\
Finding pi \\
Some closing remarks about simulation models \\
17: Sampling and confidence intervals: Sampling the
Boston Marathon \\
Central limit theorem \\
Standard error of the mean \\
18: Understanding experimental data: The behavior of
springs \\
Using linear regression to find a fit \\
The behavior of projectiles \\
Coefficient of determination \\
Using a computational model \\
Fitting exponentially distributed data \\
When theory is missing \\
19: Randomized trials and hypothesis checking: Checking
significance \\
Beware of P-values \\
One-tail and one-sample tests \\
Significant or not? \\
Which N? \\
Multiple hypotheses \\
20: Conditional probability and Bayesian statistics. :
Conditional probabilities \\
Bayes' theorem \\
Bayesian updating \\
21: Lies, damned lies, and statistics: Garbage in
garbage out (GIGO) \\
Tests are imperfect \\
Pictures can be deceiving \\
Cum hoc ergo propter hoc \\
Statistical measures don't tell the whole story \\
Sampling bias \\
Context matters \\
Beware of extrapolation \\
Texas sharpshooter fallacy \\
Percentages can confuse \\
Statistically significant differences can be
insignificant \\
Regressive fallacy \\
Just beware \\
22: a quick look at machine learning: Feature vectors
\\
Distance metrics \\
23: Clustering: Class cluster \\
K-means clustering \\
A contrived example \\
A less contrived example \\
24: Classification methods: Evaluating classifiers \\
Predicting the gender of runners \\
K-nearest neighbors \\
Regression-based classifiers \\
Surviving the Titanic \\
Wrapping up \\
Python 3.5 quick reference",
}
@Book{Haslwanter:2016:ISP,
author = "Thomas Haslwanter",
title = "An Introduction to Statistics with {Python}: With
Applications in the Life Sciences",
publisher = "Springer International Publishing",
address = "Cham, Switzerland",
pages = "xvii + 278",
year = "2016",
DOI = "https://doi.org/10.1007/978-3-319-28316-6",
ISBN = "3-319-28315-4 (hardcover), 3-319-28316-2 (e-book)",
ISBN-13 = "978-3-319-28315-9 (hardcover), 978-3-319-28316-6
(e-book)",
ISSN = "1431-8784",
LCCN = "QA276.4 .H38 2016",
bibdate = "Wed Oct 20 10:29:26 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Statistics and Computing",
abstract = "This text book provides an introduction to the free
software Python and its use for statistical data
analysis. It covers common statistical tests for
continuous, discrete and categorical data, as well as
linear regression analysis and topics from survival
analysis and Bayesian statistics. Working code and data
for Python solutions for each test, together with
easy-to-follow Python examples, can be reproduced by
the reader and reinforce their immediate understanding
of the topic. With recent advances in the Python
ecosystem, Python has become a popular language for
scientific computing, offering a powerful environment
for statistical data analysis and an interesting
alternative to R. The book is intended for master and
PhD students, mainly from the life and medical
sciences, with a basic knowledge of statistics. As it
also provides some statistics background, the book can
be used by anyone who wants to perform a statistical
data analysis.",
acknowledgement = ack-nhfb,
subject = "Programming languages (Electronic computers);
Biometry; Computer science; Mathematics; Statistics;
Biometry.; Mathematics.; Programming languages
(Electronic computers); Statistics.",
tableofcontents = "Python and Statistics \\
Why Statistics? \\
Python \\
Data input \\
Display of statistical data \\
Distributions and hypothesis tests \\
Background \\
Distributions of one variable \\
Hypothesis tests \\
Tests of means of numerical data \\
Tests on categorical data \\
Analysis of survival times \\
Statistical modelling \\
Linear regression models \\
Multivariate data analysis \\
Tests on discrete data \\
Bayesian statistics",
}
@Article{Helmus:2016:PAR,
author = "Jonathan Helmus and Scott Collis",
title = "The {Python ARM Radar Toolkit (\pkg{Py-ART})}, a
Library for Working with Weather Radar Data in the
{Python} Programming Language",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e25--??",
day = "18",
month = jul,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.119",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.119/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Hermann:2016:SNU,
author = "Gunter Hermann and Vincent Pohl and Jean Christophe
Tremblay and Beate Paulus and Hans-Christian Hege and
Axel Schild",
title = "Software News and Updates: {ORBKIT}: a modular
{Python} toolbox for cross-platform postprocessing of
quantum chemical wavefunction data",
journal = j-J-COMPUT-CHEM,
volume = "37",
number = "16",
pages = "1511--1520",
day = "15",
month = jun,
year = "2016",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.24358",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Jun 3 07:11:07 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
}
@Article{Hewitt:2016:MWA,
author = "Brett Hewitt and Moi Hoon Yap and Robyn Grant",
title = "{Manual Whisker Annotator (MWA)}: A Modular
Open-Source Tool",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e16--??",
day = "28",
month = apr,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.93",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.93/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Holtgrewe:2016:PVP,
author = "Manuel Holtgrewe and Dieter Beule",
title = "\pkg{VCFPy}: a {Python 3} library with good support
for both reading and writing {VCF}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "6",
pages = "85:1--85:1",
month = oct,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00085",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00085",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "25 October 2016",
ORCID-numbers = "Manuel Holtgrewe / 0000-0002-3051-1763; Dieter Beule
/ 0000-0002-3284-0632",
}
@Article{Hynninen:2016:OOP,
author = "T. Hynninen and L. Himanen and V. Parkkinen and T.
Musso and J. Corander and A. S. Foster",
title = "An object oriented {Python} interface for atomistic
simulations",
journal = j-COMP-PHYS-COMM,
volume = "198",
number = "??",
pages = "230--237",
month = jan,
year = "2016",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Dec 3 07:20:37 MST 2015",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465515003483",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Jirjies:2016:PPI,
author = "Saman Jirjies and Garrick Wallstrom and Rolf U. Halden
and Matthew Scotch",
title = "\pkg{pyJacqQ}: {Python} Implementation of {Jacquez}'s
{$Q$}-Statistics for Space-Time Clustering of Disease
Exposure in Case-Control Studies",
journal = j-J-STAT-SOFT,
volume = "74",
number = "??",
pages = "??--??",
month = "????",
year = "2016",
CODEN = "JSSOBK",
DOI = "https://doi.org/10.18637/jss.v74.i06",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Sat Nov 5 09:38:13 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v074i06;
https://www.jstatsoft.org/index.php/jss/article/view/v074i06/v74i06.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Book{Joshi:2016:JDS,
author = "Anshul Joshi",
title = "{Julia} for data science: explore the world of data
science from scratch with {Julia} by your side",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "339",
year = "2016",
ISBN = "1-78355-386-3 (e-book), 1-78528-969-1",
ISBN-13 = "978-1-78355-386-0 (e-book), 978-1-78528-969-9",
LCCN = "QA76.73.J8; T55.4-60.8",
bibdate = "Fri Apr 9 05:20:49 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Explore the world of data science from scratch with
Julia by your side About This Book An in-depth
exploration of Julia's growing ecosystem of packages
Work with the most powerful open-source libraries for
deep learning, data wrangling, and data visualization
Learn about deep learning using \pkg{Mocha.jl} and give
speed and high performance to data analysis on large
data sets Who This Book Is For This book is aimed at
data analysts and aspiring data scientists who have a
basic knowledge of Julia or are completely new to it.
The book also appeals to those competent in R and
Python and wish to adopt Julia to improve their skills
set in Data Science. It would be beneficial if the
readers have a good background in statistics and
computational mathematics. What You Will Learn Apply
statistical models in Julia for data-driven decisions
Understanding the process of data munging and data
preparation using Julia Explore techniques to visualize
data using Julia and D3 based packages Using Julia to
create self-learning systems using cutting edge machine
learning algorithms Create supervised and unsupervised
machine learning systems using Julia. Also, explore
ensemble models Build a recommendation engine in Julia
Dive into Julia's deep learning framework and build a
system using Mocha.jl In Detail Julia is a fast and
high performing language that's perfectly suited to
data science with a mature package ecosystem and is now
feature complete. It is a good tool for a data science
practitioner. There was a famous post at Harvard
Business Review that Data Scientist is the sexiest job
of the 21st century.
(https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century).
This book will help you get familiarised with Julia's
rich ecosystem, which is continuously evolving,
allowing you to stay on top of your game. This book
contains the essentials of data science and gives a
high-level overview of advanced statistics and
techniques. You will dive in and will work on
generating insights by performing inferential
statistics, and will reveal hidden patterns and trends
using data mining. This has the practical coverage of
statistics and machine learning. You will develop
knowledge to build statistical models and machine
learning systems in Julia with attractive
visualizations. You will then delve into the world of
Deep learning in Julia and will understand the
framework, \pkg{Mocha.jl} with which you can create
artificial neural networks and implement deep
learning.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Data structures
(Computer science); Information visualization;
COMPUTERS / Data Modeling and Design; Data structures
(Computer science); Information visualization; Julia
(Computer program language)",
tableofcontents = "Preface \\
1: The Groundwork \\
Julia's Environment \\
Julia is different \\
Setting up the environment \\
Installing Julia (Linux) \\
Installing Julia (Mac) \\
Installing Julia (Windows) \\
Exploring the source code \\
Using REPL \\
Using Jupyter Notebook \\
Package management \\
Pkg.status() \\
package status \\
Pkg.add() -{\`E}adding packages \\
Working with unregistered packages \\
Pkg.update() -{\`E}package update \\
METADATA repository \\
Developing packages \\
Creating a new package \\
Parallel computation using Julia \\
Julia's key feature \\
multiple dispatch \\
Methods in multiple dispatch \\
Ambiguities \\
method definitions \\
Facilitating language interoperability \\
Calling Python code in Julia \\
Summary \\
References \\
2: Data Munging \\
What is data munging? \\
The data munging process \\
What is a DataFrame? \\
The NA data type and its importance \\
DataArray series-like data structure \\
DataFrames tabular data structures \\
Installation and using DataFrames.jl \\
Writing the data to a file \\
Working with DataFrames \\
Understanding DataFrames joins \\
The Split-Apply-Combine strategy \\
Reshaping the data \\
Sorting a datasetFormula \\
a special data type for mathematical expressions \\
Pooling data \\
Web scraping \\
Summary \\
References \\
3: Data Exploration \\
Sampling \\
Population \\
Weight vectors \\
Inferring column types \\
Basic statistical summaries \\
Calculating the mean of the array or dataframe \\
Scalar statistics \\
Standard deviations and variances \\
Measures of variation \\
Z-scores \\
Entropy \\
Quantiles \\
Modes \\
Summary of datasets \\
Scatter matrix and covariance \\
Computing deviations \\
Rankings \\
Counting functions \\
Histograms \\
Correlation analysis \\
Summary \\
References \\
4: Deep Dive into Inferential Statistics \\
Installation \\
Understanding the sampling distribution \\
Understanding the normal distribution \\
Parameter estimation \\
Type hierarchy in \pkg{Distributions.jl} \\
Understanding Sampleable \\
Representing probabilistic distributions \\
Univariate distributions \\
Retrieving parameters \\
Statistical functions \\
Evaluation of probability \\
Sampling in Univariate distributions \\
Understanding Discrete Univariate distributions and
types \\
Bernoulli distribution \\
Binomial distribution \\
Continuous distributions \\
Cauchy distribution \\
Chi distribution \\
Chi-square distribution \\
Truncated distributions \\
Truncated normal distributions \\
Understanding multivariate distributions \\
Multinomial distribution \\
Multivariate normal distribution \\
Dirichlet distribution \\
Understanding matrixvariate distributions \\
Wishart distribution \\
Inverse-Wishart distribution \\
Distribution fitting \\
Distribution selection \\
Symmetrical distributions \\
Skew distributions to the right \\
Skew distributions to the left \\
Maximum Likelihood Estimation \\
Sufficient statistics \\
Maximum-a-Posteriori estimation \\
Confidence interval \\
Interpreting the confidence intervals \\
Usage \\
Understanding z-score",
}
@Article{Korosov:2016:PNS,
author = "Anton Korosov and Morten Hansen and Knut-Frode
Dagestad and Asuka Yamakawa and Aleksander Vines and
Maik Riechert",
title = "\pkg{Nansat}: a Scientist-Orientated {Python} Package
for Geospatial Data Processing",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e39--??",
day = "24",
month = oct,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.120",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.120/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Leskovec:2016:SGP,
author = "Jure Leskovec and Rok Sosic",
title = "{SNAP}: a General-Purpose Network Analysis and
Graph-Mining Library",
journal = j-TIST,
volume = "8",
number = "1",
pages = "1:1--1:??",
month = oct,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.1145/2898361",
ISSN = "2157-6904 (print), 2157-6912 (electronic)",
ISSN-L = "2157-6904",
bibdate = "Mon Apr 3 11:19:57 MDT 2017",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tist.bib",
abstract = "Large networks are becoming a widely used abstraction
for studying complex systems in a broad set of
disciplines, ranging from social-network analysis to
molecular biology and neuroscience. Despite an
increasing need to analyze and manipulate large
networks, only a limited number of tools are available
for this task. Here, we describe the Stanford Network
Analysis Platform (SNAP), a general-purpose,
high-performance system that provides easy-to-use,
high-level operations for analysis and manipulation of
large networks. We present SNAP functionality, describe
its implementational details, and give performance
benchmarks. SNAP has been developed for single
big-memory machines, and it balances the trade-off
between maximum performance, compact in-memory graph
representation, and the ability to handle dynamic
graphs in which nodes and edges are being added or
removed over time. SNAP can process massive networks
with hundreds of millions of nodes and billions of
edges. SNAP offers over 140 different graph algorithms
that can efficiently manipulate large graphs, calculate
structural properties, generate regular and random
graphs, and handle attributes and metadata on nodes and
edges. Besides being able to handle large graphs, an
additional strength of SNAP is that networks and their
attributes are fully dynamic; they can be modified
during the computation at low cost. SNAP is provided as
an open-source library in C++ as well as a module in
Python. We also describe the Stanford Large Network
Dataset, a set of social and information real-world
networks and datasets, which we make publicly
available. The collection is a complementary resource
to our SNAP software and is widely used for development
and benchmarking of graph analytics algorithms.",
acknowledgement = ack-nhfb,
articleno = "1",
fjournal = "ACM Transactions on Intelligent Systems and Technology
(TIST)",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1318",
}
@Article{Matloff:2016:BRN,
author = "Norman Matloff",
title = "Book Review: {{\booktitle{Numerical Python: a
Practical Techniques Approach for Industry}}}",
journal = j-J-STAT-SOFT,
volume = "70",
number = "??",
pages = "??--??",
month = "????",
year = "2016",
CODEN = "JSSOBK",
DOI = "https://doi.org/10.18637/jss.v70.b04",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Mon Jun 20 10:46:23 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v070b04;
https://www.jstatsoft.org/index.php/jss/article/view/v070b04/v70b04.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Article{McFee:2016:PRE,
author = "Brian McFee",
title = "\pkg{resampy}: efficient sample rate conversion in
{Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "8",
pages = "125:1--125:1",
month = dec,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00125",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00125",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "05 December 2016",
ORCID-numbers = "Brian McFee / 0000-0001-6261-9747",
}
@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/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{Meller:2016:PDM,
author = "Yosef Meller and Alex Liberzon",
title = "Particle Data Management Software for {$3$D} Particle
Tracking Velocimetry and Related Applications --- The
\pkg{Flowtracks} Package",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e23--??",
day = "16",
month = jun,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.101",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.101/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Mortensen:2016:HPP,
author = "Mikael Mortensen and Hans Petter Langtangen",
title = "High performance {Python} for direct numerical
simulations of turbulent flows",
journal = j-COMP-PHYS-COMM,
volume = "203",
number = "??",
pages = "53--65",
month = jun,
year = "2016",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Apr 18 08:17:17 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465516300200",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Mulansky:2016:PPP,
author = "Mario Mulansky and Thomas Kreuz",
title = "\pkg{PySpike} --- a {Python} library for analyzing
spike train synchrony",
journal = j-SOFTWAREX,
volume = "5",
number = "??",
pages = "178--182",
month = "????",
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2016.07.006",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:31 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711016300255",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Pape:2016:LIS,
author = "Tobias Pape and Tim Felgentreff and Robert Hirschfeld
and Anton Gulenko and Carl Friedrich Bolz",
title = "Language-independent storage strategies for tracing
{JIT}-based virtual machines",
journal = j-SIGPLAN,
volume = "51",
number = "2",
pages = "104--113",
month = feb,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2936313.2816716",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Jun 9 17:13:58 MDT 2016",
bibsource = "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;
https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
abstract = "Storage strategies have been proposed as a run-time
optimization for the PyPy Python implementation and
have shown promising results for optimizing execution
speed and memory requirements. However, it remained
unclear whether the approach works equally well in
other dynamic languages. Furthermore, while PyPy is
based on RPython, a language to write VMs with reusable
components such as a tracing just-in-time compiler and
garbage collection, the strategies design itself was
not generalized to be reusable across languages
implemented using that same toolchain. In this paper,
we present a general design and implementation for
storage strategies and show how they can be reused
across different RPython-based languages. We evaluate
the performance of our implementation for RSqueak, an
RPython-based VM for Squeak/Smalltalk and show that
storage strategies may indeed offer performance
benefits for certain workloads in other dynamic
programming languages.We furthermore evaluate the
generality of our implementation by applying it to
Topaz, a Ruby VM, and Pycket, a Racket
implementation.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '15 conference proceedings.",
}
@Article{Pataky:2016:RSO,
author = "Todd C. Pataky",
title = "\pkg{rft1d}: Smooth One-Dimensional Random Field
Upcrossing Probabilities in {Python}",
journal = j-J-STAT-SOFT,
volume = "71",
number = "??",
pages = "??--??",
month = "????",
year = "2016",
CODEN = "JSSOBK",
DOI = "https://doi.org/10.18637/jss.v71.i07",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Sat Nov 5 09:38:02 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v071i07;
https://www.jstatsoft.org/index.php/jss/article/view/v071i07/v71i07.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Article{Poore:2016:API,
author = "Geoffrey Poore",
title = "Advances in {Python\TeX} with an introduction to {\tt
fvextra}",
journal = j-TUGboat,
volume = "37",
number = "2",
pages = "187--192",
year = "2016",
ISSN = "0896-3207",
bibdate = "Mon Nov 21 05:54:45 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
acknowledgement = ack-bnb # " and " # ack-nhfb,
}
@Article{Raychev:2016:PMC,
author = "Veselin Raychev and Pavol Bielik and Martin Vechev",
title = "Probabilistic model for code with decision trees",
journal = j-SIGPLAN,
volume = "51",
number = "10",
pages = "731--747",
month = oct,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3022671.2984041",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sat Sep 16 10:18:13 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "In this paper we introduce a new approach for learning
precise and general probabilistic models of code based
on decision tree learning. Our approach directly
benefits an emerging class of statistical programming
tools which leverage probabilistic models of code
learned over large codebases (e.g., GitHub) to make
predictions about new programs (e.g., code completion,
repair, etc). The key idea is to phrase the problem of
learning a probabilistic model of code as learning a
decision tree in a domain specific language over
abstract syntax trees (called TGen). This allows us to
condition the prediction of a program element on a
dynamically computed context. Further, our problem
formulation enables us to easily instantiate known
decision tree learning algorithms such as ID3, but also
to obtain new variants we refer to as ID3+ and E13, not
previously explored and ones that outperform ID3 in
prediction accuracy. Our approach is general and can be
used to learn a probabilistic model of any programming
language. We implemented our approach in a system
called Deep3 and evaluated it for the challenging task
of learning probabilistic models of JavaScript and
Python. Our experimental results indicate that Deep3
predicts elements of JavaScript and Python code with
precision above 82\% and 69\%, respectively. Further,
Deep3 often significantly outperforms state-of-the-art
approaches in overall prediction accuracy.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "OOPSLA '16 conference proceedings.",
}
@Article{Ren:2016:JTS,
author = "Brianna M. Ren and Jeffrey S. Foster",
title = "Just-in-time static type checking for dynamic
languages",
journal = j-SIGPLAN,
volume = "51",
number = "6",
pages = "462--476",
month = jun,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2980983.2908127",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Sep 5 07:32:25 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Dynamic languages such as Ruby, Python, and JavaScript
have many compelling benefits, but the lack of static
types means subtle errors can remain latent in code for
a long time. While many researchers have developed
various systems to bring some of the benefits of static
types to dynamic languages, prior approaches have
trouble dealing with metaprogramming, which generates
code as the program executes. In this paper, we propose
Hummingbird, a new system that uses a novel technique,
just-in-time static type checking, to type check Ruby
code even in the presence of metaprogramming. In
Hummingbird, method type signatures are gathered
dynamically at run-time, as those methods are created.
When a method is called, Hummingbird statically type
checks the method body against current type signatures.
Thus, Hummingbird provides thorough static checks on a
per-method basis, while also allowing arbitrarily
complex metaprogramming. For performance, Hummingbird
memoizes the static type checking pass, invalidating
cached checks only if necessary. We formalize
Hummingbird using a core, Ruby-like language and prove
it sound. To evaluate Hummingbird, we applied it to six
apps, including three that use Ruby on Rails, a
powerful framework that relies heavily on
metaprogramming. We found that all apps typecheck
successfully using Hummingbird, and that Hummingbird's
performance overhead is reasonable. We applied
Hummingbird to earlier versions of one Rails app and
found several type errors that had been introduced and
then fixed. Lastly, we demonstrate using Hummingbird in
Rails development mode to typecheck an app as live
updates are applied to it.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "PLDI '16 conference proceedings.",
}
@Book{Rohit:2016:JC,
author = "Jalem Raj Rohit",
title = "{Julia} Cookbook",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "v + 157",
year = "2016",
ISBN = "1-78588-201-5, 1-78588-363-1 (e-book)",
ISBN-13 = "978-1-78588-201-2, 978-1-78588-363-7 (e-book)",
LCCN = "QA76.73.J8; T55.4-60.8",
bibdate = "Thu Apr 8 11:05:21 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://sbiproxy.uqac.ca/login?url=https://international.scholarvox.com/book/88843406",
abstract = "Over 40 recipes to get you up and running with
programming using Julia. About This Book Follow a
practical approach to learn Julia programming the easy
way Get an extensive coverage of Julia's packages for
statistical analysis This recipe-based approach will
help you get familiar with the key concepts in Julia.
Who This Book Is For: This book is for data scientists
and data analysts who are familiar with the basics of
the Julia language. Prior experience of working with
high-level languages such as MATLAB, Python, R, or Ruby
is expected. What You Will Learn Extract and handle
your data with Julia Uncover the concepts of
metaprogramming in Julia Conduct statistical analysis
with \pkg{StatsBase.jl} and \pkg{Distributions.jl}.
Build your data science models Find out how to
visualize your data with Gadfly Explore big data
concepts in Julia. In Detail Want to handle everything
that Julia can throw at you and get the most of it
every day? This practical guide to programming with
Julia for performing numerical computation will make
you more productive and able work with data more
efficiently. The book starts with the main features of
Julia to help you quickly refresh your knowledge of
functions, modules, and arrays. We'll also show you how
to utilize the Julia language to identify, retrieve,
and transform data sets so you can perform data
analysis and data manipulation. Later on, you'll see
how to optimize data science programs with parallel
computing and memory allocation. You'll get familiar
with the concepts of package development and networking
to solve numerical problems using the Julia platform.
This book includes recipes on identifying and
classifying data science problems, data modelling, data
analysis, data manipulation, meta-programming,
multidimensional arrays, and parallel computing. By the
end of the book, you will acquire the skills to work
more effectively with your data. Style and approach
This book has a recipe-based approach to help you grasp
the concepts of Julia programming.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Programming
languages (Electronic computers); Julia (Computer
program language); Programming languages (Electronic
computers)",
tableofcontents = "About the Author \\
About the Reviewer \\
www.PacktPub.com \\
Table of Contents \\
Preface \\
1: Extracting and Handling Data \\
Introduction \\
Why should we use Julia for data science? \\
Handling data with CSV files \\
Getting ready \\
How to do it and Handling data with TSV files \\
Getting ready \\
How to do it and Working with databases in Julia \\
Getting ready \\
How to do it and MySQL \\
PostgreSQL \\
There's more and MySQL \\
PostgreSQL \\
SQLite \\
Interacting with the Web \\
Getting ready \\
How to do it and GET request \\
There's more and \ldots{} \\
2: Metaprogramming \\
Introduction \\
Representation of a Julia program \\
Getting ready \\
How to do it and How it works \\
There's more \\
Symbols and expressions \\
Symbols \\
Getting ready \\
How to do it and How it works \\
There's more \\
Quoting \\
How to do it and How it works \\
Interpolation \\
How to do it and How it works \\
There's more \\
The Eval function \\
Getting ready \\
How to do it and How it works \\
Macros \\
Getting ready \\
How to do it and How it works \\
Metaprogramming with DataFrames \\
Getting ready \\
How to do it and How it works \\
3: Statistics with Julia \\
Introduction \\
Basic statistics concepts \\
Getting ready \\
How to do it and How it works \\
Descriptive statistics \\
Getting ready \\
How to do it and How it works \\
Deviation metrics \\
Getting ready \\
How to do it and How it works \\
Sampling \\
Getting ready \\
How to do it and How it works \\
Correlation analysis \\
Getting ready \\
How to do it and How it works \\
4: Building Data Science Models \\
Introduction \\
Dimensionality reduction \\
Getting ready \\
How to do it and How it works \\
Linear discriminant analysis \\
Getting ready \\
How to do it and How it works \\
Data preprocessing \\
Getting ready \\
How to do it and How it works \\
Linear regression \\
Getting ready \\
How to do it and How it works \\
Classification Getting ready \\
How to do it and How it works \\
Performance evaluation and model selection \\
Getting ready \\
How to do it and How it works \\
Cross validation \\
Getting ready \\
How to do it and How it works \\
Distances \\
Getting ready \\
How to do it and How it works \\
Distributions \\
Getting ready \\
How to do it and How it works \\
Time series analysis \\
Getting ready \\
How to do it and How it works \\
5: Working with Visualizations \\
Introduction \\
Plotting basic arrays \\
Getting ready \\
How to do it and How it works \\
Plotting dataframes \\
Getting ready \\
How to do it and How it works \\
Plotting functions \\
Getting ready \\
How to do it and how it works \\
Exploratory data analytics through plots \\
Getting ready \\
How to do it and How it works \\
Line plots \\
Getting ready \\
How to do it and How it works \\
Scatter plots \\
Getting ready \\
How to do it and How it works \\
Histograms \\
Getting ready \\
How to do it and How it works \\
Aesthetic customizations \\
Getting ready \\
How to do it and How it works \\
6: Parallel Computing \\
Introduction \\
Basic concepts of parallel computing \\
Getting ready \\
How to do it and How it works \\
Data movement \\
Getting ready \\
How to do it and How it works \\
Parallel maps and loop operations \\
Getting ready",
}
@Article{Simon:2016:PIA,
author = "Cory M. Simon and Berend Smit and Maciej Haranczyk",
title = "{pyIAST}: Ideal adsorbed solution theory {(IAST)}
{Python} package",
journal = j-COMP-PHYS-COMM,
volume = "200",
number = "??",
pages = "364--380",
month = mar,
year = "2016",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Jan 21 15:04:34 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465515004403",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Siqueira:2016:PPP,
author = "Abel Soares Siqueira and Raniere Costa da Silva and
Luiz-Rafael Santos",
title = "\pkg{Perprof-py}: a {Python} Package for Performance
Profile of Mathematical Optimization Software",
journal = j-J-OPEN-RES-SOFT,
volume = "4",
number = "1",
pages = "e12--??",
day = "22",
month = apr,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.81",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.81/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Tauber:2016:PPP,
author = "J. K. Tauber",
title = "\pkg{pyuca}: a {Python} implementation of the {Unicode
Collation Algorithm}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "1",
number = "1",
pages = "21:1--21:1",
month = may,
year = "2016",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00021",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/unicode.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00021",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "18 May 2016",
ORCID-numbers = "J. K. Tauber / 0000-0001-6534-8866",
}
@Article{Tien:2016:PPM,
author = "Vivienne Tien",
title = "{Python} and Physical Modeling",
journal = j-COMPUT-SCI-ENG,
volume = "18",
number = "3",
pages = "8--10",
month = may # "\slash " # jun,
year = "2016",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Wed Jun 8 08:55:26 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Vanderplas:2016:PDS,
author = "Jake Vanderplas",
title = "{Python} Data Science Handbook",
publisher = pub-ORA,
address = pub-ORA:adr,
pages = "????",
year = "2016",
ISBN = "1-4919-1205-7",
ISBN-13 = "978-1-4919-1205-8",
LCCN = "????",
bibdate = "Fri Oct 23 15:34:40 MDT 2015",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
What Is Data Science? \\
Who Is This Book For? \\
What to Expect from This Book \\
Why Python? \\
Python 2 vs Python 3 \\
Other Miscellany \\
Setting Up Your Computer \\
Installing from Source \\
Using the pip: the Python Package Index \\
Using System Distributions \\
Third-party Distributions \\
My Recommendation: Anaconda & conda \\
1. A Whirlwind Tour of the Python Language \\
Python is Glue \\
The Zen of Python \\
How to Run Python Code \\
The Python Interpreter \\
The IPython Interpreter \\
Self-contained Python Scripts \\
The IPython Notebook \\
A Quick Tour of Python Language Syntax \\
Comments are marked by # \\
End-of-line Terminates a Statement \\
Semicolon can Optionally Terminate a Statement \\
Indentation: Whitespace Matters! \\
Whitespace Within Lines Does Not Matter \\
Parentheses are for Grouping or Calling \\
Finishing Up and Learning More \\
Sidebar: Note on the print() Function \\
Basic Python Semantics: Variables and Objects \\
Python Variables are Pointers \\
Everything is an Object \\
Basic Python Semantics: Operators \\
Arithmetic Operations \\
Bitwise Operations \\
Assignment Operations \\
Comparison Operations \\
Boolean Operations \\
Identity and Membership Operators \\
Summary \\
Built-in Types: Simple Values \\
Numeric Types \\
String Type \\
None Type \\
Boolean Type \\
Built-in Data Structures \\
Lists \\
Tuples \\
Dictionaries \\
Sets \\
More Specialized Data Structures \\
Control Flow \\
Conditional Statements: if-elif-else: \\
for loops \\
while loops \\
break and continue: Fine Tuning Your Loops \\
Loops With an else Block \\
Defining and Using Functions \\
Using Functions \\
Defining Functions \\
Default Argument Values \\
*args and **kwargs: Flexible Arguments \\
Anonymous (lambda) Functions \\
Errors and Exceptions \\
Runtime Errors \\
Catching Exceptions: try and except \\
Raising Exceptions: raise \\
Advanced Topics \\
try except else finally \\
Iterators \\
Iterating over lists \\
range(): a List is Not Always a List \\
Useful Iterators \\
Advanced Iterators: itertools \\
List Comprehensions \\
Basic List Comprehensions \\
Multiple Iteration \\
Conditionals on the Iterator \\
Conditionals on the Value \\
Other Types of Comprehensions \\
Dict Comprehension \\
Generator Expressions \\
Generators \\
List Comprehensions vs Generator Expressions \\
Generator Functions: yield \\
Example: Prime Number Generator \\
Modules and Packages \\
Loading Modules: the import Statement \\
Python s Standard Library \\
Third-party modules \\
String Manipulation and Regular Expressions \\
Simple String Manipulation in Python \\
Format Strings \\
Flexible Pattern Matching with Regular Expressions \\
Further Python Resources \\
More Advanced Python Language Features \\
More Built-in Modules \\
More Third-Party Modules \\
2. IPython: Beyond Normal Python \\
Shell or Notebook? \\
Launching the IPython Shell \\
Launching the IPython Notebook \\
Help and Documentation in IPython \\
Accessing Documentation with `?' \\
Accessing Source Code with `??' \\
Exploring Modules with Tab-Completion \\
Keyboard Shortcuts in the IPython Shell \\
Navigation shortcuts \\
Text Entry Shortcuts \\
Command History Shortcuts \\
Miscellaneous Shortcuts \\
IPython Magic Commands \\
Pasting Code Blocks: \%paste and \%cpaste \\
Running External Code: \%run \\
Timing Code Execution: \%timeit \\
Help on Magic Functions: ?, \%magic, and \%lsmagic \\
Input and Output History \\
IPython s In and Out Objects \\
Underscore Shortcuts and Previous Outputs \\
Suppressing Output \\
Related Magic Commands \\
IPython and Shell Commands \\
Quick Introduction to the Shell \\
Shell Commands in IPython \\
Passing Values To and From the Shell \\
Shell-related Magic Commands \\
Errors and Debugging \\
Controlling Exceptions: \%xmode \\
Debugging: When Reading Tracebacks is Not Enough \\
Profiling and Timing Code \\
Timing Code Snippets: \%timeit and \%time \\
Profiling Full Scripts: \%prun \\
Line-by-line Profiling with \%lprun \\
Profiling Memory Use: \%memit and \%mprun \\
More IPython Resources \\
Web Resources \\
Books \\
3. Introduction to NumPy \\
Reminder about Built-in Documentation \\
Understanding Data Types in Python \\
A Python Integer is More than just an Integer \\
A Python List is More than just a List \\
Fixed-type arrays in Python \\
Creating Arrays from Python Lists \\
Creating arrays from scratch \\
NumPy Standard Data Types \\
The Basics of NumPy Arrays \\
NumPy Array Attributes \\
Array Indexing: Accessing Single Elements \\
Array Slicing: Accessing Subarrays \\
Reshaping of Arrays \\
Array Concatenation and Splitting \\
Summary \\
Random Number Generation \\
Understanding a Simple Random Sequence \\
Built-in tools: Python s random module \\
Efficient Random Numbers: numpy.random \\
Simultaneously Using Multiple Chains \\
Random Numbers: Further Resources \\
Computation on NumPy Arrays: Universal Functions \\
The Slowness of Loops \\
Introducing UFuncs \\
Exploring NumPy s UFuncs \\
Advanced Ufunc Features \\
Finding More \\
Aggregations: Min, Max, and Everything In Between \\
Examples of NumPy Aggregates \\
Example: How Tall is the Average US President? \\
Computation on Arrays: Broadcasting \\
Introducing Broadcasting \\
Rules of Broadcasting \\
Broadcasting in Practice \\
Utility Routines for Broadcasting \\
Comparisons, Masks, and Boolean Logic \\
Example: Counting Rainy Days \\
Comparison Operators as ufuncs \\
Working with Boolean Arrays \\
Returning to Seattle s Rain \\
Boolean Arrays as Masks \\
Sidebar: `&' vs. `and' \\
Fancy Indexing \\
Exploring Fancy Indexing \\
Combined Indexing \\
Generating Indices: np.where \\
Example: Selecting Random Points \\
Modifying values with Fancy Indexing \\
Example: Binning data \\
Numpy Indexing Tricks \\
np.mgrid: Convenient Multi-dimensional Mesh Grids \\
np.ogrid: Convenient Open Grids \\
np.ix_: Open Index Grids \\
np.r_: concatenation along rows \\
np.c_: concatenation along columns \\
Why Index Tricks? \\
Sorting Arrays \\
Sidebar: Big-O Notation \\
Fast Sorts in Python \\
Fast Sorts in NumPy: np.sort and np.argsort \\
Partial Sorts: Partitioning \\
Example: K Nearest Neighbors \\
Searching and Counting Values In Arrays \\
Python Standard Library Tools \\
Searching for Values in NumPy Arrays \\
Counting and Binning \\
Structured Data: NumPy s Structured Arrays \\
Creating Structured Arrays \\
More Advanced Compound Types \\
RecordArrays: Structured Arrays with a Twist \\
On to Pandas \\
4. Introduction to Pandas \\
Installing and Using Pandas \\
Reminder about Built-in Documentation \\
Introducing Pandas Objects \\
Pandas Series \\
Pandas DataFrame \\
Pandas Index \\
Looking Forward \\
Data Indexing and Selection \\
Data Selection in Series \\
Data Selection in DataFrame \\
Operations in Pandas \\
Ufuncs: Index Preservation \\
UFuncs: Index Alignment \\
Ufuncs: Operations between DataFrame and Series \\
Summary \\
Handling Missing Data \\
Tradeoffs in Missing Data Conventions \\
Missing Data in Pandas \\
Operating on Null Values \\
Summary \\
Hierarchical Indexing \\
A Multiply-Indexed Series \\
Aside: Panel Data \\
Methods of MultiIndex Creation \\
Indexing and Slicing a MultiIndex \\
Rearranging Multi-Indices \\
Data Aggregations on Multi-Indices \\
Summary \\
Combining Datasets: Concat & Append \\
Recall: Concatenation of NumPy Arrays \\
Simple Concatenation with pd.concat \\
Combining Datasets: Merge and Join \\
Relational Algebra \\
Categories of Joins \\
Specification of the Merge Key \\
Specifying Set Arithmetic for Joins \\
Overlapping Column Names: The suffixes Keyword \\
Example: US States Data \\
Aggregation and Grouping \\
Planets Data \\
Simple Aggregation in Pandas \\
Group By: Split, Apply, Combine \\
Pivot Tables \\
Motivating Pivot Tables \\
Pivot Tables By Hand \\
Pivot Table Syntax \\
Example: Birthrate Data \\
Vectorized String Operations \\
Introducing Pandas String Operations \\
Tables of Pandas String Methods \\
Further Information \\
Example: Recipe Database \\
Working with Time Series \\
Dates and Times in Python \\
Pandas TimeSeries: Indexing by Time \\
Pandas TimeSeries Data Structures \\
Frequencies and Offsets \\
Resampling, Shifting, and Windowing \\
Where to Learn More \\
Example: Visualizing Seattle Bicycle Counts \\
High-Performance Pandas: eval() and query() \\
Motivating query() and eval(): Compound Expressions \\
pandas.eval() for Efficient Operations \\
DataFrame.eval() for Column-wise Operations \\
DataFrame.query() Method \\
Performance: When to Use these functions \\
Learning More \\
Further Resources",
}
@Article{Varley:2016:EPP,
author = "Ryan Varley",
title = "{ExoData}: a {Python} package to handle large
exoplanet catalogue data",
journal = j-COMP-PHYS-COMM,
volume = "207",
number = "??",
pages = "298--309",
month = oct,
year = "2016",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Aug 30 18:08:51 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465516301254",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Virmani:2016:CFU,
author = "Vineet Virmani",
title = "Computational Finance Using {QuantLib-Python}",
journal = j-COMPUT-SCI-ENG,
volume = "18",
number = "2",
pages = "78--88",
month = mar # "\slash " # apr,
year = "2016",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2016.28",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Wed Jun 8 08:55:26 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Yang:2016:PDI,
author = "Jean Yang and Travis Hance and Thomas H. Austin and
Armando Solar-Lezama and Cormac Flanagan and Stephen
Chong",
title = "Precise, dynamic information flow for database-backed
applications",
journal = j-SIGPLAN,
volume = "51",
number = "6",
pages = "631--647",
month = jun,
year = "2016",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/2980983.2908098",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Mon Sep 5 07:32:25 MDT 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "We present an approach for dynamic information flow
control across the application and database. Our
approach reduces the amount of policy code required,
yields formal guarantees across the application and
database, works with existing relational database
implementations, and scales for realistic applications.
In this paper, we present a programming model that
factors out information flow policies from application
code and database queries, a dynamic semantics for the
underlying $^J D B$ core language, and proofs of
termination-insensitive non-interference and policy
compliance for the semantics. We implement these ideas
in Jacqueline, a Python web framework, and demonstrate
feasibility through three application case studies: a
course manager, a health record system, and a
conference management system used to run an academic
workshop. We show that in comparison to traditional
applications with hand-coded policy checks, Jacqueline
applications have (1) a smaller trusted computing base,
(2) fewer lines of policy code, and (3) reasonable,
often negligible, additional overheads.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "PLDI '16 conference proceedings.",
}
@Article{Yang:2016:VAV,
author = "Yuting Yang and Sam Prestwood and Connelly Barnes",
title = "{VizGen}: accelerating visual computing prototypes in
dynamic languages",
journal = j-TOG,
volume = "35",
number = "6",
pages = "206:1--206:??",
month = nov,
year = "2016",
CODEN = "ATGRDF",
DOI = "https://doi.org/10.1145/2980179.2982403",
ISSN = "0730-0301 (print), 1557-7368 (electronic)",
ISSN-L = "0730-0301",
bibdate = "Thu Nov 17 08:53:11 MST 2016",
bibsource = "http://www.acm.org/pubs/contents/journals/tog/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tog.bib",
abstract = "This paper introduces a novel domain-specific
compiler, which translates visual computing programs
written in dynamic languages to highly efficient code.
We define ``dynamic'' languages as those such as Python
and MATLAB, which feature dynamic typing and flexible
array operations. Such language features can be useful
for rapid prototyping, however, the dynamic computation
model introduces significant overheads in program
execution time. We introduce a compiler framework for
accelerating visual computing programs, such as
graphics and vision programs, written in
general-purpose dynamic languages. Our compiler allows
substantial performance gains (frequently orders of
magnitude) over general compilers for dynamic languages
by specializing the compiler for visual computation.
Specifically, our compiler takes advantage of three key
properties of visual computing programs, which permit
optimizations: (1) many array data structures have
small, constant, or bounded size, (2) many operations
on visual data are supported in hardware or are
embarrassingly parallel, and (3) humans are not
sensitive to small numerical errors in visual outputs
due to changing floating-point precisions. Our compiler
integrates program transformations that have been
described previously, and improves existing
transformations to handle visual programs that perform
complicated array computations. In particular, we show
that dependent type analysis can be used to infer sizes
and guide optimizations for many small-sized array
operations that arise in visual programs. Programmers
who are not experts on visual computation can use our
compiler to produce more efficient Python programs than
if they write manually parallelized C, with fewer lines
of application logic.",
acknowledgement = ack-nhfb,
articleno = "206",
fjournal = "ACM Transactions on Graphics",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778",
}
@Article{Barrios:2017:DIG,
author = "David Barrios and Carlos Prieto",
title = "{D3GB}: an Interactive Genome Browser for {R},
{Python}, and {WordPress}",
journal = j-J-COMPUT-BIOL,
volume = "24",
number = "5",
pages = "447--449",
month = may,
year = "2017",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2016.0213",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Sat Jun 1 09:52:53 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2016.0213;
https://www.liebertpub.com/doi/pdf/10.1089/cmb.2016.0213",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "16 February 2017",
}
@Article{Batut:2017:PEP,
author = "B{\'e}r{\'e}nice Batut and Bj{\"o}rn Gr{\"u}ning",
title = "\pkg{ENASearch}: a {Python} library for interacting
with {ENA}'s {API}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "18",
pages = "418:1--418:1",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00418",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00418",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "25 October 2017",
ORCID-numbers = "B{\'e}r{\'e}nice Batut / 0000-0001-9852-1987;
Bj{\"o}rn Gr{\"u}ning / 0000-0002-3079-6586",
}
@Article{Binder:2017:QMP,
author = "Jan M. Binder and Alexander Stark and Nikolas Tomek
and Jochen Scheuer and Florian Frank and Kay D. Jahnke
and Christoph M{\"u}ller and Simon Schmitt and Mathias
H. Metsch and Thomas Unden and Tobias Gehring and
Alexander Huck and Ulrik L. Andersen and Lachlan J.
Rogers Fedor Jelezko",
title = "\pkg{Qudi}: a modular {Python} suite for experiment
control and data processing",
journal = j-SOFTWAREX,
volume = "6",
number = "??",
pages = "81--84",
month = "????",
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2017.02.001",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:33 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711017300055",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Boeing:2017:POP,
author = "Geoff Boeing",
title = "\pkg{OSMnx}: a {Python} package to work with
graph-theoretic {OpenStreetMap} street networks",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "12",
pages = "215:1--215:4",
month = apr,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00215",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00215",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "24 April 2017",
ORCID-numbers = "Geoff Boeing / 0000-0003-1851-6411",
}
@Article{Bonetta:2017:FJF,
author = "Daniele Bonetta and Matthias Brantner",
title = "{FAD.js}: fast {JSON} data access using {JIT}-based
speculative optimizations",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "10",
number = "12",
pages = "1778--1789",
month = aug,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.14778/3137765.3137782",
ISSN = "2150-8097",
bibdate = "Tue Oct 10 17:16:19 MDT 2017",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "JSON is one of the most popular data encoding formats,
with wide adoption in Databases and BigData frameworks
as well as native support in popular programming
languages such as JavaScript/Node.js, Python, and R.
Nevertheless, JSON data processing can easily become a
performance bottleneck in data-intensive applications
because of parse and serialization overhead. In this
paper, we introduce F ad.js, a runtime system for
efficient processing of JSON objects in data-intensive
applications. Fad.js is based on (1) speculative
just-in-time (JIT) compilation and (2) selective access
to data. Experiments show that applications using
Fad.js achieve speedups up to 2.7x for encoding and
9.9x for decoding JSON data when compared to
state-of-the art JSON processing libraries.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Cass:2017:WTH,
author = "Stephen Cass",
title = "Wearable tech for {Halloween} --- The {Gemma MO}'s
embedded {Python} lets you change your code on the fly
[Resources Tools]",
journal = j-IEEE-SPECTRUM,
volume = "54",
number = "10",
pages = "15--16",
month = oct,
year = "2017",
CODEN = "IEESAM",
DOI = "https://doi.org/10.1109/MSPEC.2017.8048828",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Sat Jan 18 07:02:09 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Spectrum",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
keywords = "Adafruit Industries; Arduino Uno; CircuitPython;
editorial advisory board; embedded devices; Gemma M0;
Halloween; IEEE Spectrum; Limor Fried;
microcontrollers; Python language; wearable computers;
wearable microcontrollers; wearable tech",
}
@Article{Chilenski:2017:EME,
author = "M. A. Chilenski and I. C. Faust and J. R. Walk",
title = "{eqtools}: Modular, extensible, open-source,
cross-machine {Python} tools for working with magnetic
equilibria",
journal = j-COMP-PHYS-COMM,
volume = "210",
number = "??",
pages = "155--162",
month = jan,
year = "2017",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Dec 1 14:31:09 MST 2016",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046551630282X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Ching:2017:XOS,
author = "Daniel J. Ching and Dog{\u{a}} G{\"u}rsoy",
title = "{XDesign}: an open-source software package for
designing {X}-ray imaging phantoms and experiments",
journal = "Journal of Synchrotron Radiation",
volume = "24",
number = "2",
pages = "537--544",
year = "2017",
DOI = "https://doi.org/10.1107/S1600577517001928",
ISSN = "0909-0495 (print), 1600-5775 (electronic)",
ISSN-L = "0909-0495",
bibdate = "Tue Jan 30 07:39:48 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "tomography, data acquisition, simulation, phantom,
scanning X-ray probe, reconstruction, quality,
open-source, Python, experiment design",
}
@Article{Clementi:2017:PPL,
author = "Natalia C. Clementi and Gilbert Forsyth and
Christopher D. Cooper and Lorena A. Barba",
title = "\pkg{PyGBe-LSPR}: {Python} and {GPU} Boundary-integral
solver for electrostatics",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "19",
pages = "306:1--306:2",
month = nov,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00306",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00306",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "30 November 2017",
ORCID-numbers = "Natalia C. Clementi / 0000-0002-0575-5520; Gilbert
Forsyth / 0000-0002-4983-1978; Christopher D. Cooper /
0000-0003-0282-8998; Lorena A. Barba /
0000-0001-5812-2711",
}
@Article{Coelho:2017:PJS,
author = "Luis Pedro Coelho",
title = "\pkg{Jug}: Software for Parallel Reproducible
Computation in {Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "5",
number = "1",
pages = "30--??",
day = "27",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.161",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.161/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Cokelaer:2017:PSSb,
author = "Thomas Cokelaer and Juergen Hasch",
title = "\pkg{'Spectrum'}: Spectral Analysis in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "18",
pages = "348:1--348:2",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00348",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00348",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "27 October 2017",
ORCID-numbers = "Thomas Cokelaer / 0000-0001-6286-1138; Juergen Hasch
/ 0000-0002-9457-1220",
}
@Article{Dawe:2017:PRI,
author = "Edmund Noel Dawe and Piti Ongmongkolkul and Giordon
Stark",
title = "\pkg{root\_numpy}: The interface between \pkg{ROOT}
and \pkg{NumPy}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "16",
pages = "307:1--307:2",
month = aug,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00307",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00307",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "13 August 2017",
ORCID-numbers = "Edmund Noel Dawe / 0000-0003-0202-3284; Giordon Stark
/ 0000-0001-6616-3433",
}
@Article{Diem:2017:PVP,
author = "Alexandra K. Diem and Neil W. Bressloff",
title = "\pkg{VaMpy}: a {Python} Package to Solve {$1$D} Blood
Flow Problems",
journal = j-J-OPEN-RES-SOFT,
volume = "5",
number = "1",
pages = "17--??",
day = "08",
month = jun,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.159",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.159/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Fichera:2017:PFP,
author = "Loris Fichera and Fabrizio Messina and Giuseppe
Pappalardo and Corrado Santoro",
title = "A {Python} framework for programming autonomous robots
using a declarative approach",
journal = j-SCI-COMPUT-PROGRAM,
volume = "139",
number = "??",
pages = "36--55",
day = "1",
month = jun,
year = "2017",
CODEN = "SCPGD4",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Thu Mar 16 14:46:55 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642317300242",
acknowledgement = ack-nhfb,
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Filguiera:2017:DPF,
author = "Rosa Filguiera and Amrey Krause and Malcolm Atkinson
and Iraklis Klampanos and Alexander Moreno",
title = "{\tt dispel4py}: a {Python} framework for
data-intensive scientific computing",
journal = j-IJHPCA,
volume = "31",
number = "4",
pages = "316--334",
month = jul,
year = "2017",
CODEN = "IHPCFL",
ISSN = "1094-3420 (print), 1741-2846 (electronic)",
ISSN-L = "1094-3420",
bibdate = "Fri Aug 18 07:58:10 MDT 2017",
bibsource = "http://hpc.sagepub.com/;
https://www.math.utah.edu/pub/tex/bib/ijsa.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "International Journal of High Performance Computing
Applications",
journal-URL = "http://hpc.sagepub.com/content/by/year",
}
@Article{Fortunato:2017:PPP,
author = "Michael E. Fortunato and Coray M. Colina",
title = "\pkg{pysimm}: a {Python} package for simulation of
molecular systems",
journal = j-SOFTWAREX,
volume = "6",
number = "??",
pages = "1--6",
month = "????",
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2016.12.002",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:33 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
note = "See update \cite{Demidov:2018:UPP}.",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711016300395",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gavran:2017:AMR,
author = "Ivan Gavran and Rupak Majumdar and Indranil Saha",
title = "{Antlab}: a Multi-Robot Task Server",
journal = j-TECS,
volume = "16",
number = "5s",
pages = "190:1--190:??",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.1145/3126513",
ISSN = "1539-9087 (print), 1558-3465 (electronic)",
ISSN-L = "1539-9087",
bibdate = "Thu Oct 17 18:16:33 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tecs.bib",
abstract = "We present Antlab, an end-to-end system that takes
streams of user task requests and executes them using
collections of robots. In Antlab, each request is
specified declaratively in linear temporal logic
extended with quantifiers over robots. The user does
not program robots individually, nor know how many
robots are available at any time or the precise state
of the robots. The Antlab runtime system manages the
set of robots, schedules robots to perform tasks,
automatically synthesizes robot motion plans from the
task specification, and manages the co-ordinated
execution of the plan. We provide a constraint-based
formulation for simultaneous task assignment and plan
generation for multiple robots working together to
satisfy a task specification. In order to scalably
handle multiple concurrent tasks, we take a separation
of concerns view to plan generation. First, we solve
each planning problem in isolation, with an ``ideal
world'' hypothesis that says there are no unspecified
dynamic obstacles or adversarial environment actions.
Second, to deal with imprecisions of the real world, we
implement the plans in receding horizon fashion on top
of a standard robot navigation stack. The motion
planner dynamically detects environment actions or
dynamic obstacles from the environment or from other
robots and locally corrects the ideal planned path. It
triggers a re-planning step dynamically if the current
path deviates from the planned path or if planner
assumptions are violated. We have implemented Antlab as
a C++ and Python library on top of robots running on
ROS, using SMT-based and AI planning-based
implementations for task and path planning. We
evaluated Antlab both in simulation as well as on a set
of TurtleBot robots. We demonstrate that it can provide
a scalable and robust infrastructure for declarative
multi-robot programming.",
acknowledgement = ack-nhfb,
articleno = "190",
fjournal = "ACM Transactions on Embedded Computing Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J840",
}
@Article{Haghighi:2017:PPP,
author = "Sepand Haghighi",
title = "\pkg{Pyrgg}: {Python Random Graph Generator}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "17",
pages = "331:1--331:2",
month = sep,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00331",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00331",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 September 2017",
ORCID-numbers = "Sepand Haghighi / 0000-0001-9450-2375",
}
@Article{Hazelton:2017:PPI,
author = "Bryna J. Hazelton and Daniel C. Jacobs and Jonathan C.
Pober and Adam P. Beardsley",
title = "\pkg{pyuvdata}: an interface for astronomical
interferometeric datasets in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "10",
pages = "140:1--140:1",
month = feb,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00140",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00140",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "22 February 2017",
ORCID-numbers = "Bryna J. Hazelton / 0000-0001-7532-645X; Daniel C.
Jacobs / 0000-0002-0917-2269; Jonathan C. Pober /
0000-0002-3492-0433; Adam P. Beardsley /
0000-0001-9428-8233",
}
@Article{Herman:2017:PSO,
author = "Jon Herman and Will Usher",
title = "\pkg{SALib}: an open-source {Python} library for
Sensitivity Analysis",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "9",
pages = "97:1--97:2",
month = jan,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00097",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00097",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "10 January 2017",
ORCID-numbers = "Jon Herman / 0000-0002-4081-3175; Will Usher /
0000-0001-9367-1791",
}
@Article{Heusser:2017:PQP,
author = "Andrew C. Heusser and Paxton C. Fitzpatrick and
Campbell E. Field and Kirsten Ziman and Jeremy R.
Manning",
title = "\pkg{Quail}: a {Python} toolbox for analyzing and
plotting free recall data",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "18",
pages = "424:1--424:2",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00424",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00424",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "06 October 2017",
ORCID-numbers = "Andrew C. Heusser / 0000-0001-6353-688X; Paxton C.
Fitzpatrick / 0000-0003-0205-3088; Campbell E. Field /
0000-0001-7260-635X; Kirsten Ziman /
0000-0002-8942-3362; Jeremy R. Manning /
0000-0001-7613-4732",
}
@Article{Hoyer:2017:PXL,
author = "Stephan Hoyer and Joe Hamman",
title = "\pkg{xarray}: {$N$-$D$} labeled Arrays and Datasets in
{Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "5",
number = "1",
pages = "10--??",
day = "05",
month = apr,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.148",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.148/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Ishak:2017:BRSa,
author = "B. Ishak",
title = "Book Review: {{\booktitle{Statistics, data mining, and
machine learning in astronomy: a practical Python guide
for the analysis of survey data}}, by Zeljko
Ivezi{\'c}, Andrew J. Connolly, Jacob T. VanderPlas and
Alexander Gray}",
journal = j-CONTEMP-PHYS,
volume = "58",
number = "1",
pages = "99--99",
year = "2017",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2016.1246478",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Sat Feb 18 07:24:40 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
onlinedate = "20 Jan 2017",
}
@Article{Jimenez:2017:PPB,
author = "Jos{\'e} Jim{\'e}nez and Josep Ginebra",
title = "\pkg{pyGPGO}: {Bayesian} Optimization for {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "19",
pages = "431:1--431:3",
month = nov,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00431",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00431",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "02 November 2017",
ORCID-numbers = "Jos{\'e} Jim{\'e}nez / 0000-0002-5335-7834; Josep
Ginebra / 0000-0001-9521-9635",
}
@Article{Kirsanskas:2017:QOS,
author = "Gediminas Kirsanskas and Jonas Nyvold Pedersen and
Olov Karlstr{\"o}m and Martin Leijnse and Andreas
Wacker",
title = "{QmeQ 1.0}: an open-source {Python} package for
calculations of transport through quantum dot devices",
journal = j-COMP-PHYS-COMM,
volume = "221",
number = "??",
pages = "317--342",
month = dec,
year = "2017",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Oct 16 14:20:16 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465517302515",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Lakshminarayanan:2017:BRL,
author = "Vasudevan Lakshminarayanan",
title = "Book Review: {{\booktitle{Learning scientific
programming with Python}}, by Christian Hill}",
journal = j-CONTEMP-PHYS,
volume = "58",
number = "3",
pages = "282--284",
year = "2017",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2017.1312543",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Fri Aug 18 08:06:21 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
onlinedate = "12 Apr 2017",
}
@Article{Leeman:2017:BRS,
author = "John R. Leeman",
title = "Book Review: {{\booktitle{A Student's Guide to Python
for Physical Modeling}}. Kinder, Jesse M., and Nelson,
Philip. 150 pp. Princeton U.P., Princeton, NJ, 2016.
Price: \$24.95 (paper). ISBN 978-0-691-17050-3}",
journal = j-AMER-J-PHYSICS,
volume = "85",
number = "5",
pages = "399--399",
month = may,
year = "2017",
CODEN = "AJPIAS",
DOI = "https://doi.org/10.1119/1.4973375",
ISSN = "0002-9505 (print), 1943-2909 (electronic)",
ISSN-L = "0002-9505",
bibdate = "Fri Oct 20 14:51:28 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "American Journal of Physics",
journal-URL = "http://scitation.aip.org/content/aapt/journal/ajp",
}
@Article{Lervik:2017:SNU,
author = "Anders Lervik and Enrico Riccardi and Titus S. van
Erp",
title = "Software News and Updates: {PyRETIS}: a well-done,
medium-sized {Python} library for rare events",
journal = j-J-COMPUT-CHEM,
volume = "38",
number = "28",
pages = "2439--2451",
day = "30",
month = oct,
year = "2017",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.24900",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Sat Dec 30 08:26:11 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
}
@Article{Lyonnet:2017:PPT,
author = "F. Lyonnet and I. Schienbein",
title = "{PyR@TE 2}: a {Python} tool for computing {RGEs} at
two-loop",
journal = j-COMP-PHYS-COMM,
volume = "213",
number = "??",
pages = "181--196",
month = apr,
year = "2017",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 4 08:00:23 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046551630368X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655/",
}
@Article{Mahar:2017:PHP,
author = "Sara Mahar and Matthew Bellis",
title = "\pkg{hmis}: a {Python} tool to visualize and analyze
{HMIS} data",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "18",
pages = "384:1--384:2",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00384",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00384",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "08 October 2017",
ORCID-numbers = "Sara Mahar / 0000-0003-0920-3042; Matthew Bellis /
0000-0002-6353-6043",
}
@Article{Makowski:2017:PNP,
author = "Dominique Makowski and L{\'e}o Dutriaux",
title = "\pkg{Neuropsydia.py}: a {Python} Module for Creating
Experiments, Tasks and Questionnaires",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "19",
pages = "259:1--259:2",
month = nov,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00259",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00259",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "27 November 2017",
ORCID-numbers = "Dominique Makowski / 0000-0001-5375-9967; L{\'e}o
Dutriaux / 0000-0001-6304-8691",
}
@Article{Margolis:2017:PSP,
author = "Benjamin W. L. Margolis",
title = "\pkg{SimuPy}: a {Python} framework for modeling and
simulating dynamical systems",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "17",
pages = "396:1--396:1",
month = sep,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00396",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00396",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 September 2017",
ORCID-numbers = "Benjamin W. L. Margolis / 0000-0001-5602-1888",
}
@Article{Mayer:2017:PNP,
author = "Andreas Mayer",
title = "\pkg{Noisyopt}: a {Python} library for optimizing
noisy functions",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "13",
pages = "258:1--258:1",
month = may,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00258",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00258",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "30 May 2017",
ORCID-numbers = "Andreas Mayer / 0000-0002-6643-7622",
}
@Article{Meier:2017:PVM,
author = "Remigius Meier and Armin Rigo and Thomas R. Gross",
title = "Parallel virtual machines with {RPython}",
journal = j-SIGPLAN,
volume = "52",
number = "2",
pages = "48--59",
month = feb,
year = "2017",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3093334.2989233",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sat Sep 16 10:18:15 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "The RPython framework takes an interpreter for a
dynamic language as its input and produces a Virtual
Machine{\^A} (VM) for that language. RPython is being
used to develop PyPy, a high-performance Python
interpreter. However, the produced VM does not support
parallel execution since the framework relies on a
Global Interpreter Lock{\^A} (GIL): PyPy serialises the
execution of multi-threaded Python programs. We
describe the rationale and design of a new parallel
execution model for RPython that allows the generation
of parallel virtual machines while leaving the language
semantics unchanged. This model then allows different
implementations of concurrency control, and we discuss
an implementation based on a GIL and an implementation
based on Software Transactional Memory{\^A} (STM). To
evaluate the benefits of either choice, we adapt PyPy
to work with both implementations (GIL and STM). The
evaluation shows that PyPy with STM improves the
runtime of a set of multi-threaded Python programs over
PyPy with a GIL by factors in the range of 1.87 $
\times $ up to 5.96 $ \times $ when executing on a
processor with 8 cores.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '16 conference proceedings.",
}
@Article{Meurer:2017:SSC,
author = "Aaron Meurer and Christopher P. Smith and Mateusz
Paprocki and Ond{\v{r}}ej {\v{C}}ert{\'\i}k and Sergey
B. Kirpichev and Matthew Rocklin and Amit Kumar and
Sergiu Ivanov and Jason K. Moore and Sartaj Singh and
Thilina Rathnayake and Sean Vig and Brian E. Granger
and Richard P. Muller and Francesco Bonazzi and Harsh
Gupta and Shivam Vats and Fredrik Johansson and Fabian
Pedregosa and Matthew J. Curry and Andy R. Terrel and
{\v{S}}t{\v{e}}p{\'a}n Rou{\v{c}}ka and Ashutosh Saboo
and Isuru Fernando and Sumith Kulal and Robert Cimrman
and Anthony Scopatz",
title = "{SymPy}: symbolic computing in {Python}",
journal = "PeerJ Computer Science",
volume = "3",
pages = "e103:1--e103:27",
month = jan,
year = "2017",
DOI = "https://doi.org/10.7717/peerj-cs.103",
ISSN = "2376-5992",
bibdate = "Tue Apr 23 06:44:08 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
journal-URL = "https://peerj.com/cs/",
}
@Article{Morgan:2017:PLP,
author = "Benjamin J. Morgan",
title = "\pkg{lattice\_mc}: a {Python} Lattice-Gas {Monte
Carlo} Module",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "13",
pages = "247:1--247:2",
month = may,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00247",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00247",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "26 May 2017",
ORCID-numbers = "Benjamin J. Morgan / 0000-0002-3056-8233",
}
@Article{Naecker:2017:PPP,
author = "Benjamin Naecker and Niru Maheswaranathan and Surya
Ganguli and Stephen Baccus",
title = "\pkg{Pyret}: a {Python} package for analysis of
neurophysiology data",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "9",
pages = "137:1--137:1",
month = jan,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00137",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00137",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "06 January 2017",
ORCID-numbers = "Benjamin Naecker / 0000-0002-7525-1635; Niru
Maheswaranathan / 0000-0002-3946-4705",
}
@Book{Nagar:2017:BJP,
author = "Sandeep Nagar",
title = "Beginning {Julia} Programming: For Engineers and
Scientists",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xxi + 351 + 20 + 18",
year = "2017",
DOI = "https://doi.org/10.1007/978-1-4842-3171-5",
ISBN = "1-4842-3170-8, 1-4842-3171-6",
ISBN-13 = "978-1-4842-3170-8, 978-1-4842-3171-5",
LCCN = "QA76.7-76.73; QA76.76.C65",
bibdate = "Thu Apr 8 10:39:19 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.springerlink.com/content/978-1-4842-3171-5",
abstract = "Get started with Julia for engineering and numerical
computing, especially data science, machine learning,
and scientific computing applications. This book
explains how Julia provides the functionality,
ease-of-use and intuitive syntax of R, Python, MATLAB,
SAS, or Stata combined with the speed, capacity, and
performance of C, C++, or Java. You'll learn the OOP
principles required to get you started, then how to do
basic mathematics with Julia. Other core functionality
of Julia that you'll cover, includes working with
complex numbers, rational and irrational numbers,
rings, and fields. Beginning Julia Programming takes
you beyond these basics to harness Julia's powerful
features for mathematical functions in Julia, arrays
for matrix operations, plotting, and more. Along the
way, you also learn how to manage strings, write
functions, work with control flows, and carry out I/O
to implement and leverage the mathematics needed for
your data science and analysis projects. ``Julia walks
like Python and runs like C''. This phrase explains why
Julia is quickly growing as the most favored option for
data analytics and numerical computation. After reading
and using this book, you'll have the essential
knowledge and skills to build your first Julia-based
application. You will: Obtain core skills in Julia
Apply Julia in engineering and science applications
Work with mathematical functions in Julia Use arrays,
strings, functions, control flow, and I/O in Julia
Carry out plotting and display basic graphics .",
acknowledgement = ack-nhfb,
subject = "Computer science; Computer programming; Programming
languages (Electronic computers); Mathematical logic;
Programming Languages, Compilers, Interpreters;
Mathematical Logic and Formal Languages; Big Data;
Programming Techniques; Inform{\'a}tica; Logic,
Symbolic and mathematical; Computer programming;
Computer science.; Logic, Symbolic and mathematical;
Programming languages (Electronic computers)",
tableofcontents = "1. Introduction \\
2. Object Oriented Programming \\
3. Basic Mathematics with Julia \\
4. Complex Numbers \\
5. Rational and Irrational numbers \\
6. Mathematical Functions \\
7. Arrays \\
8. Arrays for Matrix Operations \\
9. Strings \\
10. Functions \\
11. Control Flow \\
12. Input Output \\
13. Plotting",
}
@Article{Niemeyer:2017:PAJ,
author = "Kyle E. Niemeyer and Nicholas J. Curtis and Chih-Jen
Sung",
title = "{pyJac}: Analytical {Jacobian} generator for chemical
kinetics",
journal = j-COMP-PHYS-COMM,
volume = "215",
number = "??",
pages = "188--203",
month = jun,
year = "2017",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Mar 31 15:52:48 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465517300462",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Nordh:2017:PPF,
author = "Jerker Nordh",
title = "\pkg{pyParticleEst}: a {Python} Framework for
Particle-Based Estimation Methods",
journal = j-J-STAT-SOFT,
volume = "78",
number = "??",
pages = "??--??",
month = "????",
year = "2017",
CODEN = "JSSOBK",
DOI = "https://doi.org/10.18637/jss.v78.i03",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Thu Jun 8 18:10:20 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v078i03;
https://www.jstatsoft.org/index.php/jss/article/view/v078i03/v78i03.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Article{Omar:2017:PSF,
author = "Cyrus Omar and Jonathan Aldrich",
title = "Programmable semantic fragments: the design and
implementation of {\tt typy}",
journal = j-SIGPLAN,
volume = "52",
number = "3",
pages = "81--92",
month = mar,
year = "2017",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3093335.2993245",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sat Sep 16 10:18:15 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "This paper introduces typy, a statically typed
programming language embedded by reflection into
Python. typy features a fragmentary semantics, i.e. it
delegates semantic control over each term, drawn from
Python's fixed concrete and abstract syntax, to some
contextually relevant user-defined semantic fragment.
The delegated fragment programmatically (1) typechecks
the term (following a bidirectional protocol); and (2)
assigns dynamic meaning to the term by computing a
translation to Python. We argue that this design is
expressive with examples of fragments that express the
static and dynamic semantics of (1) functional records;
(2) labeled sums (with nested pattern matching a la
ML); (3) a variation on JavaScript's prototypal object
system; and (4) typed foreign interfaces to Python and
OpenCL. These semantic structures are, or would need to
be, defined primitively in conventionally structured
languages. We further argue that this design is
compositionally well-behaved. It avoids the expression
problem and the problems of grammar composition because
the syntax is fixed. Moreover, programs are
semantically stable under fragment composition (i.e.
defining a new fragment will not change the meaning of
existing program components.)",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "GPCE '16 conference proceedings.",
}
@Book{Osais:2017:CSF,
author = "Yahya E. Osais",
title = "Computer Simulation: a Foundational Approach Using
{Python}",
volume = "101",
publisher = pub-CHAPMAN-HALL-CRC,
address = pub-CHAPMAN-HALL-CRC:adr,
year = "2017",
DOI = "https://doi.org/10.1201/9781315120294",
ISBN = "1-315-12029-1 (e-book), 1-351-63708-8 (e-book: Mobi),
1-4987-2682-8 (hardcover), 1-4987-2683-6 (e-book PDF)",
ISBN-13 = "978-1-315-12029-4 (e-book), 978-1-351-63708-4 (e-book:
Mobi), 978-1-4987-2682-5 (hardcover), 978-1-4987-2683-2
(ebook PDF)",
LCCN = "QA76.9.C65 O83 2017",
bibdate = "Tue Nov 29 08:19:23 MST 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/prng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Chapman and Hall/CRC computer and information science
series",
acknowledgement = ack-nhfb,
subject = "Computer simulation; Python (Computer program
language); Digital computer simulation; Simulation par
ordinateur; Python (Langage de programmation);
simulation; Digital computer simulation; Computer
simulation; Python (Computer program language)",
tableofcontents = "Part I: The Fundamentals \\
1: Introduction \\
2: Building Conceptual Models \\
3: Simulating Probabilities \\
4: Simulating Random Variables and Stochastic Processes
\\
5: Simulating the Single-Server Queueing System \\
6: Statistical Analysis of Simulated Data \\
Part II: Managing Complexity \\
7: Event Graphs \\
8: Building Simulation Programs \\
Part III: Problem-Solving \\
9: The Monte Carlo Method \\
Part IV: Sources of Randomness \\
10: Random Variate Generation \\
11: Random Number Generation \\
Part V: Case Studies \\
12: Case Studies",
}
@Article{Otis:2017:PPC,
author = "Richard Otis and Zi-Kui Liu",
title = "\pkg{pycalphad}: {CALPHAD}-based Computational
Thermodynamics in {Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "5",
number = "1",
pages = "1--??",
day = "09",
month = jan,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.140",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.140/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Pimentel:2017:NTC,
author = "Jo{\~a}o Felipe Pimentel and Leonardo Murta and
Vanessa Braganholo and Juliana Freire",
title = "{noWorkflow}: a tool for collecting, analyzing, and
managing provenance from {Python} scripts",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "10",
number = "12",
pages = "1841--1844",
month = aug,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.14778/3137765.3137789",
ISSN = "2150-8097",
bibdate = "Tue Oct 10 17:16:19 MDT 2017",
bibsource = "http://portal.acm.org/;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "We present noWorkflow, an open-source tool that
systematically and transparently collects provenance
from Python scripts, including data about the script
execution and how the script evolves over time. During
the demo, we will show how noWorkflow collects and
manages provenance, as well as how it supports the
analysis of computational experiments. We will also
encourage attendees to use noWorkflow for their own
scripts.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Polimis:2017:CIR,
author = "Kivan Polimis and Ariel Rokem and Bryna Hazelton",
title = "Confidence Intervals for Random Forests in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "19",
pages = "124:1--124:4",
month = nov,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00124",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00124",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "09 November 2017",
ORCID-numbers = "Kivan Polimis / 0000-0002-3498-0479; Ariel Rokem /
0000-0003-0679-1985; Bryna Hazelton /
0000-0001-7532-645X",
}
@Article{Price-Whelan:2017:PGP,
author = "Adrian M. Price-Whelan",
title = "\pkg{Gala}: a {Python} package for galactic dynamics",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "18",
pages = "388:1--388:2",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00388",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00388",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "08 October 2017",
ORCID-numbers = "Adrian M. Price-Whelan / 0000-0003-0872-7098",
}
@Article{Price-Whelan:2017:PSU,
author = "Adrian M. Price-Whelan and Daniel Foreman-Mackey",
title = "\pkg{schwimmbad}: a uniform interface to parallel
processing pools in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "17",
pages = "357:1--357:2",
month = sep,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00357",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00357",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "05 September 2017",
ORCID-numbers = "Adrian M. Price-Whelan / 0000-0003-0872-7098; Daniel
Foreman-Mackey / 0000-0002-9328-5652",
}
@Article{Raamana:2017:PPC,
author = "Pradeep Reddy Raamana and Stephen C. Strother",
title = "\pkg{Python} class defining a machine learning dataset
ensuring key-based correspondence and maintaining
integrity",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "17",
pages = "382:1--382:1",
month = sep,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00382",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00382",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "11 September 2017",
ORCID-numbers = "Pradeep Reddy Raamana / 0000-0003-4662-0558; Stephen
C. Strother / 0000-0002-3198-217X",
}
@Article{Ranathunga:2017:MPP,
author = "D. Ranathunga and H. Nguyen and M. Roughan",
title = "\pkg{MGtoolkit}: a {Python} package for implementing
metagraphs",
journal = j-SOFTWAREX,
volume = "6",
number = "??",
pages = "85--90",
month = "????",
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2017.04.001",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:33 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711017300080",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Rathgeber:2017:FAF,
author = "Florian Rathgeber and David A. Ham and Lawrence
Mitchell and Michael Lange and Fabio Luporini and
Andrew T. T. Mcrae and Gheorghe-Teodor Bercea and
Graham R. Markall and Paul H. J. Kelly",
title = "{Firedrake}: Automating the Finite Element Method by
Composing Abstractions",
journal = j-TOMS,
volume = "43",
number = "3",
pages = "24:1--24:??",
month = jan,
year = "2017",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/2998441",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Oct 4 10:55:07 MDT 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/citation.cfm?id=2998441",
abstract = "Firedrake is a new tool for automating the numerical
solution of partial differential equations. Firedrake
adopts the domain-specific language for the finite
element method of the FEniCS project, but with a pure
Python runtime-only implementation centered on the
composition of several existing and new abstractions
for particular aspects of scientific computing. The
result is a more complete separation of concerns that
eases the incorporation of separate contributions from
computer scientists, numerical analysts, and
application specialists. These contributions may add
functionality or improve performance. Firedrake
benefits from automatically applying new optimizations.
This includes factorizing mixed function spaces,
transforming and vectorizing inner loops, and
intrinsically supporting block matrix operations.
Importantly, Firedrake presents a simple public API for
escaping the UFL abstraction. This allows users to
implement common operations that fall outside of pure
variational formulations, such as flux limiters.",
acknowledgement = ack-nhfb,
articleno = "24",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Schillaci:2017:PP,
author = "Michael Jay Schillaci",
title = "Perfectly {Python}",
journal = j-COMPUT-SCI-ENG,
volume = "19",
number = "6",
pages = "51--53",
month = nov # "\slash " # dec,
year = "2017",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Nov 30 06:28:15 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.computer.org/csdl/mags/cs/2017/06/mcs2017060051.html",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Scott:2017:PSI,
author = "Camille Scott",
title = "\pkg{shmlast}: an improved implementation of
Conditional Reciprocal Best Hits with {LAST} and
{Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "9",
pages = "142:1--142:4",
month = jan,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00142",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00142",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "28 January 2017",
ORCID-numbers = "Camille Scott / 0000-0001-8822-8779",
}
@InProceedings{Serrano:2017:MIP,
author = "E. Serrano and J. G. Blas and J. Carretero and M.
Abella and M. Desco",
booktitle = "{2017 17th IEEE/ACM International Symposium on
Cluster, Cloud and Grid Computing (CCGRID)}",
title = "Medical Imaging Processing on a Big Data Platform
Using {Python}: Experiences with Heterogeneous and
Homogeneous Architectures",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "830--837",
year = "2017",
DOI = "https://doi.org/10.1109/CCGRID.2017.56",
bibdate = "Thu Apr 8 07:17:08 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Julia programming language",
}
@Article{Shakir:2017:PGG,
author = "Dzhoshkun Ismail Shakir and Luis Carlos
Garc{\'\i}a-Peraza-Herrera and Pankaj Daga and Tom Doel
and Matthew J. Clarkson and S{\'e}bastien Ourselin and
Tom Vercauteren",
title = "\pkg{GIFT-Grab}: Real-time {C++} and {Python}
multi-channel video capture, processing and encoding
{API}",
journal = j-J-OPEN-RES-SOFT,
volume = "5",
number = "1",
pages = "27--??",
day = "09",
month = oct,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.169",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.169/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Siek:2017:CPT,
author = "Jeremy Siek",
title = "Challenges and progress toward efficient gradual
typing (invited talk)",
journal = j-SIGPLAN,
volume = "52",
number = "11",
pages = "2--2",
month = nov,
year = "2017",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3170472.3148570",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Dec 1 18:56:13 MST 2017",
bibsource = "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 = "Mixing static and dynamic type checking in the same
language is catching on, with the TypeScript and Flow
variants of JavaScript, the MyPy and Reticulated
variants of Python, the Strongtalk and Gradualtalk
variants of Smalltalk, as well as Typed Racket, Typed
Clojure, and Perl 6. The gradual typing approach to
such mixing seeks to protect the statically typed code
from the dynamically typed code, allowing compilers to
leverage type information when optimizing the static
code. Unfortunately, ensuring soundness requires
runtime checking at the boundaries of typed and untyped
code, and the cost of this checking can drown out the
performance benefits of optimization. For example, in
Typed Racket, some partially typed programs are 1000X
slower than the untyped or fully typed version of the
same program. But all is not lost! In this talk I
present the results of ongoing research to tame the
runtime overheads of gradual typing in the context of a
prototype compiler, named Grift, that we are developing
at Indiana University.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "DLS '17 conference proceedings.",
}
@Article{Sinaie:2017:PMP,
author = "Sina Sinaie and Viet Ha Nguyen and Chi Thanh Nguyen
and St{\'e}phane Bordas",
title = "Programming the material point method in {Julia}",
journal = j-ADV-ENG-SOFTWARE,
volume = "105",
number = "??",
pages = "17--29",
month = mar,
year = "2017",
CODEN = "AESODT",
DOI = "https://doi.org/10.1016/j.advengsoft.2017.01.008",
ISSN = "0965-9978 (print), 0141-1195 (electronic)",
ISSN-L = "0965-9978",
bibdate = "Fri Apr 09 05:58:14 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S0965997816302769",
abstract = "This article presents the implementation of the
material point method (MPM) using Julia. Julia is an
open source, multi-platform, high-level,
high-performance dynamic programming language for
technical computing, with syntax that is familiar to
Matlab and Python programmers. MPM is a hybrid
particle-grid approach that combines the advantages of
Eulerian and Lagrangian methods and is suitable for
complex solid mechanics problems involving contact,
impact and large deformations. We will show that a
Julia based MPM code, which is short, compact and
readable and uses only Julia built in features,
performs much better (with speed up of up to 8) than a
similar Matlab based MPM code for large strain solid
mechanics simulations. We share our experiences of
implementing MPM in Julia and demonstrate that Julia is
a very interesting platform for rapid development in
the field of scientific computing.",
acknowledgement = ack-nhfb,
fjournal = "Advances in Engineering Software",
journal-URL = "https://www.sciencedirect.com/journal/advances-in-engineering-software",
keywords = "Julia, Material point method (MPM), High-performance
dynamic programming language, Technical computing",
}
@Article{Smith:2017:PUP,
author = "Andrew P. Smith",
title = "\pkg{UKCensusAPI}: {Python} and {R} interfaces to the
nomisweb {UK} census data {API}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "19",
pages = "408:1--408:1",
month = nov,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00408",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00408",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 November 2017",
ORCID-numbers = "Andrew P. Smith / 0000-0002-9951-6642",
}
@Article{Stadler:2017:CCP,
author = "Konstantin Stadler",
title = "The country converter \pkg{coco} --- a {Python}
package for converting country names between different
classification schemes",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "16",
pages = "332:1--332:2",
month = aug,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00332",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00332",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "03 August 2017",
ORCID-numbers = "Konstantin Stadler / 0000-0002-1548-201X",
}
@Article{Suess:2017:PMM,
author = "Daniel Suess and Milan Holz{\"a}pfel",
title = "\pkg{mpnum}: a matrix product representation library
for {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "20",
pages = "465:1--465:2",
month = dec,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00465",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00465",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "15 December 2017",
ORCID-numbers = "Daniel Suess / 0000-0002-6354-457X; Milan
Holz{\"a}pfel / 0000-0002-4687-5027",
}
@Article{Tejedor:2017:PPC,
author = "Enric Tejedor and Yolanda Becerra and Guillem Alomar
and Anna Queralt and Rosa M. Badia and Jordi Torres and
Toni Cortes and Jes{\'u}s Labarta",
title = "{PyCOMPSs}: Parallel computational workflows in
{Python}",
journal = j-IJHPCA,
volume = "31",
number = "1",
pages = "66--82",
month = jan,
year = "2017",
CODEN = "IHPCFL",
ISSN = "1094-3420 (print), 1741-2846 (electronic)",
ISSN-L = "1094-3420",
bibdate = "Tue Apr 4 14:51:30 MDT 2017",
bibsource = "http://hpc.sagepub.com/;
https://www.math.utah.edu/pub/tex/bib/ijsa.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "International Journal of High Performance Computing
Applications",
}
@Article{Vieira:2017:WCC,
author = "Camilo Vieira and Alejandra J. Magana and Michael L.
Falk and R. Edwin Garcia",
title = "Writing In-Code Comments to Self-Explain in
Computational Science and Engineering Education",
journal = j-TOCE,
volume = "17",
number = "4",
pages = "17:1--17:??",
month = sep,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.1145/3058751",
ISSN = "1946-6226",
bibdate = "Mon Jan 22 10:10:24 MST 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
abstract = "This article presents two case studies aimed at
exploring the use of self-explanations in the context
of computational science and engineering (CSE)
education. The self-explanations were elicited as
students' in-code comments of a set of worked-examples,
and the cases involved two different approaches to CSE
education: glass box and black box. The glass-box
approach corresponds to a programming course for
materials science and engineering students that focuses
on introducing programming concepts while solving
disciplinary problems. The black-box approach involves
the introduction of Python-based computational tools
within a thermodynamics course to represent
disciplinary phenomena. Two semesters of data
collection for each case study allowed us to identify
the effect of using in-code comments as a
self-explanation strategy on students' engagement with
the worked-examples and students' perceptions of these
activities within each context. The results suggest
that the use of in-code comments as a self-explanation
strategy increased students' awareness of the
worked-examples while engaging with them. The students'
perceived uses of the in-code commenting activities
include: understanding the example, making a connection
between the programming code and the disciplinary
problem, and becoming familiar with the programming
language syntax, among others.",
acknowledgement = ack-nhfb,
articleno = "17",
fjournal = "ACM Transactions on Computing Education",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1193",
}
@Article{Vitousek:2017:BTL,
author = "Michael M. Vitousek and Cameron Swords and Jeremy G.
Siek",
title = "Big types in little runtime: open-world soundness and
collaborative blame for gradual type systems",
journal = j-SIGPLAN,
volume = "52",
number = "1",
pages = "762--774",
month = jan,
year = "2017",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3093333.3009849",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Gradual typing combines static and dynamic typing in
the same language, offering programmers the error
detection and strong guarantees of static types and the
rapid prototyping and flexible programming idioms of
dynamic types. Many gradually typed languages are
implemented by translation into an untyped target
language (e.g., Typed Clojure, TypeScript, Gradualtalk,
and Reticulated Python). For such languages, it is
desirable to support arbitrary interaction between
translated code and legacy code in the untyped language
while maintaining the type soundness of the translated
code. In this paper we formalize this goal in the form
of the open-world soundness criterion. We discuss why
it is challenging to achieve open-world soundness using
the traditional proxy-based approach for higher-order
casts. However, the transient design satisfies
open-world soundness. Indeed, we present a formal
semantics for the transient design and prove that our
semantics satisfies open-world soundness. In this paper
we also solve a challenging problem for the transient
design: how to provide blame tracking without proxies.
We define a semantics for blame and prove the Blame
Theorem. We also prove that the Gradual Guarantee holds
for this system, ensuring that programs can be evolved
freely between static and dynamic typing. Finally, we
demonstrate that the runtime overhead of the transient
approach is low in the context of Reticulated Python,
an implementation of gradual typing for Python.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "POPL '17 conference proceedings.",
}
@Book{Vivien:2017:GDP,
author = "Vladimir Vivien and Mario Contreras and Mat Ryer",
title = "{Go}: Design Patterns for Real-World Projects",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "1091",
year = "2017",
ISBN = "1-78839-055-5, 1-78839-287-6",
ISBN-13 = "978-1-78839-055-2, 978-1-78839-287-7",
LCCN = "????",
bibdate = "Thu Apr 22 10:14:18 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/go.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "An insightful guide to learning the Go programming
language About This Book Get insightful coverage of Go
programming syntax, constructs, and idioms to help you
understand Go code Get a full explanation of all the
known GoF design patterns in Go, including
comprehensive theory and examples Learn to apply the
nuances of the Go language, and get to know the open
source community that surrounds it to implement a wide
range of start-up quality projects Who This Book Is For
Beginners to Go who are comfortable in other OOP
languages like Java, C\#, or Python will find this
course interesting and beneficial. What You Will Learn
Install and configure the Go development environment to
quickly get started with your first program Use the
basic elements of the language including source code
structure, variables, constants, and control flow
primitives Get to know all the basic syntax and tools
you need to start coding in Go Create unique instances
that cannot be duplicated within a program Build quirky
and fun projects from scratch while exploring patterns,
practices, and techniques, as well as a range of
different technologies Create websites and data
services capable of massive scaling using Go's net/http
package, Explore RESTful patterns as well as
low-latency WebSocket APIs Interact with a variety of
remote web services to consume capabilities, ranging
from authentication and authorization to a fully
functioning thesaurus In Detail The Go programming
language has firmly established itself as a favorite
for building complex and scalable system applications.
Go offers a direct and practical approach to
programming that lets programmers write correct and
predictable code using concurrency idioms and a
full-featured standard library. This practical guide is
full of real-world examples to help you get started
with Go in no time at all. You'll start by
understanding the fundamentals of Go, then get a
detailed description of the Go data types, program
structures, and Maps. After that, you'll learn how to
use Go concurrency idioms to avoid pitfalls and create
programs that are exact in expected behavior. Next, you
will get familiar with the tools and libraries that are
available in Go to write and exercise tests,
benchmarking, and code coverage. After that, you will
be able to utilize some of the most important features
of GO such as Network Programming and OS integration to
build efficient applications.",
}
@Article{Willner:2017:PPP,
author = "Sven N. Willner and Corinne Hartin and Robert
Gieseke",
title = "\pkg{pyhector}: a {Python} interface for the simple
climate model {Hector}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "2",
number = "12",
pages = "248:1--248:2",
month = apr,
year = "2017",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00248",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00248",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "28 April 2017",
ORCID-numbers = "Sven N. Willner / 0000-0001-6798-6247; Corinne Hartin
/ 0000-0003-1834-6539; Robert Gieseke /
0000-0002-1236-5109",
}
@Article{AlKadi:2018:GPC,
author = "Muhammed {Al Kadi} and Benedikt Janssen and Jones Yudi
and Michael Huebner",
title = "General-Purpose Computing with Soft {GPUs} on
{FPGAs}",
journal = j-TRETS,
volume = "11",
number = "1",
pages = "5:1--5:??",
month = mar,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1145/3173548",
ISSN = "1936-7406 (print), 1936-7414 (electronic)",
ISSN-L = "1936-7406",
bibdate = "Sat Oct 19 17:42:59 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/trets.bib",
abstract = "Using field-programmable gate arrays (FPGAs) as a
substrate to deploy soft graphics processing units
(GPUs) would enable offering the FPGA compute power in
a very flexible GPU-like tool flow.
Application-specific adaptations like selective
hardening of floating-point operations and instruction
set subsetting would mitigate the high area and power
demands of soft GPUs. This work explores the
capabilities and limitations of soft General Purpose
Computing on GPUs (GPGPU) for both fixed- and floating
point arithmetic. For this purpose, we have developed
FGPU: a configurable, scalable, and portable GPU
architecture designed especially for FPGAs. FGPU is
open-source and implemented entirely in RTL. It can be
programmed in OpenCL and controlled through a Python
API. This article introduces its hardware architecture
as well as its tool flow. We evaluated the proposed
GPGPU approach against multiple other solutions. In
comparison to homogeneous Multi-Processor
System-On-Chips (MPSoCs), we found that using a soft
GPU is a Pareto-optimal solution regarding throughput
per area and energy consumption. On average, FGPU has a
2.9$ \times $ better compute density and 11.2$ \times $
less energy consumption than a single MicroBlaze
processor when computing in IEEE-754 floating-point
format. An average speedup of about 4$ \times $ over
the ARM Cortex-A9 supported with the NEON vector
co-processor has been measured for fixed- or
floating-point benchmarks. In addition, the biggest
FGPU cores we could implement on a Xilinx Zynq-7000
System-On-Chip (SoC) can deliver similar performance to
equivalent implementations with High-Level Synthesis
(HLS).",
acknowledgement = ack-nhfb,
articleno = "5",
fjournal = "ACM Transactions on Reconfigurable Technology and
Systems (TRETS)",
journal-URL = "http://portal.acm.org/toc.cfm?id=J1151",
}
@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/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{Anonymous:2018:PCC,
author = "Anonymous",
title = "\pkg{ChebTools}: {C++11} (and {Python}) tools for
working with {Chebyshev} expansions",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "22",
pages = "569:1--569:3",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1137/110838297",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00569",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "12 February 2018",
remark = "ERROR: The DOI in this entry resolves to a SIAM Review
article (v55 n2 pp375--396 January 2013).",
}
@Book{Balbaert:2018:JP,
author = "Ivo Balbaert",
title = "{Julia 1.0} Programming",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "iv + 184",
year = "2018",
ISBN = "1-78899-909-6",
ISBN-13 = "978-1-78899-909-0",
LCCN = "QA76.73.J85 2018",
bibdate = "Thu Apr 8 11:10:55 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://international.scholarvox.com/book/88863229",
abstract = "Enter the exciting world of Julia, a high-performance
language for technical computing Key Features Leverage
Julia's high speed and efficiency for your applications
Work with Julia in a multi-core, distributed, and
networked environment Apply Julia to tackle problems
concurrently and in a distributed environment Book
Description The release of Julia 1.0 is now ready to
change the technical world by combining the high
productivity and ease of use of Python and R with the
lightning-fast speed of C++. Julia 1.0 programming
gives you a head start in tackling your numerical and
data problems. You will begin by learning how to set up
a running Julia platform, before exploring its various
built-in types. With the help of practical examples,
this book walks you through two important collection
types: arrays and matrices. In addition to this, you
will be taken through how type conversions and
promotions work. In the course of the book, you will be
introduced to the homo-iconicity and metaprogramming
concepts in Julia. You will understand how Julia
provides different ways to interact with an operating
system, as well as other languages, and then you'll
discover what macros are. Once you have grasped the
basics, you'll study what makes Julia suitable for
numerical and scientific computing, and learn about the
features provided by Julia. By the end of this book,
you will also have learned how to run external
programs. This book covers all you need to know about
Julia in order to leverage its high speed and
efficiency for your applications. What you will learn
Set up your Julia environment to achieve high
productivity Create your own types to extend the
built-in type system Visualize your data in Julia with
plotting packages Explore the use of built-in macros
for testing and debugging, among other uses Apply Julia
to tackle problems concurrently Integrate Julia with
other languages such as C, Python, and MATLAB Who this
book is for Julia 1.0 Programming is for you if you are
a statistician or data scientist who wants a crash
course in the Julia programming language while building
big data applications. A basic knowledge of mathematics
is needed to understand the various methods that are
used or created during the course of the book to
exploit the capabilities that Julia is designed with.
Downloading the example code for this book You can
download the example code files for all Packt books you
have purchased from your account at
http://www.PacktPub.com.",
acknowledgement = ack-nhfb,
}
@Article{Bezanson:2018:JDP,
author = "Jeff Bezanson and Jiahao Chen and Benjamin Chung and
Stefan Karpinski and Viral B. Shah and Jan Vitek and
Lionel Zoubritzky",
title = "{Julia}: dynamism and performance reconciled by
design",
journal = j-PACMPL,
volume = "2",
number = "OOPSLA",
pages = "120:1--120:23",
month = oct,
year = "2018",
DOI = "https://doi.org/10.1145/3276490",
bibdate = "Sat Aug 8 07:56:30 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3276490",
abstract = "Julia is a programming language for the scientific
community that combines features of productivity
languages, such as Python or MATLAB, with
characteristics of performance-oriented languages, such
as C++ or Fortran. Julia's productivity features
include: dynamic typing, automatic memory management,
rich type annotations, and multiple dispatch. At the
same time, Julia allows programmers to control memory
layout and leverages a specializing just-in-time
compiler to eliminate much of the overhead of those
features. This paper details the design choices made by
the creators of Julia and reflects on the implications
of those choices for performance and usability.",
acknowledgement = ack-nhfb,
articleno = "120",
fjournal = "Proceedings of the ACM on Programming Languages",
journal-URL = "https://pacmpl.acm.org/",
}
@Article{Borowka:2018:PTN,
author = "S. Borowka and G. Heinrich and S. Jahn and S. P. Jones
and M. Kerner and J. Schlenk and T. Zirke",
title = "{pySecDec}: a toolbox for the numerical evaluation of
multi-scale integrals",
journal = j-COMP-PHYS-COMM,
volume = "222",
number = "??",
pages = "313--326",
month = jan,
year = "2018",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Dec 2 17:13:54 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465517303028",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bourbeau:2018:PPP,
author = "James Bourbeau and Zigfried Hampel-Arias",
title = "\pkg{PyUnfold}: a {Python} package for iterative
unfolding",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "741:1--741:3",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00741",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00741",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 June 2018",
ORCID-numbers = "James Bourbeau / 0000-0003-2164-7789; Zigfried
Hampel-Arias / 0000-0003-0253-9117",
}
@Article{Brewer:2018:DDN,
author = "Brendon J. Brewer and Daniel Foreman-Mackey",
title = "\pkg{DNest4}: Diffusive Nested Sampling in {C++} and
{Python}",
journal = j-J-STAT-SOFT,
volume = "86",
number = "??",
pages = "??--??",
month = "????",
year = "2018",
CODEN = "JSSOBK",
DOI = "https://doi.org/10.18637/jss.v86.i07",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Fri Mar 15 10:18:21 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v086i07;
https://www.jstatsoft.org/index.php/jss/article/view/v086i07/v86i07.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Article{Broberg:2018:PPT,
author = "Danny Broberg and Bharat Medasani and Nils E. R.
Zimmermann and Guodong Yu and Andrew Canning and Maciej
Haranczyk and Mark Asta and Geoffroy Hautier",
title = "{PyCDT}: a {Python} toolkit for modeling point defects
in semiconductors and insulators",
journal = j-COMP-PHYS-COMM,
volume = "226",
number = "??",
pages = "165--179",
month = may,
year = "2018",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.01.004",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu May 31 14:32:17 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S0010465518300079",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Brown:2018:PHP,
author = "Ryan C. Brown and Joshua Moser",
title = "\pkg{HSImage}: a {Python} and {C++} library to allow
interaction with {ENVI-BIL} hyperspectral images",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "630:1--630:2",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00630",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00630",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "21 May 2018",
ORCID-numbers = "Ryan C. Brown / 0000-0002-3832-775X",
}
@Article{Brown:2018:PPP,
author = "Thomas Brown and Jonas H{\"o}rsch and David
Schlachtberger",
title = "\pkg{PyPSA}: {Python} for Power System Analysis",
journal = j-J-OPEN-RES-SOFT,
volume = "6",
number = "1",
pages = "4--??",
day = "16",
month = jan,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.188",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:51 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.188/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Criado:2018:MPL,
author = "Juan C. Criado",
title = "{MatchingTools}: a {Python} library for symbolic
effective field theory calculations",
journal = j-COMP-PHYS-COMM,
volume = "227",
number = "??",
pages = "42--50",
month = jun,
year = "2018",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.02.016",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Mar 16 13:51:08 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465518300456",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Dahlgren:2018:PCP,
author = "Bj{\"o}rn Dahlgren",
title = "\pkg{ChemPy}: a package useful for chemistry written
in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "24",
pages = "565:1--565:2",
month = apr,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00565",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00565",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 April 2018",
ORCID-numbers = "Bj{\"o}rn Dahlgren / 0000-0003-0596-0222",
}
@Article{Dahlgren:2018:PPSa,
author = "Bj{\"o}rn Dahlgren",
title = "\pkg{pyodesys}: Straightforward numerical integration
of {ODE} systems from {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "21",
pages = "490:1--490:2",
month = jan,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00490",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00490",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "03 January 2018",
ORCID-numbers = "Bj{\"o}rn Dahlgren / 0000-0003-0596-0222",
}
@Article{Dahlgren:2018:PPSb,
author = "Bj{\"o}rn Dahlgren",
title = "\pkg{pyneqsys}: Solve symbolically defined systems of
non-linear equations numerically",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "21",
pages = "531:1--531:2",
month = jan,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00531",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00531",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "22 January 2018",
ORCID-numbers = "Bj{\"o}rn Dahlgren / 0000-0003-0596-0222",
}
@Article{Daloze:2018:PDL,
author = "Benoit Daloze and Arie Tal and Stefan Marr and
Hanspeter M{\"o}ssenb{\"o}ck and Erez Petrank",
title = "Parallelization of dynamic languages: synchronizing
built-in collections",
journal = j-PACMPL,
volume = "2",
number = "OOPSLA",
pages = "108:1--108:30",
month = oct,
year = "2018",
DOI = "https://doi.org/10.1145/3276478",
bibdate = "Sat Aug 8 07:56:30 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/hash.bib;
https://www.math.utah.edu/pub/tex/bib/java2010;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3276478",
abstract = "Dynamic programming languages such as Python and Ruby
are widely used, and much effort is spent on making
them efficient. One substantial research effort in this
direction is the enabling of parallel code execution.
While there has been significant progress, making
dynamic collections efficient, scalable, and
thread-safe is an open issue. Typical programs in
dynamic languages use few but versatile collection
types. Such collections are an important ingredient of
dynamic environments, but are difficult to make safe,
efficient, and scalable.\par
In this paper, we propose an approach for efficient and
concurrent collections by gradually increasing
synchronization levels according to the dynamic needs
of each collection instance. Collections reachable only
by a single thread have no synchronization, arrays
accessed in bounds have minimal synchronization, and
for the general case, we adopt the Layout Lock paradigm
and extend its design with a lightweight version that
fits the setting of dynamic languages. We apply our
approach to Ruby's Array and Hash collections. Our
experiments show that our approach has no overhead on
single-threaded benchmarks, scales linearly for Array
and Hash accesses, achieves the same scalability as
Fortran and Java for classic parallel algorithms, and
scales better than other Ruby implementations on Ruby
workloads",
acknowledgement = ack-nhfb,
articleno = "108",
fjournal = "Proceedings of the ACM on Programming Languages",
journal-URL = "https://pacmpl.acm.org/",
}
@Book{Dan:2018:LJE,
author = "Toomey Dan",
title = "Learning {Jupyter 5}: explore interactive computing
using {Python}, {Java}, {JavaScript}, {R}, {Julia}, and
{JupyterLab}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "282",
year = "2018",
ISBN = "1-78913-740-3, 1-78913-744-6",
ISBN-13 = "978-1-78913-740-8, 978-1-78913-744-6",
LCCN = "Q183.9; QA76.9.I52 .T666 2018",
bibdate = "Fri Apr 9 05:38:17 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/java2010.bib;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
acknowledgement = ack-nhfb,
tableofcontents = "Preface \\
1: Introduction to Jupyter \\
First look at Jupyter \\
Installing Jupyter \\
Notebook structure \\
Notebook workflow \\
Basic Notebook operations \\
File operations \\
Duplicate \\
Rename \\
Delete \\
Upload \\
New text file \\
New folder \\
New Python 3 \\
Security in Jupyter \\
Security digest \\
Trust options \\
Configuration options for Jupyter \\
Summary \\
2: Jupyter Python Scripting \\
Basic Python in Jupyter \\
Python data access in Jupyter \\
Python pandas in Jupyter \\
Python graphics in Jupyter \\
Python random numbers in Jupyter \\
Summary \\
3: Jupyter R Scripting \\
Adding R scripting to your installation \\
Adding R scripts to Jupyter on macOS \\
Adding R scripts to Jupyter on Windows \\
Adding R packages to Jupyter \\
R limitations in Jupyter \\
Basic R in Jupyter \\
R dataset access \\
R visualizations in Jupyter \\
R 3D graphics in Jupyter \\
R 3D scatterplot in Jupyter \\
R cluster analysis \\
R forecasting \\
R machine learning \\
Dataset \\
Summary \\
4: Jupyter Julia Scripting \\
Adding Julia scripting to your installation \\
Adding Julia scripts to Jupyter \\
Adding Julia packages to Jupyter \\
Basic Julia in Jupyter \\
Julia limitations in Jupyter \\
Standard Julia capabilities \\
Julia visualizations in Jupyter \\
Julia Gadfly scatterplot \\
Julia Gadfly histogram \\
Julia Winston plotting \\
Julia Vega plotting \\
Julia PyPlot plotting \\
Julia parallel processing \\
Julia control flow \\
Julia regular expressions \\
Julia unit testing \\
Summary \\
5: Jupyter Java Coding \\
Adding the Java kernel to your installation \\
Installing Java 9 or later \\
A Jupyter environment is required \\
Configuring IJava \\
Downloading the IJava project from GitHub \\
Building and installing the kernel \\
Available options \\
Jupyter Java console \\
Jupyter Java output \\
Java Optional \\
Java compiler errors \\
Java lambdas \\
Java Collections \\
Java streams \\
Java summary statistics \\
Summary \\
6: Jupyter JavaScript Coding \\
Adding JavaScript scripting to your installation \\
Adding JavaScript scripts to Jupyter on macOS or
Windows \\
JavaScript Hello World Jupyter Notebook \\
Adding JavaScript packages to Jupyter \\
Basic JavaScript in Jupyter \\
JavaScript limitations in Jupyter \\
Node.js d3 package \\
Node.js stats-analysis package \\
Node.js JSON handling \\
Node.js canvas package \\
Node.js plotly package \\
Node.js asynchronous threadsNode.js decision-tree
package \\
Summary \\
7: Jupyter Scala \\
Installing the Scala kernel \\
Scala data access in Jupyter \\
Scala array operations \\
Scala random numbers in Jupyter \\
Scala closures \\
Scala higher-order functions \\
Scala pattern matching \\
Scala case classes \\
Scala immutability \\
Scala collections \\
Named arguments \\
Scala traits \\
Summary \\
8: Jupyter and Big Data \\
Apache Spark \\
Installing Spark on macOS \\
Windows install \\
First Spark script \\
Spark word count \\
Sorted word count \\
Estimate pi \\
Log file examination \\
Spark primes \\
Spark text file analysis",
}
@Book{Daniel:2018:SG,
author = "John Leon Daniel",
title = "Security with {Go}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
year = "2018",
ISBN = "1-78862-791-1",
ISBN-13 = "978-1-78862-791-7",
LCCN = "QA76.585 .L466 2018; QA76.59",
bibdate = "Thu Apr 22 10:33:25 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/go.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "The first stop for your security needs when using Go,
covering host, network, and cloud security for ethical
hackers and defense against intrusion About This Book
First introduction to Security with Golang Adopting a
Blue Team/Red Team approach Take advantage of speed and
inherent safety of Golang Works as an introduction to
security for Golang developers Works as a guide to
Golang security packages for recent Golang beginners
Who This Book Is For Security with Go is aimed at
developers with basics in Go to the level that they can
write their own scripts and small programs without
difficulty. Readers should be familiar with security
concepts, and familiarity with Python security
applications and libraries is an advantage, but not a
necessity. What You Will Learn Learn the basic concepts
and principles of secure programming Write secure
Golang programs and applications Understand classic
patterns of attack Write Golang scripts to defend
against network-level attacks Learn how to use Golang
security packages Apply and explore cryptographic
methods and packages Learn the art of defending against
brute force attacks Secure web and cloud applications
In Detail Go is becoming more and more popular as a
language for security experts. Its wide use in server
and cloud environments, its speed and ease of use, and
its evident capabilities for data analysis, have made
it a prime choice for developers who need to think
about security. Security with Go is the first Golang
security book, and it is useful for both blue team and
red team applications. With this book, you will learn
how to write secure software, monitor your systems,
secure your data, attack systems, and extract
information. Defensive topics include cryptography,
forensics, packet capturing, and building secure web
applications. Offensive topics include brute force,
port scanning, packet injection, web scraping, social
engineering, and post exploitation techniques. Style
and approach John Leon has divided the book into two
parts which present the team playing defense against
anyone breaking into servers and the team playing
(ethical!) offense to perform said attacks. All Go
scripts and programs are workable solutions that can be
easily understood and expanded upon by anyone with a
system administrator's level view of networking and
cloud-based systems. Golang developers will profit from
a swift and incisive approach to security. Downloading
the example code for this book You can download the ex
.",
acknowledgement = ack-nhfb,
remark = "Title from content provider.",
subject = "Information technology; Security measures; Computer
security; Management; Computer networks; Data
protection; Security measures; Management; Data
protection.",
tableofcontents = "Preface \\
1: Introduction to Security with Go \\
About Go \\
Go language design \\
The History of Go \\
Adoption and community \\
Common criticisms about Go \\
The Go toolchain \\
Go mascot \\
Learning Go \\
Why use Go? \\
Why use Go for security? \\
Why not use Python? \\
Why not use Java? \\
Why not use C++? \\
Development environment \\
Installing Go on other platforms \\
Other Linux distributions \\
Windows \\
Mac \\
Setting up Go \\
Creating your workspace \\
Setting up environment variables \\
Editors \\
Creating your first package \\
Writing your first program \\
Running the executable file \\
Building the executable file \\
Installing the executable file \\
Formatting with go fmt \\
Running Go examples \\
Building a single Go file \\
Running a single Go file \\
Building multiple Go files \\
Building a folder (package) \\
Installing a program for use \\
Summary \\
2: The Go Programming Language \\
Go language specification \\
The Go playground \\
A tour of Go \\
Keywords \\
Notes about source code \\
Comments \\
Types \\
Boolean \\
Numeric \\
Generic numbers \\
Specific numbers \\
Unsigned integers \\
Signed integers \\
Floating point numbers \\
Other numeric types \\
String \\
Array \\
Slice \\
Struct \\
Pointer \\
Function \\
Interface \\
Map \\
Channel \\
Control structures \\
if \\
for \\
range \\
switch, case, fallthrough, and default \\
goto \\
Defer \\
Packages \\
Classes \\
Inheritance \\
Polymorphism \\
Constructors \\
Methods \\
Operator overloading \\
Goroutines \\
Getting help and documentation \\
Online Go documentation \\
Offline Go documentation \\
Summary \\
3: Working with Files \\
File basics \\
Creating an empty file \\
Truncating a file \\
Getting the file info \\
Renaming a file \\
Deleting a file \\
Opening and closing files \\
Checking whether a file exists \\
Checking read and write permissions \\
Changing permissions, ownership, and timestamps \\
Hard links and symlinks \\
Reading and writing \\
Copying a file \\
Seeking positions in a file \\
Writing bytes to a file \\
Quickly writing to a file \\
Buffered writer \\
Reading up to n bytes from a file \\
Reading exactly n bytes \\
Reading at least n bytes \\
Reading all bytes of a file \\
Quickly reading whole files to memory \\
Buffered reader \\
Reading with a scanner \\
Archives \\
Archive (ZIP) files \\
Extracting (unzip) archived files \\
Compression \\
Compressing a file \\
Uncompressing a File \\
Creating temporary files and directories \\
Downloading a file over HTTP \\
Summary \\
4: Forensics \\
Files \\
Getting file information \\
Finding the largest files \\
Finding recently modified files \\
Reading the boot sector \\
Steganography \\
Generating an image with random noise \\
Creating a ZIP archive \\
Creating a steganographic image archive \\
Detecting a ZIP archive in a JPEG image \\
Network \\
Looking up a hostname from an IP address \\
Looking up IP addresses from a hostname \\
Looking up MX records \\
Looking up nameservers for a hostname \\
Summary \\
5: Packet Capturing and Injection \\
Prerequisites \\
Installing libpcap and Git \\
Installing libpcap on Ubuntu \\
Installing libpcap on Windows \\
Installing libpcap on macOS \\
Installing gopacket \\
Permission problems \\
Getting a list of network devices \\
Capturing packets \\
Capturing with filters \\
Saving to the pcap file \\
Reading from a pcap file \\
Decoding packet layers \\
Creating a custom layer \\
Converting bytes to and from packets \\
Creating and sending packets \\
Decoding packets faster \\
Summary \\
6: Cryptography \\
Hashing \\
Hashing small files \\
Hashing large files \\
Storing passwords securely \\
Encryption \\
Cryptographically secure pseudo-random number generator
(CSPRNG) \\
Symmetric encryption \\
AES \\
Asymmetric encryption \\
Generating a public and private key pair \\
Digitally signing a message \\
Verifying a signature \\
TLS \\
Generating a self-signed certificate \\
Creating a certificate signing request \\
Signing a certificate request \\
TLS server \\
TLS client \\
Other encryption packages \\
OpenPGP \\
Off The Record (OTR) messaging \\
Summary \\
7: Secure Shell (SSH) \\
Using the Go SSH client \\
Authentication methods \\
Authenticating with a password \\
Authenticating with private key \\
Verifying remote host \\
Executing a command over SSH \\
Starting an interactive shell \\
Summary \\
8: Brute Force \\
Brute forcing HTTP basic authentication \\
Brute forcing the HTML login form \\
Brute forcing SSH \\
Brute forcing database login \\
Summary \\
9: Web Applications \\
HTTP server \\
Simple HTTP servers \\
HTTP basic auth \\
Using HTTPS \\
Creating secure cookies \\
HTML escaping output \\
Middleware with Negroni \\
Logging requests \\
Adding secure HTTP headers \\
Serving static files \\
Other best practices \\
CSRF tokens \\
Preventing user enumeration and abuse \\
Registration \\
Login \\
Resetting the password \\
User profiles \\
Preventing LFI and RFI abuse \\
Contaminated files \\
HTTP client \\
The basic HTTP request \\
Using the client SSL certificate \\
Using a proxy \\
Using system proxy \\
Using a specific HTTP proxy \\
Using a SOCKS5 proxy (Tor) \\
Summary \\
10: Web Scraping \\
Web scraping fundamentals \\
Finding strings in HTTP responses with the strings
package \\
Using regular expressions to find email addresses in a
page \\
Extracting HTTP headers from an HTTP response \\
Setting cookies with an HTTP client \\
Finding HTML comments in a web page \\
Finding unlisted files on a web server \\
Changing the user agent of a request \\
Fingerprinting web application technology stacks \\
Fingerprinting based on HTTP response headers \\
Fingerprinting web applications \\
How to prevent fingerprinting of your applications \\
Using the goquery package for web scraping \\
Listing all hyperlinks in a page \\
Finding documents in a web page \\
Listing page title and headings \\
Crawling pages on the site that store the most common
words \\
Printing a list of external JavaScript files in a page
\\
Depth-first crawling \\
Breadth-first crawling \\
How to protect against web scraping \\
Summary \\
11: Host Discovery and Enumeration \\
TCP and UDP sockets \\
Creating a server \\
Creating a client \\
Port scanning \\
Grabbing a banner from a service \\
Creating a TCP proxy \\
Finding named hosts on a network \\
Fuzzing a network service \\
Summary \\
12: Social Engineering \\
Gathering intel via JSON REST API \\
Sending phishing emails with SMTP \\
Generating QR codes \\
Base64 encoding data \\
Honeypots \\
TCP honeypot \\
The TCP testing tool \\
HTTP POST form login honeypot \\
HTTP form field honeypots \\
Sandboxing \\
Summary \\
13: Post Exploitation \\
Cross compiling \\
Creating bind shells \\
Creating reverse bind shells \\
Creating web shells \\
Finding writable files \\
Changing file timestamp \\
Changing file permissions \\
Changing file ownership \\
Summary \\
14: Conclusions \\
Recapping the topics you have learned \\
More thoughts on the usage of Go \\
What I hope you take away from the book \\
Be aware of legal, ethical, and technical boundaries
\\
Where to go from here \\
Getting help and learning more \\
Another Book You May Enjoy \\
Leave a review \\
let other readers know what you think \\
Index",
}
@Article{Demidov:2018:UPP,
author = "Alexander G. Demidov and Michael E. Fortunato and
Coray M. Colina",
title = "Update 0.2 to {``\pkg{pysimm}: a Python package for
simulation of molecular systems''}",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "63--69",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.02.006",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
note = "See \cite{Fortunato:2017:PPP}.",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018300141",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Demo:2018:PPP,
author = "Nicola Demo and Marco Tezzele and Gianluigi Rozza",
title = "\pkg{PyDMD}: {Python Dynamic Mode Decomposition}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "22",
pages = "530:1--530:3",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00530",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00530",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "12 February 2018",
ORCID-numbers = "Nicola Demo / 0000-0003-3107-9738; Marco Tezzele /
0000-0001-9747-6328; Gianluigi Rozza /
0000-0002-0810-8812",
}
@Article{Fasnacht:2018:PMP,
author = "Laurent Fasnacht",
title = "\pkg{mmappickle}: {Python 3} module to store
memory-mapped \pkg{numpy} array in \pkg{pickle}
format",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "651:1--651:2",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00651",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00651",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "18 June 2018",
ORCID-numbers = "Laurent Fasnacht / 0000-0002-9853-8209",
}
@Article{Fleming:2018:PAA,
author = "David P. Fleming and Jake VanderPlas",
title = "\pkg{approxposterior}: Approximate Posterior
Distributions in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "29",
pages = "781:1--781:2",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00781",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00781",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 September 2018",
ORCID-numbers = "David P. Fleming / 0000-0001-9293-4043; Jake
VanderPlas / 0000-0002-9623-3401",
}
@Article{Gagunashvili:2018:CCG,
author = "Nikolay D. Gagunashvili and Helgi Halldorsson",
title = "{CHIWEI}: a code of goodness of fit tests for weighted
and unweighted histograms in {Fortran-77}, {C++}, {R}
and {Python}",
journal = j-COMP-PHYS-COMM,
volume = "231",
number = "??",
pages = "245--245",
month = oct,
year = "2018",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.04.028",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Jun 14 14:22:45 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465518301449",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Gieseke:2018:PPP,
author = "Robert Gieseke and Sven N. Willner and Matthias
Mengel",
title = "\pkg{Pymagicc}: a {Python} wrapper for the simple
climate model {MAGICC}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "22",
pages = "516:1--516:3",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00516",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00516",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 February 2018",
ORCID-numbers = "Robert Gieseke / 0000-0002-1236-5109; Sven N. Willner
/ 0000-0001-6798-6247; Matthias Mengel /
0000-0001-6724-9685",
}
@Article{Gins:2018:ACD,
author = "W. Gins and R. P. de Groote and M. L. Bissell and C.
Granados Buitrago and R. Ferrer and K. M. Lynch and G.
Neyens and S. Sels",
title = "Analysis of counting data: Development of the {SATLAS}
{Python} package",
journal = j-COMP-PHYS-COMM,
volume = "222",
number = "??",
pages = "286--294",
month = jan,
year = "2018",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Dec 2 17:13:54 MST 2017",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465517302990",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Gladstein:2018:SPF,
author = "Ariella L. Gladstein and Consuelo D. Quinto-Cort{\'e}s
and Julian L. Pistorius and David Christy and Logan
Gantner and Blake L. Joyce",
title = "{SimPrily}: a {Python} framework to simplify
high-throughput genomic simulations",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "335--340",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.09.003",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301213",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Goldbaum:2018:PUH,
author = "Nathan J. Goldbaum and John A. ZuHone and Matthew J.
Turk and Kacper Kowalik and Anna L. Rosen",
title = "\pkg{unyt}: Handle, manipulate, and convert data with
units in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "809:1--809:11",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00809",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00809",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "14 August 2018",
ORCID-numbers = "Nathan J. Goldbaum / 0000-0001-5557-267X; John A.
ZuHone / 0000-0003-3175-2347; Matthew J. Turk /
0000-0002-5294-0198; Kacper Kowalik /
0000-0003-1709-3744; Anna L. Rosen /
0000-0003-4423-0660",
}
@Article{Goyal:2018:PGP,
author = "Palash Goyal and Emilio Ferrara",
title = "\pkg{GEM}: a {Python} package for graph embedding
methods",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "29",
pages = "876:1--876:2",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00876",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00876",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "01 September 2018",
ORCID-numbers = "Palash Goyal / 0000-0003-2455-2160; Emilio Ferrara /
0000-0002-1942-2831",
}
@Article{Grady:2018:PPP,
author = "Maxwell Grady and Zhongwei Dai and Karsten Pohl",
title = "\pkg{PLEASE}: The {Python Low-energy Electron Analysis
SuitE} --- Enabling Rapid Analysis of {LEEM} and {LEED}
Data",
journal = j-J-OPEN-RES-SOFT,
volume = "6",
number = "1",
pages = "7--??",
day = "05",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.191",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:51 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.191/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Gray:2018:PQP,
author = "Johnnie Gray",
title = "\pkg{quimb}: a {Python} package for quantum
information and many-body calculations",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "29",
pages = "819:1--819:3",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00819",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00819",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 September 2018",
ORCID-numbers = "Johnnie Gray / 0000-0001-9461-3024",
}
@Article{Green:2018:PDP,
author = "Gregory M. Green",
title = "\pkg{dustmaps}: a {Python} interface for maps of
interstellar dust",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "695:1--695:2",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00695",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00695",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "27 June 2018",
ORCID-numbers = "Gregory M. Green / 0000-0001-5417-2260",
}
@Article{Guelton:2018:PCP,
author = "Serge Guelton",
title = "{Pythran}: Crossing the {Python} Frontier",
journal = j-COMPUT-SCI-ENG,
volume = "20",
number = "2",
pages = "83--89",
month = "????",
year = "2018",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2018.021651342",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Sep 6 07:03:30 MDT 2018",
bibsource = "http://csdl.computer.org/comp/mags/cs/2018/02/c2toc.htm;
https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://ieeexplore.ieee.org/document/8317992/",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Haghighi:2018:PPM,
author = "Sepand Haghighi and Masoomeh Jasemi and Shaahin
Hessabi and Alireza Zolanvari",
title = "\pkg{PyCM}: Multiclass confusion matrix library in
{Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "729:1--729:2",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00729",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00729",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "28 May 2018",
ORCID-numbers = "Sepand Haghighi / 0000-0001-9450-2375; Masoomeh
Jasemi / 0000-0002-4831-1698; Shaahin Hessabi /
0000-0003-3193-2567; Alireza Zolanvari /
0000-0003-2367-8343",
}
@Article{Handley:2018:PFP,
author = "Will Handley",
title = "\pkg{fgivenx}: a {Python} package for functional
posterior plotting",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "849:1--849:4",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00849",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00849",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "28 August 2018",
ORCID-numbers = "Will Handley / 0000-0002-5866-0445",
}
@Article{Holmgren:2018:PPP,
author = "William F. Holmgren and Clifford W. Hansen and Mark A.
Mikofski",
title = "\pkg{pvlib python}: a {Python} package for modeling
solar energy systems",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "29",
pages = "884:1--884:3",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00884",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00884",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "07 September 2018",
ORCID-numbers = "William F. Holmgren / 0000-0001-6218-9767; Clifford
W. Hansen / 0000-0002-8620-5378; Mark A. Mikofski /
0000-0001-8001-8582",
}
@Article{Huang:2018:ROO,
author = "Wen Huang and P.-A. Absil and Kyle A. Gallivan and
Paul Hand",
title = "{ROPTLIB}: an Object-Oriented {C++} Library for
Optimization on {Riemannian} Manifolds",
journal = j-TOMS,
volume = "44",
number = "4",
pages = "43:1--43:21",
month = aug,
year = "2018",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3218822",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Fri Oct 5 11:23:13 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/citation.cfm?id=3218822",
abstract = "Riemannian optimization is the task of finding an
optimum of a real-valued function defined on a
Riemannian manifold. Riemannian optimization has been a
topic of much interest over the past few years due to
many applications including computer vision, signal
processing, and numerical linear algebra. The
substantial background required to successfully design
and apply Riemannian optimization algorithms is a
significant impediment for many potential users.
Therefore, multiple packages, such as Manopt (in
Matlab) and Pymanopt (in Python), have been developed.
This article describes ROPTLIB, a C++ library for
Riemannian optimization. Unlike prior packages, ROPTLIB
simultaneously achieves the following goals: (i) it has
user-friendly interfaces in Matlab, Julia, and C++;
(ii) users do not need to implement manifold- and
algorithm-related objects; (iii) it provides efficient
computational time due to its C++ core; (iv) it
implements state-of-the-art generic Riemannian
optimization algorithms, including quasi-Newton
algorithms; and (v) it is based on object-oriented
programming, allowing users to rapidly add new
algorithms and manifolds.",
acknowledgement = ack-nhfb,
articleno = "43",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Hucka:2018:PNN,
author = "Michael Hucka",
title = "\pkg{Nostril}: a nonsense string evaluator written in
{Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "596:1--596:2",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00596",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00596",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "11 May 2018",
ORCID-numbers = "Michael Hucka / 0000-0001-9105-5960",
}
@Article{Hughes:2018:PMP,
author = "Momar G-O Hughes",
title = "\pkg{MCycle}: a {Python} package for {$1$D} sizing and
analysis of thermodynamic power cycles",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "710:1--710:2",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00710",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00710",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "02 August 2018",
ORCID-numbers = "Momar G-O Hughes / 0000-0002-6928-2187",
}
@Article{Hwang:2018:CAC,
author = "John T. Hwang and Joaquim R. R. A. Martins",
title = "A Computational Architecture for Coupling
Heterogeneous Numerical Models and Computing Coupled
Derivatives",
journal = j-TOMS,
volume = "44",
number = "4",
pages = "37:1--37:39",
month = aug,
year = "2018",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3182393",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Fri Oct 5 11:23:13 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/citation.cfm?id=3182393",
abstract = "One of the challenges in computational modeling is
coupling models to solve multidisciplinary problems.
Flow-based computational frameworks alleviate part of
the challenge through a modular approach, where data
flows from component to component. However, existing
flow-based frameworks are inefficient when coupled
derivatives are needed for optimization. To address
this, we develop the modular analysis and unified
derivatives (MAUD) architecture. MAUD formulates the
multidisciplinary model as a nonlinear system of
equations, which leads to a linear equation that
unifies all methods for computing derivatives. This
enables flow-based frameworks that use the MAUD
architecture to provide a common interface for the
chain rule, adjoint method, coupled adjoint method, and
hybrid methods; MAUD automatically uses the appropriate
method for the problem. A hierarchical, matrix-free
approach enables modern solution techniques such as
Newton--Krylov solvers to be used within this
monolithic formulation without computational overhead.
Two demonstration problems are solved using a Python
implementation of MAUD: a nanosatellite optimization
with more than 2 million unknowns and 25,000 design
variables, and an aircraft optimization involving over
6,000 design variables and 23,000 constraints. MAUD is
now implemented in the open source framework OpenMDAO,
which has been used to solve aircraft, satellite, wind
turbine, and turbofan engine design problems.",
acknowledgement = ack-nhfb,
articleno = "37",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Izzo:2018:VMT,
author = "Richard Izzo and David Steinman and Simone Manini and
Luca Antiga",
title = "The Vascular Modeling Toolkit: a {Python} Library for
the Analysis of Tubular Structures in Medical Images",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "745:1--745:5",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00745",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00745",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "26 May 2018",
ORCID-numbers = "Richard Izzo / 0000-0002-0811-6513; David Steinman /
0000-0002-7963-1168; Simone Manini /
0000-0003-4350-659X; Luca Antiga /
0000-0002-8367-227X",
}
@Article{James:2018:PDP,
author = "Ryan G. James and Christopher J. Ellison and James P.
Crutchfield",
title = "\pkg{dit}: a {Python} package for discrete information
theory",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "738:1--738:3",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00738",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00738",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "31 May 2018",
ORCID-numbers = "Ryan G. James / 0000-0003-2149-9085",
}
@Article{Kemmer:2018:NJE,
author = "Thomas Kemmer and Sergej Rjasanow and Andreas
Hildebrandt",
title = "\pkg{NESSie.jl} --- Efficient and intuitive finite
element and boundary element methods for nonlocal
protein electrostatics in the {Julia} language",
journal = j-J-COMPUT-SCI,
volume = "28",
pages = "193--203",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2018.08.008",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Fri Apr 9 15:22:25 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S187775031730738X",
abstract = "The development of scientific software can be
generally characterized by an initial phase of rapid
prototyping and the subsequent transition to
computationally efficient production code.
Unfortunately, most programming languages are not
well-suited for both tasks at the same time, commonly
resulting in a considerable extension of the
development time. The cross-platform and open-source
Julia language aims at closing the gap between
prototype and production code by providing a usability
comparable to Python or MATLAB alongside
high-performance capabilities known from C and C++ in a
single programming language. In this paper, we present
efficient protein electrostatics computations as a
showcase example for Julia. More specifically, we
present both finite element and boundary element
solvers for computing electrostatic potentials of
proteins in structured solvents. By modeling the latter
in an implicit but nonlocal fashion, we account for
correlation of molecular polarization due to the
solvent structure around the solute and sustain
accuracy without suffering from infeasible runtimes as
compared to the explicit case. In this context, we show
that our implementation is on par with optimized C code
and highlight the components of the implementation that
can be transferred to more general tasks.",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
keywords = "Protein electrostatics, Finite element method,
Boundary element method, Julia language",
}
@Article{Kemmer:2018:PNJ,
author = "Thomas Kemmer and Sergej Rjasanow and Andreas
Hildebrandt",
title = "\pkg{NESSie.jl}: Efficient and intuitive finite
element and boundary element methods for nonlocal
protein electrostatics in the {Julia} language",
journal = j-J-COMPUT-SCI,
volume = "28",
pages = "193--203",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2018.08.008",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Fri Apr 9 15:22:25 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S187775031730738X",
abstract = "The development of scientific software can be
generally characterized by an initial phase of rapid
prototyping and the subsequent transition to
computationally efficient production code.
Unfortunately, most programming languages are not
well-suited for both tasks at the same time, commonly
resulting in a considerable extension of the
development time. The cross-platform and open-source
Julia language aims at closing the gap between
prototype and production code by providing a usability
comparable to Python or MATLAB alongside
high-performance capabilities known from C and C++ in a
single programming language. In this paper, we present
efficient protein electrostatics computations as a
showcase example for Julia. More specifically, we
present both finite element and boundary element
solvers for computing electrostatic potentials of
proteins in structured solvents. By modeling the latter
in an implicit but nonlocal fashion, we account for
correlation of molecular polarization due to the
solvent structure around the solute and sustain
accuracy without suffering from infeasible runtimes as
compared to the explicit case. In this context, we show
that our implementation is on par with optimized C code
and highlight the components of the implementation that
can be transferred to more general tasks.",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
keywords = "Protein electrostatics, Finite element method,
Boundary element method, Julia language",
}
@Article{Konda:2018:TPT,
author = "Pradap Konda and Sanjib Das and Paul Suganthan G. C.
and Philip Martinkus and Adel Ardalan and Jeffrey R.
Ballard and Yash Govind and Han Li and Fatemah Panahi
and Haojun Zhang and Jeff Naughton and Shishir Prasad
and Ganesh Krishnan and Rohit Deep and Vijay
Raghavendra",
title = "Technical Perspective: Toward Building Entity Matching
Management Systems",
journal = j-SIGMOD,
volume = "47",
number = "1",
pages = "33--40",
month = mar,
year = "2018",
CODEN = "SRECD8",
DOI = "https://doi.org/10.1145/3277006.3277015",
ISSN = "0163-5808 (print), 1943-5835 (electronic)",
ISSN-L = "0163-5808",
bibdate = "Mon Sep 10 17:03:25 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigmod.bib",
abstract = "Entity matching (EM) has been a long-standing
challenge in data management. Most current EM works
focus only on developing matching algorithms. We argue
that far more efforts should be devoted to building EM
systems. We discuss the limitations of current EM
systems, then describe Magellan, a new kind of EM
system. Magellan is novel in four important aspects.
(1) It provides how-to guides that tell users what to
do in each EM scenario, step by step. (2) It provides
tools to help users execute these steps; the tools seek
to cover the entire EM pipeline, not just blocking and
matching as current EM systems do. (3) Tools are built
into the Python open-source data science ecosystem,
allowing Magellan to borrow a rich set of capabilities
in data cleaning, IE, visualization, learning, etc. (4)
Magellan provides a powerful scripting environment to
facilitate interactive experimentation and quick
``patching'' of the system. We describe research
challenges and present extensive experiments that show
the promise of the Magellan approach.",
acknowledgement = ack-nhfb,
fjournal = "SIGMOD Record (ACM Special Interest Group on
Management of Data)",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J689",
}
@Article{Krebber:2018:PMP,
author = "Manuel Krebber and Henrik Barthels",
title = "\pkg{MatchPy}: Pattern Matching in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "670:1--670:2",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00670",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00670",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "21 June 2018",
ORCID-numbers = "Manuel Krebber / 0000-0001-5038-1102; Henrik Barthels
/ 0000-0001-6744-3605",
}
@Article{Kundu:2018:PPA,
author = "Sudipta Kundu and Satadeep Bhattacharjee and
Seung-Cheol Lee and Manish Jain",
title = "{PASTA}: {Python Algorithms for Searching Transition
stAtes}",
journal = j-COMP-PHYS-COMM,
volume = "233",
number = "??",
pages = "261--268",
month = dec,
year = "2018",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.06.026",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 26 14:45:20 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465518302583",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Laura:2018:APL,
author = "Jason Laura and Kelvin Rodriguez and Adam C. Paquette
and Evin Dunn",
title = "\pkg{AutoCNet}: a {Python} library for sparse
multi-image correspondence identification for planetary
data",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "34--36",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.02.001",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271101830013X",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Li:2018:PTP,
author = "Xinya Li and Chris R. Vernon and Mohamad I. Hejazi and
Robert P. Link and Zhongwei Huang and Lu Liu and Leyang
Feng",
title = "\pkg{Tethys} --- A {Python} Package for Spatial and
Temporal Downscaling of Global Water Withdrawals",
journal = j-J-OPEN-RES-SOFT,
volume = "6",
number = "1",
pages = "9--??",
day = "09",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.197",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Sat Sep 8 10:03:51 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.197/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Liu:2018:PPB,
author = "Benyuan Liu and Bin Yang and Canhua Xu and Junying Xia
and Meng Dai and Zhenyu Ji and Fusheng You and Xiuzhen
Dong and Xuetao Shi and Feng Fu",
title = "\pkg{pyEIT}: a {Python} based framework for
{Electrical Impedance Tomography}",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "304--308",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.09.005",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301407",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Malakhov:2018:CMT,
author = "Anton Malakhov and David Liu and Anton Gorshkov and
Terry Wilmarth",
editor = "Fatih Akici and David Lippa and Dillon Niederhut and M
Pacer",
booktitle = "Proceedings of the {17th Python in Science Conference,
Austin, TX, 9--15 July 2018}",
title = "Composable Multi-Threading and Multi-Processing for
Numeric Libraries",
publisher = "????",
address = "????",
pages = "15--21",
year = "2018",
bibdate = "Wed Aug 1 09:03:36 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://conference.scipy.org/proceedings/scipy2018/anton_malakhov.html",
abstract = "Python is popular among scientific communities that
value its simplicity and power, especially as it comes
along with numeric libraries such as NumPy, SciPy,
Dask, and Numba. As CPU core counts keep increasing,
these modules can make use of many cores via
multi-threading for efficient multi-core parallelism.
However, threads can interfere with each other leading
to overhead and inefficiency if used together in a
single application on machines with a large number of
cores. This performance loss can be prevented if all
multi-threaded modules are coordinated. This paper
continues the work started in AMala16 by introducing
more approaches to coordination for both
multi-threading and multi-processing cases. In
particular, we investigate the use of static settings,
limiting the number of simultaneously active OpenMP
parallel regions, and optional parallelism with Intel
Threading Building Blocks (Intel TBB). We will show how
these approaches help to unlock additional performance
for numeric applications on multi-core systems.",
acknowledgement = ack-nhfb,
keywords = "Dask; GIL; Joblib; Multi-core; Multi-processing;
Multi-threading; Nested Parallelism; NumPy; OpenMP;
Oversubscription; Parallel Computations; Python; SciPy;
TBB",
}
@Article{Marowka:2018:PAH,
author = "Ami Marowka",
title = "{Python} accelerators for high-performance computing",
journal = j-J-SUPERCOMPUTING,
volume = "74",
number = "4",
pages = "1449--1460",
month = apr,
year = "2018",
CODEN = "JOSUED",
DOI = "https://doi.org/10.1007/s11227-017-2213-5",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Thu Oct 10 15:31:11 MDT 2019",
bibsource = "http://link.springer.com/journal/11227/74/4;
https://www.math.utah.edu/pub/tex/bib/jsuper.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
}
@Article{McCubbine:2018:GPC,
author = "Jack McCubbine and Fabio Caratori Tontini and Vaughan
Stagpoole and Euan Smith and Grant O'Brien",
title = "\pkg{Gsolve}, a {Python} computer program with a
graphical user interface to transform relative gravity
survey measurements to absolute gravity values and
gravity anomalies",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "122--128",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.04.003",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018300566",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Book{McNicholas:2018:DSJ,
author = "Paul D. McNicholas and Peter A. Tait",
title = "Data Science with {Julia}",
publisher = "Taylor and Francis, CRC Press",
address = "Boca Raton, FL, USA",
pages = "241",
year = "2018",
DOI = "https://doi.org/10.1201/9781351013673",
ISBN = "1-138-49998-6 (paperback), 1-351-01364-5 (e-book:
Mobipocket), 1-351-01365-3 (e-book), 1-351-01366-1
(e-book: PDF), 1-351-01367-X (e-book)",
ISBN-13 = "978-1-138-49998-0 (paperback), 978-1-351-01364-2
(e-book: Mobipocket), 978-1-351-01365-9 (e-book),
978-1-351-01366-6 (e-book: PDF), 978-1-351-01367-3
(e-book)",
LCCN = "QA76.73.J85 M37 2018",
bibdate = "Sat Sep 7 07:35:13 MDT 2019",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "``This book is a great way to both start learning data
science through the promising Julia language and to
become an efficient data scientist.''- Professor
Charles Bouveyron, INRIA Chair in Data Science,
Universitae Caote d'Azur, Nice, France. Julia, an
open-source programming language, was created to be as
easy to use as languages such as R and Python while
also as fast as C and Fortran. An accessible,
intuitive, and highly efficient base language with
speed that exceeds R and Python, makes Julia a
formidable language for data science. Using well known
data science methods that will motivate the reader,
Data Science with Julia will get readers up to speed on
key features of the Julia language and illustrate its
facilities for data science and machine learning work.
Features: Covers the core components of Julia as well
as packages relevant to the input, manipulation and
representation of data. Discusses several important
topics in data science including supervised and
unsupervised learning. Reviews data visualization using
the Gadfly package, which was designed to emulate the
very popular ggplot2 package in R. Readers will learn
how to make many common plots and how to visualize
model results. Presents how to optimize Julia code for
performance. Will be an ideal source for people who
already know R and want to learn how to use Julia
(though no previous knowledge of R or any other
programming language is required). The advantages of
Julia for data science cannot be understated. Besides
speed and ease of use, there are already over 1,900
packages available and Julia can interface (either
directly or through packages) with libraries written in
R, Python, Matlab, C, C++ or Fortran. The book is for
senior undergraduates, beginning graduate students, or
practicing data scientists who want to learn how to use
Julia for data science.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Data structures
(Computer science); COMPUTERS / Data Modeling and
Design.; BUSINESS and ECONOMICS / Statistics;
MATHEMATICS / Probability and Statistics / General;
Data structures (Computer science); Julia (Computer
program language)",
tableofcontents = "Cover \\
Half Title \\
Title Page \\
Copyright Page \\
Dedication \\
Table of Contents \\
Foreword \\
Preface \\
About the Authors \\
1: Introduction \\
1.1 DATA SCIENCE \\
1.2 BIG DATA \\
1.3 JULIA \\
1.4 JULIA AND R PACKAGES \\
1.5 DATASETS \\
1.5.1 Overview \\
1.5.2 Beer Data \\
1.5.3 Coffee Data \\
1.5.4 Leptograpsus Crabs Data \\
1.5.5 Food Preferences Data \\
1.5.6 x2 Data \\
1.5.7 Iris Data \\
1.6 OUTLINE OF THE CONTENTS OF THIS MONOGRAPH \\
2: Core Julia \\
2.1 VARIABLE NAMES \\
2.2 OPERATORS \\
2.3 TYPES \\
2.3.1 Numeric \\
2.3.2 Floats \\
2.3.3 Strings \\
2.3.4 Tuples \\
2.4 DATA STRUCTURES \\
2.4.1 Arrays \\
2.4.2 Dictionaries \\
2.5 CONTROL FLOW \\
2.5.1 Compound Expressions \\
2.5.2 Conditional Evaluation \\
2.5.3 Loops \\
2.5.3.1 Basics \\
2.5.3.2 Loop termination \\
2.5.3.3 Exception handling \\
2.6 FUNCTIONS \\
3: Working with Data \\
3.1 DATAFRAMES \\
3.2 CATEGORICAL DATA \\
3.3 INPUT/OUTPUT \\
3.4 USEFUL DATAFRAME FUNCTIONS \\
3.5 SPLIT-APPLY-COMBINE STRATEGY \\
3.6 QUERY. JL \\
4: Visualizing Data \\
4.1 GADFLY. JL \\
4.2 VISUALIZING UNIVARIATE DATA \\
4.3 DISTRIBUTIONS \\
4.4 VISUALIZING BIVARIATE DATA \\
4.5 ERROR BARS \\
4.6 FACETS \\
4.7 SAVING PLOTS \\
5: Supervised Learning \\
5.1 INTRODUCTION \\
5.2 CROSS-VALIDATION \\
5.2.1 Overview \\
5.2.2 K-Fold Cross-Validation \\
5.3 K-NEAREST NEIGHBOURS CLASSIFICATION \\
5.4 CLASSIFICATION AND REGRESSION TREES \\
5.4.1 Overview \\
5.4.2 Classification Trees \\
5.4.3 Regression Trees \\
5.4.4 Comments \\
5.5 BOOTSTRAP \\
5.6 RANDOM FORESTS \\
5.7 GRADIENT BOOSTING \\
5.7.1 Overview \\
5.7.2 Beer Data \\
5.7.3 Food Data \\
5.8 COMMENTS \\
6: Unsupervised Learning \\
6.1 INTRODUCTION \\
6.2 PRINCIPAL COMPONENTS ANALYSIS \\
6.3 PROBABILISTIC PRINCIPAL COMPONENTS ANALYSIS \\
6.4 EM ALGORITHM FOR PPCA \\
6.4.1 Background: EM Algorithm \\
6.4.2 E-step \\
6.4.3 M-step \\
6.4.4 Woodbury Identity \\
6.4.5 Initialization \\
6.4.6 Stopping Rule \\
6.4.7 Implementing the EM Algorithm for PPCA \\
6.4.8 Comments \\
6.5 K-MEANS CLUSTERING \\
6.6 MIXTURE OF PROBABILISTIC PRINCIPAL COMPONENTS
ANALYZERS \\
6.6.1 Model \\
6.6.2 Parameter Estimation \\
6.6.3 Illustrative Example: Coffee Data \\
6.7 COMMENTS \\
7: R Interoperability \\
7.1 ACCESSING R DATASETS \\
7.2 INTERACTING WITH R \\
7.3 EXAMPLE: CLUSTERING AND DATA REDUCTION FOR THE
COFFEE DATA \\
7.3.1 Coffee Data \\
7.3.2 PGMM Analysis \\
7.3.3 VSCC Analysis \\
7.4 EXAMPLE: FOOD DATA \\
7.4.1 Overview \\
7.4.2 Random Forests \\
APPENDIX A: Julia and R Packages Used Herein \\
APPENDIX B: Variables for Food Data \\
APPENDIX C: Useful Mathematical Results \\
C.1 BRIEF OVERVIEW OF EIGENVALUES \\
C.2 SELECTED LINEAR ALGEBRA RESULTS \\
C.3 MATRIX CALCULUS RESULTS \\
APPENDIX D: Performance Tips \\
D.1 FLOATING POINT NUMBERS \\
D.1.1 Do Not Test for Equality \\
D.1.2 Use Logarithms for Division \\
D.1.3 Subtracting Two Nearly Equal Numbers \\
D.2 JULIA PERFORMANCE \\
D.2.1 General Tips \\
D.2.2 Array Processing \\
D.2.3 Separate Core Computations \\
APPENDIX E: Linear Algebra Functions \\
E.1 VECTOR OPERATIONS \\
E.2 MATRIX OPERATIONS \\
E.3 MATRIX DECOMPOSITIONS \\
References \\
Index",
}
@Article{Mehrotra:2018:OSR,
author = "Pavan Mehrotra and Sabar Dasgupta and Samantha
Robertson and Paul Nuyujukian",
title = "An open-source realtime computational platform (short
{WIP} paper)",
journal = j-SIGPLAN,
volume = "53",
number = "6",
pages = "109--112",
month = jun,
year = "2018",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3299710.3211344",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Wed Oct 16 14:12:58 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Systems neuroscience studies involving in-vivo models
often require realtime data processing. In these
studies, many events must be monitored and processed
quickly, including behavior of the subject (e.g.,
movement of a limb) or features of neural data (e.g., a
neuron transmitting an action potential).
Unfortunately, most realtime platforms are proprietary,
require specific architectures, or are limited to
low-level programming languages. Here we present a
hardware-independent, open-source realtime computation
platform that supports high-level programming. The
resulting platform, LiCoRICE, can process on order
10e10 bits/sec of network data at 1 ms ticks with 18.2
\micro s jitter. It connects to various inputs and
outputs (e.g., DIO, Ethernet, database logging, and
analog line in/out) and minimizes reliance on custom
device drivers by leveraging peripheral support via the
Linux kernel. Its modular architecture supports
model-based design for rapid prototyping with C and
Python/Cython and can perform numerical operations via
BLAS/LAPACK-optimized NumPy that is statically compiled
via Numba's pycc. LiCoRICE is not only suitable for
systems neuroscience research, but also for
applications requiring closed-loop realtime data
processing from robotics and control systems to
interactive applications and quantitative financial
trading.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "LCTES '18 proceedings.",
}
@Article{Meier:2018:VMD,
author = "Remigius Meier and Armin Rigo and Thomas R. Gross",
title = "Virtual machine design for parallel dynamic
programming languages",
journal = j-PACMPL,
volume = "2",
number = "OOPSLA",
pages = "109:1--109:25",
month = oct,
year = "2018",
DOI = "https://doi.org/10.1145/3276479",
bibdate = "Sat Aug 8 07:56:30 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/virtual-machines.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3276479",
abstract = "To leverage the benefits of modern hardware, dynamic
languages must support parallelism, and parallelism
requires a virtual machine (VM) capable of parallel
execution --- a parallel VM. However, unrestricted
concurrency and the dynamism of dynamic languages pose
great challenges to the implementation of parallel VMs.
In a dynamic language, a program changing itself is
part of the language model. To help the VM, languages
often choose memory models (MM) that weaken consistency
guarantees. With lesser guarantees, local program state
cannot be affected by every concurrent state change.
And less interference allows a VM to make local
assumptions about the program state which are not
immediately violated. These local assumptions are
essential for a VM's just-in-time compiler for
delivering state-of-the-art VM
performance.\par
Unfortunately, some dynamic languages employ MMs that
give exceedingly strong consistency guarantees and
thereby hinder the development of parallel VMs. Such is
the case in particular for languages that depend on a
global interpreter lock, which mandates a MM with
sequential consistency and instruction
atomicity.\par
In this paper, we reflect on a first implementation of
the Parallel RPython execution model, which facilitates
the development of parallel VMs by decoupling language
semantics from the synchronization mechanism used
within the VM. The implementation addresses the
challenges imposed by strong MMs through strict
isolation of concurrent computations. This isolation
builds on transactional parallel worlds, which are
implemented with a novel combination of software
techniques and the capabilities of modern
hardware.\par
We evaluate a set of parallel Python programs on a
parallel VM that relies on Parallel RPython's
implementation. Compared with a serial baseline VM that
relies on a global interpreter lock, the parallel VM
achieves speedups of up to $ 7.5 \times $ on 8 CPU
cores. The evaluation shows that our realization of
Parallel RPython meets the challenges of dynamic
languages, and that it can serve as a solid foundation
for the construction of parallel dynamic language
VMs.",
acknowledgement = ack-nhfb,
articleno = "109",
fjournal = "Proceedings of the ACM on Programming Languages",
journal-URL = "https://pacmpl.acm.org/",
}
@Article{Meng:2018:MPP,
author = "Siqin Meng and Rasmus Toft-Petersen and Lijie Hao and
Klaus Habicht",
title = "\pkg{multiflexxlib}: a {Python} package for data
reduction and visualization for the cold-neutron multi
energy wide angle analyzer {MultiFLEXX}",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "309--312",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301055",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Book{Miller:2018:HDA,
author = "Curtis Miller",
title = "Hands-On Data Analysis with {NumPy} and {Pandas}:
Implement Python Packages from Data Manipulation to
Processing",
publisher = "Packt Publishing Ltd",
address = "Birmingham",
pages = "166",
year = "2018",
ISBN = "1-78953-424-0, 1-78953-079-2",
ISBN-13 = "978-1-78953-424-5, 978-1-78953-079-7",
LCCN = "????",
bibdate = "Wed Sep 19 15:47:15 MDT 2018",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://public.eblib.com/choice/PublicFullRecord.aspx?p=5446042",
acknowledgement = ack-nhfb,
remark = "Description based upon print version of record.",
subject = "Computers; Data Modeling and Design; Data Processing;
Data capture and analysis; Database design and theory;
Information architecture; Information visualization",
tableofcontents = "Preface \\
Chapter 1: Setting Up a Python Data Analysis
Environment \\
What is Anaconda? \\
Installing Anaconda \\
Exploring Jupyter Notebooks \\
Exploring alternatives to Jupyter \\
Spyder \\
Rodeo \\
ptpython \\
Package management with Conda \\
What is Conda? \\
Conda environment management \\
Managing Python \\
Package management \\
Setting up a database \\
Installing MySQL \\
MySQL connectors \\
Creating a database \\
Summary \\
Chapter 2: Diving into NumPY \\
NumPy arrays \\
Special numeric values \\
Creating NumPy arrays \\
Creating ndarraySlicing a DataFrameSummary \\
Chapter 5: Arithmetic, Function Application, and
Mapping with pandas \\
Arithmetic \\
Arithmetic with DataFrames \\
Vectorization with DataFrames \\
DataFrame function application \\
Handling missing data in a pandas DataFrame \\
Deleting missing information \\
Filling missing information \\
Summary \\
Chapter 6: Managing, Indexing, and Plotting \\
Index sorting \\
Sorting by values \\
Hierarchical indexing \\
Slicing a series with a hierarchical index \\
Plotting with pandas \\
Plotting methods \\
Summary \\
Other Books You May Enjoy \\
Index",
}
@Article{Miranda:2018:PPR,
author = "Lester James V. Miranda",
title = "\pkg{PySwarms}: a research toolkit for Particle Swarm
Optimization in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "21",
pages = "433:1--433:2",
month = jan,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00433",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00433",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "10 January 2018",
ORCID-numbers = "Lester James V. Miranda / 0000-0002-7872-6464",
}
@Article{Mirzaev:2018:PEP,
author = "Inom Mirzaev and Drew F. K. Williamson and Jacob G.
Scott",
title = "\pkg{egtplot}: a {Python} Package for Three-Strategy
Evolutionary Games",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "735:1--735:4",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00735",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00735",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "17 June 2018",
ORCID-numbers = "Inom Mirzaev / 0000-0003-1493-1802; Drew F. K.
Williamson / 0000-0003-1745-8846; Jacob G. Scott /
0000-0003-2971-7673",
}
@Article{Moore:2018:PSS,
author = "Jason K. Moore and Mont Hubbard",
title = "\pkg{skijumpdesign}: A Ski Jump Design Tool for
Specified Equivalent Fall Height",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "818:1--818:3",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00818",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00818",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 August 2018",
ORCID-numbers = "Jason K. Moore / 0000-0002-8698-6143; Mont Hubbard /
0000-0001-8321-6576",
}
@Article{Mukha:2018:EPP,
author = "Timofey Mukha and Mattias Liefvendahl",
title = "\pkg{Eddylicious}: a {Python} package for turbulent
inflow generation",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "107--111",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.04.001",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018300487",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Mulryne:2018:PPP,
author = "David J. Mulryne and John W. Ronayne",
title = "\pkg{PyTransport}: a {Python} package for the
calculation of inflationary correlation functions",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "23",
pages = "494:1--494:2",
month = mar,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00494",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00494",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "28 March 2018",
ORCID-numbers = "John W. Ronayne / 0000-0001-6464-6466",
}
@Article{Murray:2018:PPP,
author = "Steven G. Murray",
title = "\pkg{powerbox}: a {Python} package for creating
structured fields with isotropic power spectra",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "850:1--850:2",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00850",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00850",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 August 2018",
ORCID-numbers = "Steven G. Murray / 0000-0003-3059-3823",
}
@Article{Nunez-Elizalde:2018:PCS,
author = "Anwar O. Nunez-Elizalde and James S. Gao and Tianjiao
Zhang and Jack L. Gallant",
title = "\pkg{cottoncandy}: scientific {Python} package for
easy cloud storage",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "890:1--890:2",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00890",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00890",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "24 August 2018",
ORCID-numbers = "Anwar O. Nunez-Elizalde / 0000-0003-1346-670X",
}
@Article{Orban:2018:BRI,
author = "Dominique Orban",
title = "Book Review: {{\booktitle{Introduction to Computation
and Programming Using Python. Second Edition, with
Application to Understanding Data}}, by John V.
Guttag}",
journal = j-SIAM-REVIEW,
volume = "60",
number = "2",
pages = "483--485",
month = "????",
year = "2018",
CODEN = "SIREAD",
DOI = "https://doi.org/10.1137/18N97456X",
ISSN = "0036-1445 (print), 1095-7200 (electronic)",
ISSN-L = "0036-1445",
bibdate = "Mon Jun 4 09:14:47 MDT 2018",
bibsource = "http://epubs.siam.org/toc/siread/60/2;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/siamreview.bib",
acknowledgement = ack-nhfb,
fjournal = "SIAM Review",
journal-URL = "http://epubs.siam.org/sirev",
onlinedate = "January 2018",
}
@Article{Ostrouchov:2018:PPA,
author = "Christopher Ostrouchov and Yanwen Zhang and William J.
Weber",
title = "\pkg{pysrim}: Automation, Analysis, and Plotting of
{SRIM} Calculations",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "829:1--829:3",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00829",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00829",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "02 August 2018",
ORCID-numbers = "Christopher Ostrouchov / 0000-0002-8734-4564; Yanwen
Zhang / 0000-0003-1833-3885; William J. Weber /
0000-0002-9017-7365",
}
@Article{Ottoni:2018:HJP,
author = "Guilherme Ottoni",
title = "{HHVM JIT}: a profile-guided, region-based compiler
for {PHP} and Hack",
journal = j-SIGPLAN,
volume = "53",
number = "4",
pages = "151--165",
month = apr,
year = "2018",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/3296979.3192374",
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/java2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigplan2010.bib",
abstract = "Dynamic languages such as PHP, JavaScript, Python, and
Ruby have been gaining popularity over the last two
decades. A very popular domain for these languages is
web development, including server-side development of
large-scale websites. As a result, improving the
performance of these languages has become more
important. Efficiently compiling programs in these
languages is challenging, and many popular dynamic
languages still lack efficient production-quality
implementations. This paper describes the design of the
second generation of the HHVM JIT and how it addresses
the challenges to efficiently execute PHP and Hack
programs. This new design uses profiling to build an
aggressive region-based JIT compiler. We discuss the
benefits of this approach compared to the more popular
method-based and trace-based approaches to compile
dynamic languages. Our evaluation running a very large
PHP-based code base, the Facebook website, demonstrates
the effectiveness of the new JIT design.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
remark = "PLDI '18 proceedings.",
}
@Article{Pitkin:2018:PPP,
author = "Matthew Pitkin",
title = "\pkg{psrqpy}: a {Python} interface for querying the
{ATNF} pulsar catalogue",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "22",
pages = "538:1--538:2",
month = feb,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00538",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00538",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "19 February 2018",
ORCID-numbers = "Matthew Pitkin / 0000-0003-4548-526X",
}
@Article{Ramachandran:2018:APB,
author = "Prabhu Ramachandran",
title = "{\tt automan}: a {Python}-Based Automation Framework
for Numerical Computing",
journal = j-COMPUT-SCI-ENG,
volume = "20",
number = "5",
pages = "81--97",
month = sep # "\slash " # oct,
year = "2018",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2018.05329818",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Sep 6 07:08:26 MDT 2018",
bibsource = "http://csdl.computer.org/comp/mags/cs/2018/05/c5toc.htm;
https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.computer.org/csdl/mags/cs/2018/05/mcs2018050081-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Ramalho:2018:PVG,
author = "Luciano Ramalho",
title = "Python vs. Go",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "????",
year = "2018",
ISBN = "1-4920-3317-0, 1-4920-3318-9",
ISBN-13 = "978-1-4920-3317-2, 978-1-4920-3318-9",
LCCN = "QA76.73.P98",
bibdate = "Thu Apr 22 10:36:31 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/go.bib;
https://www.math.utah.edu/pub/tex/bib/python.bi;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Comparing Python with Go is a bit like comparing an
SUV with a sports car: they were created to serve
different needs. Thanks to their simple syntax and
careful design, you will probably find Python and Go
easier to learn and use than other mainstream languages
that you might have already studied. Given their gentle
learning curve and phenomenal growth in several fields,
getting to know them is a sound investment now.",
acknowledgement = ack-nhfb,
subject = "Python (Computer program language); Go (Computer
program language); Go (Computer program language);
Python (Computer program language)",
}
@Article{Ramasubramani:2018:PRP,
author = "Vyas Ramasubramani and Sharon C. Glotzer",
title = "\pkg{rowan}: a {Python} package for working with
quaternions",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "27",
pages = "787:1--787:3",
month = jul,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00787",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00787",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "30 July 2018",
ORCID-numbers = "Vyas Ramasubramani / 0000-0001-5181-9532; Sharon C.
Glotzer / 0000-0002-7197-0085",
}
@Article{Raschka:2018:PMP,
author = "Sebastian Raschka",
title = "\pkg{MLxtend}: Providing machine learning and data
science utilities and extensions to {Python}'s
scientific computing stack",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "24",
pages = "638:1--638:2",
month = apr,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00638",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00638",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "22 April 2018",
ORCID-numbers = "Sebastian Raschka / 0000-0001-6989-4493",
}
@Article{Rose:2018:PCP,
author = "Brian E. J. Rose",
title = "\pkg{CLIMLAB}: a {Python} toolkit for interactive,
process-oriented climate modeling",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "24",
pages = "659:1--659:2",
month = apr,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00659",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00659",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "20 April 2018",
ORCID-numbers = "Brian E. J. Rose / 0000-0002-9961-3821",
}
@Article{Roubeyrie:2018:PWP,
author = "Lionel Roubeyrie and S{\'e}bastien Celles",
title = "\pkg{Windrose}: a {Python} \pkg{Matplotlib},
\pkg{Numpy} library to manage wind and pollution data,
draw windrose",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "29",
pages = "268:1--268:5",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1002/asl.680",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00268",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "04 September 2018",
ORCID-numbers = "Lionel Roubeyrie / 0000-0001-6017-4385; S{\'e}bastien
Celles / 0000-0001-9987-4338",
}
@Book{Salceanu:2018:JPP,
author = "Adrian Salceanu",
title = "{Julia} programming projects: learn {Julia 1.x} by
building apps for data analysis, visualization, machine
learning, and the {Web}",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "ix + 482",
year = "2018",
ISBN = "1-78829-725-3",
ISBN-13 = "978-1-78829-274-0, 978-1-78829-725-7 (e-book)",
LCCN = "QA76.73.J85",
bibdate = "Thu Apr 8 10:45:11 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://proquest.safaribooksonline.com/?fpi=9781788292740",
abstract = "A step-by-step guide that demonstrates how to build
simple-to-advanced applications through examples in
Julia Lang 1.x using modern tools Key Features Work
with powerful open-source libraries for data wrangling,
analysis, and visualization Develop full-featured,
full-stack web applications Learn to perform supervised
and unsupervised machine learning and time series
analysis with Julia Book Description Julia is a new
programming language that offers a unique combination
of performance and productivity. Its powerful features,
friendly syntax, and speed are attracting a growing
number of adopters from Python, R, and Matlab,
effectively raising the bar for modern general and
scientific computing. After six years in the making,
Julia has reached version 1.0. Now is the perfect time
to learn it, due to its large-scale adoption across a
wide range of domains, including fintech, biotech,
education, and AI. Beginning with an introduction to
the language, Julia Programming Projects goes on to
illustrate how to analyze the Iris dataset using
DataFrames. You will explore functions and the type
system, methods, and multiple dispatch while building a
web scraper and a web app. Next, you'll delve into
machine learning, where you'll build a books
recommender system. You will also see how to apply
unsupervised machine learning to perform clustering on
the San Francisco business database. After
metaprogramming, the final chapters will discuss dates
and time, time series analysis, visualization, and
forecasting. We'll close with package development,
documenting, testing and benchmarking. By the end of
the book, you will have gained the practical knowledge
to build real-world applications in Julia. What you
will learn Leverage Julia's strengths, its top
packages, and main IDE options Analyze and manipulate
datasets using Julia and DataFrames Write complex code
while building real-life Julia applications Develop and
run a web app using Julia and the HTTP package Build a
recommender system using supervised machine learning
Perform exploratory data analysis Apply unsupervised
machine learning algorithms Perform time series data
analysis, visualization, and forecasting Who this book
is for Data scientists, statisticians, business
analysts, and developers who are interested in learning
how to use Julia to crunch numbers, analyze data and
build apps will find this book useful. A basic
knowledge of programming is assumed.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Application
software; Development; Computer programs; COMPUTERS /
Programming Languages / General; Computer programs;
Julia (Computer program language)",
tableofcontents = "Cover \\
Title Page \\
Copyright and Credits \\
Dedication \\
About Packt \\
Contributors \\
Table of Contents \\
Preface \\
1: Getting Started with Julia Programming \\
Technical requirements \\
Why Julia? \\
Good performance \\
Concise, readable, and intuitive syntax \\
Powerful and productive dynamic type system \\
Designed for parallelism and distributed computation
\\
Efficient intercommunication with other languages \\
Powerful REPL and shell-like capabilities \\
And more \ldots{} \\
Installing Julia \\
Windows \\
Official Windows installer \\
Using Chocolatey \\
Windows Subsystem for Linux \\
macOS \\
Official image \\
HomebrewLinux and FreeBSDDocker \\
JuliaPro \\
JuliaBox \\
Choosing an IDE \\
Juno (Atom) \\
Visual Studio Code \\
IJulia (JuliaBox) \\
Other options \\
Getting started with Julia \\
The Julia REPL \\
Interacting with the REPL \\
The ans variable \\
Prompt pasting \\
Tab completion \\
Cleaning the REPL scope \\
Additional REPL modes \\
Accessing the documentation with the help mode \\
Shell mode \\
Search modes \\
The startup.jl file \\
REPL hooks \\
Exiting the REPL \\
The package system \\
Adding a package \\
OhMyREPL \\
Custom package installation \\
Revise \\
Checking the package status \\
Using packages \\
One more step \\
Updating packages \\
Pinning packages \\
Removing packages \\
Discovering packages \\
Registered versus unregistered \\
Summary \\
2: Creating Our First Julia App \\
Technical requirements \\
Defining variables \\
Constants \\
Why are constants important? \\
Comments \\
Strings \\
Triple-quoted strings \\
Concatenating strings \\
Interpolating strings \\
Manipulating strings \\
Unicode and UTF-8 \\
Regular expressions \\
Raw string literals \\
Numbers \\
Integers \\
Overflow behavior \\
Floating-point numbers \\
Rational numbers \\
Numerical operators \\
Vectorized dot operators \\
There's more to it \\
Tuples \\
Named tuples \\
Ranges \\
Arrays \\
Iteration \\
Mutating arrays \\
Comprehensions \\
Generators \\
Exploratory data analysis with Julia \\
The Iris flower dataset \\
Using the RDatasets package \\
Using simple statistics to better understand our data
\\
Visualizing the Iris flowers data \\
Loading and saving our data \\
Saving and loading using tabular file formats \\
Working with Feather files \\
Saving and loading with MongoDB \\
Summary \\
3: Setting Up the Wiki Game \\
Technical requirements \\
Data harvesting through web scraping \\
How the web works \\
a crash course \\
Making HTTP requests \\
Learning about HTTP methods \\
Understanding HTTPS \\
Understanding HTML documents \\
HTML selectors \\
Learning about the HTML attributes \\
Learning about CSS and JavaScript selectors \\
Understanding the structure of a link \\
Accessing the internet from Julia \\
Making requests with the HTTP package \\
Handling HTTP responses \\
HTTP status codes \\
Learning about HTTP headers \\
The HTTP message body \\
Understanding HTTP responses \\
The status code \\
The headers \\
The message body \\
Learning about pairs \\
Dictionaries \\
Constructing dictionaries \\
Ordered dictionaries \\
Working with dictionaries \\
Using the HTTP response \\
Manipulating the response body",
}
@Article{Sega:2018:PPP,
author = "Marcello Sega and Gy{\"o}rgy Hantal and Bal{\'a}zs
F{\'a}bi{\'a}n and P{\'a}l Jedlovszky",
title = "{Pytim}: a {Python} package for the interfacial
analysis of molecular simulations",
journal = j-J-COMPUT-CHEM,
volume = "39",
number = "25",
pages = "2118--2125",
day = "30",
month = sep,
year = "2018",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.25384",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Mon Mar 25 09:39:45 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "10 October 2018",
}
@Article{Sharma:2018:RWF,
author = "Abhishek Sharma and Yuan Tian and Agus Sulistya and
Dinusha Wijedasa and David Lo",
title = "Recommending Who to Follow in the Software Engineering
{Twitter} Space",
journal = j-TOSEM,
volume = "27",
number = "4",
pages = "16:1--16:??",
month = nov,
year = "2018",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3266426",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Tue Oct 22 07:57:08 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
abstract = "With the advent of social media, developers are
increasingly using it in their software development
activities. Twitter is one of the popular social
mediums used by developers. A recent study by Singer et
al. found that software developers use Twitter to
``keep up with the fast-paced development landscape.''
Unfortunately, due to the general-purpose nature of
Twitter, it's challenging for developers to use Twitter
for their development activities. Our survey with 36
developers who use Twitter in their development
activities highlights that developers are interested in
following specialized software gurus who share relevant
technical tweets. To help developers perform this task,
in this work we propose a recommendation system to
identify specialized software gurus. Our approach first
extracts different kinds of features that characterize
a Twitter user and then employs a two-stage
classification approach to generate a discriminative
model, which can differentiate specialized software
gurus in a particular domain from other Twitter users
that generate domain-related tweets (aka domain-related
Twitter users). We have investigated the effectiveness
of our approach in finding specialized software gurus
for four different domains (JavaScript, Android,
Python, and Linux) on a dataset of 86,824 Twitter users
who generate 5,517,878 tweets over 1 month. Our
approach can differentiate specialized software experts
from other domain-related Twitter users with an
F-Measure of up to 0.820. Compared with existing
Twitter domain expert recommendation approaches, our
proposed approach can outperform their F-Measure by at
least 7.63\%.",
acknowledgement = ack-nhfb,
articleno = "16",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J790",
}
@Article{Silva:2018:HFP,
author = "D. J. Silva and J. S. Amaral and V. S. Amaral",
title = "\pkg{Heatrapy}: a flexible {Python} framework for
computing dynamic heat transfer processes involving
caloric effects in {$ 1.5 $D} systems",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "373--382",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301298",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Smith:2018:PHC,
author = "Andrew P. Smith",
title = "\pkg{humanleague}: a {C++} microsynthesis package with
{R} and {Python} interfaces",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "25",
pages = "629:1--629:1",
month = may,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00629",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00629",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "03 May 2018",
ORCID-numbers = "Andrew P. Smith / 0000-0002-9951-6642",
}
@Article{Smith:2018:POP,
author = "Daniel G. A. Smith and Johnnie Gray",
title = "\pkg{opt\_einsum} --- A {Python} package for
optimizing contraction order for einsum-like
expressions",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "26",
pages = "753:1--753:3",
month = jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00753",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00753",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "29 June 2018",
ORCID-numbers = "Daniel G. A. Smith / 0000-0001-8626-0900; Johnnie
Gray / 0000-0001-9461-3024",
}
@Article{Spielman:2018:PPP,
author = "Stephanie J. Spielman",
title = "\pkg{phyphy}: {Python} package for facilitating the
execution and parsing of {HyPhy} standard analyses",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "21",
pages = "514:1--514:1",
month = jan,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00514",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00514",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "17 January 2018",
ORCID-numbers = "Stephanie J. Spielman / 0000-0002-9090-4788",
}
@Article{Stoliaroff:2018:PEU,
author = "Adrien Stoliaroff and St{\'e}phane Jobic and Camille
Latouche",
title = "{PyDEF 2.0}: an Easy to Use Post-treatment Software
for Publishable Charts Featuring a Graphical User
Interface",
journal = j-J-COMPUT-CHEM,
volume = "39",
number = "26",
pages = "2251--2261",
day = "5",
month = oct,
year = "2018",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.25543",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Mon Mar 25 09:39:45 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "03 October 2018",
}
@Article{Tan:2018:EPB,
author = "Jianchao Tan and Jose Echevarria and Yotam Gingold",
title = "Efficient palette-based decomposition and recoloring
of images via {RGBXY}-space geometry",
journal = j-TOG,
volume = "37",
number = "6",
pages = "262:1--262:??",
month = nov,
year = "2018",
CODEN = "ATGRDF",
DOI = "https://doi.org/10.1145/3272127.3275054",
ISSN = "0730-0301 (print), 1557-7368 (electronic)",
ISSN-L = "0730-0301",
bibdate = "Tue Oct 22 12:28:14 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tog.bib",
abstract = "We introduce an extremely scalable and efficient yet
simple palette-based image decomposition algorithm.
Given an RGB image and set of palette colors, our
algorithm decomposes the image into a set of additive
mixing layers, each of which corresponds to a palette
color applied with varying weight. Our approach is
based on the geometry of images in RGBXY-space. This
new geometric approach is orders of magnitude more
efficient than previous work and requires no numerical
optimization. We provide an implementation of the
algorithm in 48 lines of Python code. We demonstrate a
real-time layer decomposition tool in which users can
interactively edit the palette to adjust the layers.
After preprocessing, our algorithm can decompose 6 MP
images into layers in 20 milliseconds.",
acknowledgement = ack-nhfb,
articleno = "262",
fjournal = "ACM Transactions on Graphics",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J778",
}
@Article{Taylor:2018:PPP,
author = "Shawn David Taylor",
title = "\pkg{pyPhenology}: a {Python} framework for plant
phenology modelling",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "827:1--827:2",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00827",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00827",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "15 August 2018",
ORCID-numbers = "Shawn David Taylor / 0000-0002-6178-6903",
}
@Article{Turcani:2018:SPT,
author = "Lukas Turcani and Enrico Berardo and Kim E. Jelfs",
title = "{\tt stk}: a {Python} toolkit for supramolecular
assembly",
journal = j-J-COMPUT-CHEM,
volume = "39",
number = "23",
pages = "1931--1942",
day = "5",
month = sep,
year = "2018",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.25377",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Mon Mar 25 09:39:44 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "24 September 2018",
}
@Article{vanderHam:2018:PSD,
author = "Ruud van der Ham",
title = "\pkg{salabim}: discrete event simulation and animation
in {Python}",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "27",
pages = "767:1--767:2",
month = jul,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00767",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00767",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "09 July 2018",
ORCID-numbers = "Ruud van der Ham / 0000-0001-7696-8059",
}
@Article{Vidmar:2018:QPP,
author = "R. Vidmar and N. Creati",
title = "\pkg{QCOBJ}: a {Python} package to handle
quantity-aware configuration files",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "347--351",
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/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018302383",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Villaverde:2018:PTI,
author = "Alejandro F. Villaverde and Kolja Becker and Julio R.
Banga",
title = "{PREMER}: a Tool to Infer Biological Networks",
journal = j-TCBB,
volume = "15",
number = "4",
pages = "1193--1202",
month = jul,
year = "2018",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2017.2758786",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Thu Nov 8 06:18:45 MST 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
abstract = "Inferring the structure of unknown cellular networks
is a main challenge in computational biology.
Data-driven approaches based on information theory can
determine the existence of interactions among network
nodes automatically. However, the elucidation of
certain features-such as distinguishing between direct
and indirect interactions or determining the direction
of a causal link-requires estimating
information-theoretic quantities in a multidimensional
space. This can be a computationally demanding task,
which acts as a bottleneck for the application of
elaborate algorithms to large-scale network inference
problems. The computational cost of such calculations
can be alleviated by the use of compiled programs and
parallelization. To this end, we have developed PREMER
Parallel Reverse Engineering with Mutual information \&
Entropy Reduction, a software toolbox that can run in
parallel and sequential environments. It uses
information theoretic criteria to recover network
topology and determine the strength and causality of
interactions, and allows incorporating prior knowledge,
imputing missing data, and correcting outliers. PREMER
is a free, open source software tool that does not
require any commercial software. Its core algorithms
are programmed in FORTRAN 90 and implement OpenMP
directives. It has user interfaces in Python and
MATLAB/Octave, and runs on Windows, Linux, and OSX
https://sites.google.com/site/premertoolbox/.",
acknowledgement = ack-nhfb,
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J954",
}
@Article{Vrbancic:2018:PNP,
author = "Grega Vrban{\v{c}}i{\v{c}} and Lucija Brezo{\v{c}}nik
and Uro{\v{s}} Mlakar and Du{\v{s}}an Fister and Iztok
{Fister, Jr.}",
title = "\pkg{NiaPy}: {Python} microframework for building
nature-inspired algorithms",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "23",
pages = "613:1--613:3",
month = mar,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00613",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00613",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "22 March 2018",
ORCID-numbers = "Grega Vrban{\v{c}}i{\v{c}} / 0000-0003-0723-3889;
Lucija Brezo{\v{c}}nik / 0000-0002-3622-428X;
Uro{\v{s}} Mlakar / 0000-0002-4278-6078; Du{\v{s}}an
Fister / 0000-0002-9604-0554; Iztok Fister, Jr. /
0000-0002-6418-1272",
}
@Article{Wainer:2018:CEP,
author = "Jacques Wainer and Eduardo C. Xavier",
title = "A Controlled Experiment on {Python} vs {C} for an
Introductory Programming Course: Students' Outcomes",
journal = j-TOCE,
volume = "18",
number = "3",
pages = "12:1--12:??",
month = sep,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1145/3152894",
ISSN = "1946-6226",
bibdate = "Wed Oct 2 09:58:50 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
abstract = "We performed a controlled experiment comparing a C and
a Python Introductory Programming course. Three faculty
members at University of Campinas, Brazil, taught the
same CS1 course for the same majors in two different
semesters, one version in Python and one in C, with a
total of 391 students involved in the experiment. We
measured the dropout rate, the failure rate, the grades
on the two exams, the proportion of completed lab
assignments, and the number of submissions per
completed assignment. There was no difference in the
dropout rate. The failure rate for Python was 16.9\%
against 23.1\% for C. The effect size (Cohen's D) on
the comparison of Python against C on the midterm exam
was 0.27, and 0.38 for the final exam. The effect size
for the proportion of completed assignments was 0.39
and the effect size for the number of submissions per
assignment was -0.61 (Python had less submissions per
completed assignments). Thus, for all measures, with
the exception of dropout rate, the version of the
course in Python yielded better student outcomes than
the version in C and all differences are significant
(with 95\% confidence) with the exception of the
failure rate (p-value = 0.12).",
acknowledgement = ack-nhfb,
articleno = "12",
fjournal = "ACM Transactions on Computing Education",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1193",
}
@Article{Warner:2018:IPP,
author = "Mellissa S. C. Warner",
title = "Introduction to {PySPLIT}: a {Python} Toolkit for
{NOAA} {ARL's} {HYSPLIT} Model",
journal = j-COMPUT-SCI-ENG,
volume = "20",
number = "5",
pages = "47--62",
month = sep # "\slash " # oct,
year = "2018",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2017.3301549",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Sep 6 07:08:26 MDT 2018",
bibsource = "http://csdl.computer.org/comp/mags/cs/2018/05/c5toc.htm;
https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.computer.org/csdl/mags/cs/2018/05/mcs2018050047-abs.html",
acknowledgement = ack-nhfb,
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Whalley:2018:PEE,
author = "Lucy D. Whalley",
title = "\pkg{effmass}: An effective mass package",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "28",
pages = "797:1--797:2",
month = aug,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00797",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00797",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "07 August 2018",
ORCID-numbers = "Lucy D. Whalley / 0000-0002-2992-9871",
}
@Article{Wiecha:2018:PPP,
author = "Peter R. Wiecha",
title = "\pkg{pyGDM} --- a {Python} toolkit for full-field
electro-dynamical simulations and evolutionary
optimization of nanostructures",
journal = j-COMP-PHYS-COMM,
volume = "233",
number = "??",
pages = "167--192",
month = dec,
year = "2018",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.06.017",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 26 14:45:20 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046551830225X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Wilkinson:2018:RPC,
author = "Collin J. Wilkinson and Yihong Z. Mauro and John C.
Mauro",
title = "\pkg{RelaxPy}: {Python} code for modeling of glass
relaxation behavior",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "245--254",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2018.07.008",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301146",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Willcox:2018:PPI,
author = "Donald E. Willcox and Michael Zingale",
title = "\pkg{pynucastro}: an interface to nuclear reaction
rates and code generator for reaction network
equations",
journal = j-J-OPEN-SOURCE-SOFT,
volume = "3",
number = "23",
pages = "588:1--588:3",
month = mar,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.21105/joss.00588",
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/joss.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://joss.theoj.org/papers/10.21105/joss.00588",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Source Software",
journal-URL = "http://joss.theoj.org/;
https://github.com/openjournals/joss-papers/",
onlinedate = "18 March 2018",
ORCID-numbers = "Donald E. Willcox / 0000-0003-2300-5165; Michael
Zingale / 0000-0001-8401-030X",
}
@Article{Xu:2018:PPP,
author = "Yang Xu and Xiao-Chun Luo",
title = "{PyPathway}: {Python} Package for Biological Network
Analysis and Visualization",
journal = j-J-COMPUT-BIOL,
volume = "25",
number = "5",
pages = "499--504",
month = may,
year = "2018",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2017.0199",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Sat Jun 1 09:53:21 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2017.0199;
https://www.liebertpub.com/doi/pdf/10.1089/cmb.2017.0199",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "11 April 2018",
}
@Article{Zhu:2018:OPL,
author = "Minjie Zhu and Frank McKenna and Michael H. Scott",
title = "\pkg{OpenSeesPy}: {Python} library for the
\pkg{OpenSees} finite element framework",
journal = j-SOFTWAREX,
volume = "7",
number = "??",
pages = "1--5",
month = jan # "\slash " # jun,
year = "2018",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2017.10.009",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Sep 8 11:45:35 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711017300584",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Abi-Mansour:2019:POO,
author = "Andrew Abi-Mansour",
title = "{PyGran}: an object-oriented library for {DEM}
simulation and analysis",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "168--174",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301080",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Anonymous:2019:PSS,
author = "Anonymous",
title = "Profile: {Scott Shawcroft}: This developer is
squeezing {Python} into microcontrollers",
journal = j-IEEE-SPECTRUM,
volume = "56",
number = "4",
pages = "16--16",
month = apr,
year = "2019",
CODEN = "IEESAM",
DOI = "https://doi.org/10.1109/MSPEC.2019.8678507",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Sat Jan 18 07:02:09 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Spectrum",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
}
@Article{Augier:2019:FPO,
author = "Pierre Augier and Ashwin Vishnu Mohanan and Cyrille
Bonamy",
title = "\pkg{FluidDyn}: a {Python} Open-Source Framework for
Research and Teaching in Fluid Dynamics by Simulations,
Experiments and Data Processing",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "9--??",
day = "01",
month = apr,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.237",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.237/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Book{Balbaert:2019:JPC,
author = "Ivo Balbaert and Adrian Salceanu",
title = "{Julia 1.0} programming complete reference guide:
discover {Julia}, a high-performance language for
technical computing",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "viii + 451",
year = "2019",
ISBN = "1-83882-467-7",
ISBN-13 = "978-1-83882-224-8, 978-1-83882-467-9",
LCCN = "QA76.73.J84",
bibdate = "Thu Apr 8 11:03:56 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Learning path",
URL = "http://proquest.safaribooksonline.com/?fpi=9781838822248",
abstract = "Learn dynamic programming with Julia to build apps for
data analysis, visualization, machine learning, and the
web Key Features Leverage Julia's high speed and
efficiency to build fast, efficient applications
Perform supervised and unsupervised machine learning
and time series analysis Tackle problems concurrently
and in a distributed environment Book Description Julia
offers the high productivity and ease of use of Python
and R with the lightning-fast speed of C++. There's
never been a better time to learn this language, thanks
to its large-scale adoption across a wide range of
domains, including fintech, biotech and artificial
intelligence (AI). You will begin by learning how to
set up a running Julia platform, before exploring its
various built-in types. This Learning Path walks you
through two important collection types: arrays and
matrices. You'll be taken through how type conversions
and promotions work, and in further chapters you'll
study how Julia interacts with operating systems and
other languages. You'll also learn about the use of
macros, what makes Julia suitable for numerical and
scientific computing, and how to run external programs.
Once you have grasped the basics, this Learning Path
goes on to how to analyze the Iris dataset using
DataFrames. While building a web scraper and a web app,
you'll explore the use of functions, methods, and
multiple dispatches. In the final chapters, you'll
delve into machine learning, where you'll build a book
recommender system. By the end of this Learning Path,
you'll be well versed with Julia and have the skills
you need to leverage its high speed and efficiency for
your applications. This Learning Path includes content
from the following Packt products: Julia 1.0
Programming - Second Edition by Ivo Balbaert Julia
Programming Projects by Adrian Salceanu What you will
learn Create your own types to extend the built-in type
system Visualize your data in Julia with plotting
packages Explore the use of built-in macros for testing
and debugging Integrate Julia with other languages such
as C, Python, and MATLAB Analyze and manipulate
datasets using Julia and DataFrames Develop and run a
web app using Julia and the HTTP package Build a
recommendation system using supervised machine learning
Who this book is for If you are a statistician or data
scientist who wants a quick course in the Julia
programming language while building big data
applications, this Learning Path is for you.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Application
software; Development; Development; Julia (Computer
program language)",
}
@Article{Bingol:2019:NPO,
author = "Onur Rauf Bingol and Adarsh Krishnamurthy",
title = "{NURBS}-Python: an open-source object-oriented {NURBS}
modeling framework in {Python}",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "85--94",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301778",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Cartis:2019:IFR,
author = "Coralia Cartis and Jan Fiala and Benjamin Marteau and
Lindon Roberts",
title = "Improving the Flexibility and Robustness of
Model-based Derivative-free Optimization Solvers",
journal = j-TOMS,
volume = "45",
number = "3",
pages = "32:1--32:41",
month = aug,
year = "2019",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3338517",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Sep 3 17:49:22 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/citation.cfm?id=3338517",
abstract = "We present two software packages for derivative-free
optimization (DFO): DFO-LS for nonlinear least-squares
problems and Py-BOBYQA for general objectives, both
with optional bound constraints. Inspired by the
Gauss--Newton method, DFO-LS constructs simplified
linear regression models for the residuals and allows
flexible initialization for expensive problems, whereby
it can begin making progress after as few as two
objective evaluations. Numerical results show DFO-LS
can gain reasonable progress on some medium-scale
problems with fewer objective evaluations than is
needed for one gradient evaluation. DFO-LS has improved
robustness to noise, allowing sample averaging,
regression-based model construction, and multiple
restart strategies with an auto-detection mechanism.
Our extensive numerical experimentation shows that
restarting the solver when stagnation is detected is a
cheap and effective mechanism for achieving robustness,
with superior performance over sampling and regression
techniques. The package Py-BOBYQA is a Python
implementation of BOBYQA (Powell 2009), with novel
features such as the implementation of robustness to
noise strategies. Our numerical experiments show that
Py-BOBYQA is comparable to or better than existing
general DFO solvers for noisy problems. In our
comparisons, we introduce an adaptive accuracy measure
for data profiles of noisy functions, striking a
balance between measuring the true and the noisy
objective improvement.",
acknowledgement = ack-nhfb,
articleno = "32",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Caudai:2019:LSC,
author = "Claudia Caudai and Emanuele Salerno and Monica
Zopp{\`e} and Ivan Merelli and Anna Tonazzini",
title = "{ChromStruct 4}: a {Python} Code to Estimate the
Chromatin Structure from {Hi-C} Data",
journal = j-TCBB,
volume = "16",
number = "6",
pages = "1867--1878",
month = nov,
year = "2019",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2018.2838669",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Wed Jun 10 07:29:47 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
URL = "https://dl.acm.org/doi/abs/10.1109/TCBB.2018.2838669",
abstract = "A method and a stand-alone Python code to estimate the
3D chromatin structure from chromosome conformation
capture data are presented. The method is based on a
multiresolution, modified-bead-chain chromatin model,
evolved through quaternion operators in a \ldots{}",
acknowledgement = ack-nhfb,
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "https://dl.acm.org/loi/tcbb",
}
@Article{Chen:2019:PPL,
author = "Zhangqi Chen and Qiaofu Zhang and Ji-Cheng Zhao",
title = "\pkg{pydiffusion}: a {Python} Library for Diffusion
Simulation and Data Analysis",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "13--??",
day = "23",
month = apr,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.255",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.255/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Cimrman:2019:MFE,
author = "Robert Cimrman and Vladim{\'\i}r Lukes and Eduard
Rohan",
title = "Multiscale finite element calculations in {Python}
using {SfePy}",
journal = j-ADV-COMPUT-MATH,
volume = "45",
number = "4",
pages = "1897--1921",
month = aug,
year = "2019",
CODEN = "ACMHEX",
DOI = "https://doi.org/10.1007/s10444-019-09666-0",
ISSN = "1019-7168 (print), 1572-9044 (electronic)",
ISSN-L = "1019-7168",
bibdate = "Thu May 30 08:11:48 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/advcomputmath.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10444-019-09666-0",
acknowledgement = ack-nhfb,
ajournal = "Adv. Comput. Math.",
fjournal = "Advances in Computational Mathematics",
journal-URL = "http://link.springer.com/journal/10444",
}
@Article{DePalma:2019:PPI,
author = "Barbara {De Palma} and Marco Erba and Luca Mantovani
and Nicola Mosco",
title = "A {Python} program for the implementation of the {$
\Gamma $}-method for {Monte Carlo} simulations",
journal = j-COMP-PHYS-COMM,
volume = "234",
number = "??",
pages = "294--301",
month = jan,
year = "2019",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.07.004",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Oct 16 18:11:50 MDT 2018",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465518302534",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Doulis:2019:CMP,
author = "Georgios Doulis and J{\"o}rg Frauendiener and Chris
Stevens and Ben Whale",
title = "{COFFEE} --- an {MPI}-parallelized {Python} package
for the numerical evolution of differential equations",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100283",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100283",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019300950",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Dsilva:2019:MRD,
author = "Joseph Vinish D'silva and Florestan {De Moor} and
Bettina Kemme",
title = "Making an {RDBMS} data scientist friendly: advanced
in-database interactive analytics with visualization
support",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "12",
number = "12",
pages = "1930--1933",
month = aug,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.14778/3352063.3352102",
ISSN = "2150-8097",
bibdate = "Wed Oct 2 06:49:02 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "We are currently witnessing the rapid evolution and
adoption of various data science frameworks that
function external to the database. Any support from
conventional RDBMS implementations for data science
applications has been limited to procedural paradigms
such as user-defined functions (UDFs) that lack
exploratory programming support. Therefore, the current
status quo is that during the exploratory phase, data
scientists usually use the database system as the
``data storage'' layer of the data science framework,
whereby the majority of computation and analysis is
performed outside the database, e.g., at the client
node. We demonstrate AIDA, an in-database framework for
data scientists. AIDA allows users to write interactive
Python code using a development environment such as a
Jupyter notebook. The actual execution itself takes
place inside the database (near-data), where a server
component of AIDA, that resides inside the embedded
Python interpreter of the RDBMS, manages the data sets
and computations. The demonstration will also show the
visualization capabilities of AIDA where the progress
of computation can be observed through live updates.
Our evaluations show that AIDA performs several times
faster compared to contemporary external data science
frameworks, but is much easier to use for exploratory
development compared to database UDFs.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Dzib:2019:EPC,
author = "Eugenia Dzib and Jos{\'e} Luis Cabellos and Filiberto
Ort{\'\i}z-Chi and Sudip Pan and Annia Galano and
Gabriel Merino",
title = "{Eyringpy}: a program for computing rate constants in
the gas phase and in solution",
journal = j-IJQC,
volume = "119",
number = "2",
pages = "e25686:1--e25686:??",
day = "15",
month = jan,
year = "2019",
CODEN = "IJQCB2",
DOI = "https://doi.org/10.1002/qua.25686",
ISSN = "0020-7608 (print), 1097-461X (electronic)",
ISSN-L = "0020-7608",
bibdate = "Mon Mar 25 11:03:11 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijqc2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "International Journal of Quantum Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0020-7608/",
onlinedate = "30 August 2018",
}
@Article{Gagunashvili:2019:CCC,
author = "Nikolay D. Gagunashvili and Helgi Halldorsson and
Helmut Neukirchen",
title = "{CHICOM}: Code for comparing weighted or unweighted
histograms in {Fortran-77}, {C++}, {R} and {Python}",
journal = j-COMP-PHYS-COMM,
volume = "245",
number = "??",
pages = "Article 106872",
month = dec,
year = "2019",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Oct 29 11:44:58 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465519302590",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Gerum:2019:CPP,
author = "Richard C. Gerum and Sebastian Richter and Alexander
Winterl and Christoph Mark and Ben Fabry and C{\'e}line
{Le Bohec} and Daniel P. Zitterbart",
title = "\pkg{CameraTransform}: a {Python} package for
perspective corrections and image mapping",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100333",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100333",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019302018",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Graichen:2019:SPT,
author = "Uwe Graichen and Roland Eichardt and Jens Haueisen",
title = "\pkg{SpharaPy}: a {Python} toolbox for spatial
harmonic analysis of non-uniformly sampled data",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100289",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100289",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019301670",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gregor:2019:PGP,
author = "Luke Gregor and Thomas J. Ryan-Keogh and Sarah-Anne
Nicholson and Marcel du Plessis and Isabelle Giddy and
Sebastiaan Swart",
title = "\pkg{GliderTools}: a {Python} Toolbox for Processing
Underwater Glider Data",
journal = j-FRONTIERS-MAR-SCI,
volume = "6",
month = dec,
year = "2019",
DOI = "https://doi.org/10.3389/fmars.2019.00738",
ISSN = "2296-7745",
ISSN-L = "2296-7745",
bibdate = "Wed Dec 22 06:45:41 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/frontmarsci2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "Front. Mar. Sci.",
fjournal = "Frontiers in Marine Science",
journal-URL = "https://www.frontiersin.org/journals/655",
rawdoi = "10.3389/fmars.2019.00738",
}
@Article{Harvey:2019:TPS,
author = "Christine Harvey and R. S. Weigel",
title = "\pkg{Transplant2Mongo}: {Python} Scripts that Insert
Organ Procurement and Transplantation Network {(OPTN)}
Data in {MongoDB}",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "5--??",
day = "14",
month = mar,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.229",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.229/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Isaacs:2019:PCL,
author = "K. E. Isaacs and T. Gamblin",
title = "Preserving Command Line Workflow for a Package
Management System Using {ASCII DAG} Visualization",
journal = j-IEEE-TRANS-VIS-COMPUT-GRAPH,
volume = "25",
number = "9",
pages = "2804--2820",
month = sep,
year = "2019",
CODEN = "ITVGEA",
DOI = "https://doi.org/10.1109/TVCG.2018.2859974",
ISSN = "1077-2626",
ISSN-L = "1077-2626",
bibdate = "Thu Aug 1 06:57:34 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransviscomputgraph.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Visualization and Computer
Graphics",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2945",
keywords = "command line interface; Data visualization;
information visualization; Layout; Python; Software
visualization; Task analysis; Tools; Visualization",
}
@Article{Ishak:2019:BRS,
author = "B. Ishak",
title = "Book Review: {{\booktitle{A student's guide to Python
for physical modeling}}}",
journal = j-CONTEMP-PHYS,
volume = "60",
number = "1",
pages = "88--89",
year = "2019",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2019.1606036",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Tue Jul 23 12:15:39 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
onlinedate = "29 Apr 2019",
}
@Article{Jeong:2019:SSG,
author = "Eunji Jeong and Sungwoo Cho and Gyeong-In Yu and Joo
Seong Jeong and Dong-Jin Shin and Taebum Kim and
Byung-Gon Chun",
title = "Speculative Symbolic Graph Execution of Imperative
Deep Learning Programs",
journal = j-OPER-SYS-REV,
volume = "53",
number = "1",
pages = "26--33",
month = jul,
year = "2019",
CODEN = "OSRED8",
DOI = "https://doi.org/10.1145/3352020.3352025",
ISSN = "0163-5980 (print), 1943-586X (electronic)",
ISSN-L = "0163-5980",
bibdate = "Wed Oct 16 11:56:03 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/opersysrev.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "The rapid evolution of deep neural networks is
demanding deep learning (DL) frameworks not only to
satisfy the requirement of quickly executing large
computations, but also to support straightforward
programming models for quickly implementing and
experimenting with complex network structures. However,
existing frameworks fail to excel in both departments
simultaneously, leading to diverged efforts for
optimizing performance and improving usability. This
paper presents JANUS, a system that combines the
advantages from both sides by transparently converting
an imperative DL program written in Python, a de-facto
scripting language for DL, into an efficiently
executable symbolic dataflow graph. JANUS can convert
various dynamic features of Python, including dynamic
control flow, dynamic types, and impure functions, into
elements of a symbolic dataflow graph. Our experiments
show that JANUS can achieve fast DL training by
exploiting the techniques imposed by symbolic
graph-based DL frameworks, while maintaining the simple
and flexible programmability of imperative DL
frameworks at the same time.",
acknowledgement = ack-nhfb,
fjournal = "Operating Systems Review",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597",
}
@Article{Kuhring:2019:CBO,
author = "Lucas Kuhring and Zsolt Istv{\'a}n",
title = "{I} can't believe it's not (only) software!: bionic
distributed storage for {Parquet} files",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "12",
number = "12",
pages = "1838--1841",
month = aug,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.14778/3352063.3352079",
ISSN = "2150-8097",
bibdate = "Wed Oct 2 06:49:02 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "There is a steady increase in the size of data stored
and processed as part of data science applications,
leading to bottlenecks and inefficiencies at various
layers of the stack. One way of reducing such
bottlenecks and increasing energy efficiency is by
tailoring the underlying distributed storage solution
to the application domain, using resources more
efficiently. We explore this idea in the context of a
popular column-oriented storage format used in big data
workloads, namely Apache Parquet. Our prototype uses an
FPGA-based storage node that offers high bandwidth data
deduplication and a companion software library that
exposes an API for Parquet file access. This way the
storage node remains general purpose and could be
shared by applications from different domains, while,
at the same time, benefiting from deduplication well
suited to Apache Parquet files and from selective reads
of columns in the file. In this demonstration we show,
on the one hand, that by relying on the FPGA's dataflow
processing model, it is possible to implement in-line
deduplication without increasing latencies
significantly or reducing throughput. On the other
hand, we highlight the benefits of implementing the
application-specific aspects in a software library
instead of FPGA circuits and how this enables, for
instance, regular data science frameworks running in
Python to access the data on the storage node and to
offload filtering operations.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Lal:2019:CGA,
author = "Ratan Lal and Pavithra Prabhakar",
title = "Counterexample Guided Abstraction Refinement for
Polyhedral Probabilistic Hybrid Systems",
journal = j-TECS,
volume = "18",
number = "5s",
pages = "98:1--98:??",
month = oct,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1145/3358217",
ISSN = "1539-9087 (print), 1558-3465 (electronic)",
ISSN-L = "1539-9087",
bibdate = "Thu Oct 17 18:16:44 MDT 2019",
bibsource = "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/ft_gateway.cfm?id=3358217",
abstract = "We consider the problem of safety analysis of
probabilistic hybrid systems, which capture discrete,
continuous and probabilistic behaviors. We present a
novel counterexample guided abstraction refinement
(CEGAR) algorithm for a subclass of probabilistic
hybrid systems, called polyhedral probabilistic hybrid
systems (PHS), where the continuous dynamics is
specified using a polyhedral set within which the
derivatives of the continuous executions lie.
Developing a CEGAR algorithm for PHS is complex owing
to the branching behavior due to the probabilistic
transitions, and the infinite state space due to the
real-valued variables. We present a practical algorithm
by choosing a succinct representation for
counterexamples, an efficient validation algorithm and
a constructive method for refinement that ensures
progress towards the elimination of a spurious abstract
counterexample. The technical details for refinement
are non-trivial since there are no clear disjoint sets
for separation. We have implemented our algorithm in a
Python toolbox called Procegar; our experimental
analysis demonstrates the benefits of our method in
terms of successful verification results, as well as
bug finding.",
acknowledgement = ack-nhfb,
articleno = "98",
fjournal = "ACM Transactions on Embedded Computing Systems",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J840",
}
@Article{Lee:2019:CII,
author = "Edward D. Lee and Bryan C. Daniels",
title = "{Convenient Interface to Inverse Ising (ConIII)}: a
{Python 3} Package for Solving {Ising}-Type Maximum
Entropy Models",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "3--??",
day = "04",
month = mar,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.217",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.217/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Li:2019:AOP,
author = "Yangguang Li and Zhen Ming (Jack) Jiang",
title = "Assessing and optimizing the performance impact of the
just-in-time configuration parameters --- a case study
on {PyPy}",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "24",
number = "4",
pages = "2323--2363",
month = aug,
year = "2019",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-019-09691-z",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Fri Oct 11 07:46:32 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/article/10.1007/s10664-019-09691-z",
acknowledgement = ack-nhfb,
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Book{Lobianco:2019:JQS,
author = "Antonello Lobianco",
title = "{Julia} quick syntax reference: a pocket guide for
data science programming",
publisher = pub-APRESS,
address = pub-APRESS:adr,
pages = "xvii + 216 + 66",
year = "2019",
DOI = "https://doi.org/10.1007/978-1-4842-5190-4",
ISBN = "1-4842-5189-X, 1-4842-5190-3 (e-book)",
ISBN-13 = "978-1-4842-5189-8, 978-1-4842-5190-4 (e-book)",
LCCN = "QA76.73.J85",
bibdate = "Thu Apr 8 11:08:50 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/book/10.1007/978-1-4842-5190-4",
abstract = "This quick Julia programming language guide is a
condensed code and syntax reference to the Julia 1.x
programming language, updated with the latest features
of the Julia APIs, libraries, and packages. It presents
the essential Julia syntax in a well-organized format
that can be used as a handy reference. This book
provides an introduction that reveals basic Julia
structures and syntax; discusses data types, control
flow, functions, input/output, exceptions,
metaprogramming, performance, and more. Additionally,
you'll learn to interface Julia with other programming
languages such as R for statistics or Python. You will
learn how to use Julia packages for data analysis,
numerical optimization and symbolic computation, and
how to disseminate your results in dynamic documents or
interactive web pages. In this book, the focus is on
providing important information as quickly as possible.
It is packed with useful information and is a must-have
for any Julia programmer. What You Will Learn Set up
the software needed to run Julia and your first Hello
World example Work with types and the different
containers that Julia makes available for rapid
application development Use vectorized, classical
loop-based code, logical operators, and blocks Explore
Julia functions by looking at arguments, return values,
polymorphism, parameters, anonymous functions, and
broadcasts Build custom structures in Julia Interface
Julia with other languages such as C/C++, Python, and R
Program a richer API, modifying the code before it is
executed using expressions, symbols, macros, quote
blocks, and more Maximize your code's performance Who
This Book Is For Experienced programmers new to Julia,
as well as existing Julia coders new to the now stable
Julia version 1.0 release.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Computer
programming; Handbooks, manuals, etc; Computer
programming; Julia (Computer program language)",
tableofcontents = "Part 1. Language Core \\
1. Getting Started \\
2. Data Types and Structures \\
3. Control Flow and Functions \\
4. Custom Types \\
5. Input? Output \\
6. Metaprogramming and Macros \\
7. Interfacing Julia with Other Languages \\
8. Efficiently Write Efficient Code \\
Part 2. Packages Ecosystem \\
9. Working with Data \\
10. Mathematical Libraries \\
11. Utilities",
}
@Article{Malloy:2019:EAT,
author = "Brian A. Malloy and James F. Power",
title = "An empirical analysis of the transition from {Python
2} to {Python 3}",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "24",
number = "2",
pages = "751--778",
month = apr,
year = "2019",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-018-9637-2",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Fri Oct 11 07:46:31 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/article/10.1007/s10664-018-9637-2",
acknowledgement = ack-nhfb,
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Malloy:2019:GEM,
author = "Brian A. Malloy and James F. Power",
title = "Grammar engineering for multiple front-ends for
{Python}",
journal = j-SPE,
volume = "49",
number = "3",
pages = "380--400",
month = mar,
year = "2019",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.2665",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Mon Mar 25 14:15:53 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "04 December 2018",
}
@Article{Martin:2019:QPM,
author = "R. D. Martin and Q. Cai and T. Garrow and C. Kapahi",
title = "\pkg{QExpy}: a {Python-3} module to support
undergraduate physics laboratories",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100273",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100273",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271101930144X",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Book{McNicholas:2019:DSJ,
author = "Paul D. McNicholas and Peter A. Tait",
title = "Data science with {Julia}",
publisher = "Chapman and Hall\slash CRC",
address = "Boca Raton, FL, USA",
pages = "xix + 220",
year = "2019",
DOI = "https://doi.org/10.1201/9781351013673",
ISBN = "1-138-49999-4, 1-351-01364-5, 1-351-01365-3,
1-351-01366-1, 1-351-01367-X",
ISBN-13 = "978-1-138-49998-0 (paperback), 978-1-138-49999-7,
978-1-351-01364-2, 978-1-351-01365-9,
978-1-351-01366-6, 978-1-351-01367-3",
LCCN = "QA76.73.J85 M37 2019eb",
bibdate = "Fri May 21 17:39:58 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Julia, an open-source programming language, was
created to be as easy to use as languages such as R and
Python while also as fast as C and Fortran. An
accessible, intuitive, and highly efficient base
language with speed that exceeds R and Python, makes
Julia a formidable language for data science. Using
well known data science methods that will motivate the
reader, Data Science with Julia will get readers up to
speed on key features of the Julia language and
illustrate its facilities for data science and machine
learning work.",
acknowledgement = ack-nhfb,
subject = "Julia (Computer program language); Data structures
(Computer science); Data structures (Computer science);
Julia (Computer program language)",
tableofcontents = "Cover \\
Half Title \\
Title Page \\
Copyright Page \\
Dedication \\
Table Of Contents \\
Foreword \\
Preface \\
About The Authors \\
1: Introduction \\
1.1 Data Science \\
1.2 Big Data \\
1.3 Julia \\
1.4 Julia And R Packages \\
1.5 Datasets \\
1.5.1 Overview \\
1.5.2 Beer Data \\
1.5.3 Coffee Data \\
1.5.4 Leptograpsus Crabs Data \\
1.5.5 Food Preferences Data \\
1.5.6 X2 Data \\
1.5.7 Iris Data \\
1.6 Outline Of The Contents Of This Monograph \\
2: Core Julia \\
2.1 Variable Names \\
2.2 Operators \\
2.3 Types \\
2.3.1 Numeric \\
2.3.2 Floats \\
2.3.3 Strings \\
2.3.4 Tuples \\
2.4 Data Structures \\
2.4.1 Arrays \\
2.4.2 Dictionaries \\
2.5 Control Flow \\
2.5.1 Compound Expressions \\
2.5.2 Conditional Evaluation \\
2.5.3 Loops \\
2.5.3.1 Basics \\
2.5.3.2 Loop Termination \\
2.5.3.3 Exception Handling \\
2.6 Functions \\
3: Working With Data \\
3.1 Dataframes \\
3.2 Categorical Data \\
3.3 Input/Output \\
3.4 Useful Dataframe Functions \\
3.5 Split-Apply-Combine Strategy \\
3.6 Query. Jl \\
4: Visualizing Data \\
4.1 Gadfly. Jl \\
4.2 Visualizing Univariate Data \\
4.3 Distributions \\
4.4 Visualizing Bivariate Data \\
4.5 Error Bars \\
4.6 Facets \\
4.7 Saving Plots \\
5: Supervised Learning \\
5.1 Introduction \\
5.2 Cross-Validation \\
5.2.1 Overview \\
5.2.2 K-Fold Cross-Validation \\
5.3 $K$-Nearest Neighbours Classification \\
5.4 Classification And Regression Trees \\
5.4.1 Overview \\
5.4.2 Classification Trees \\
5.4.3 Regression Trees \\
5.4.4 Comments \\
5.5 Bootstrap \\
5.6 Random Forests \\
5.7 Gradient Boosting \\
5.7.1 Overview \\
5.7.2 Beer Data \\
5.7.3 Food Data \\
5.8 Comments \\
6: Unsupervised Learning \\
6.1 Introduction \\
6.2 Principal Components Analysis \\
6.3 Probabilistic Principal Components Analysis \\
6.4 Em Algorithm for Ppca \\
6.4.1 Background: EM Algorithm \\
6.4.2 E-step \\
6.4.3 M-step \\
6.4.4 Woodbury Identity \\
6.4.5 Initialization \\
6.4.6 Stopping Rule \\
6.4.7 Implementing the EM Algorithm for PPCA \\
6.4.8 Comments \\
6.5 $K$-Means Clustering \\
6.6 Mixture Of Probabilistic Principal Components
Analyzers \\
6.6.1 Model \\
6.6.2 Parameter Estimation \\
6.6.3 Illustrative Example: Coffee Data \\
6.7 Comments \\
7: R Interoperability \\
7.1 Accessing R Datasets \\
7.2 Interacting With R \\
7.3 Example: Clustering And Data Reduction For The
Coffee Data \\
7.3.1 Coffee Data \\
7.3.2 PGMM Analysis \\
7.3.3 VSCC Analysis \\
7.4 Example: Food Data \\
7.4.1 Overview \\
7.4.2 Random Forests \\
Appendix A: Julia and R Packages Used Herein \\
Appendix B: Variables for Food Data \\
Appendix C: Useful Mathematical Results \\
C.1 Brief Overview of Eigenvalues \\
C.2 Selected Linear Algebra Results \\
C.3 Matrix Calculus Results \\
Appendix D: Performance Tips \\
D.1 Floating Point Numbers \\
D.1.1 Do Not Test for Equality \\
D.1.2 Use Logarithms for Division \\
D.1.3 Subtracting Two Nearly Equal Numbers \\
D.2 Julia Performance \\
D.2.1 General Tips \\
D.2.2 Array Processing \\
D.2.3 Separate Core Computations \\
Appendix E: Linear Algebra Functions \\
E.1 Vector Operations \\
E.2 Matrix Operations \\
E.3 Matrix Decompositions \\
References \\
Index",
}
@Article{Micieli:2019:NTP,
author = "Davide Micieli and Triestino Minniti and Giuseppe
Gorini",
title = "\pkg{NeuTomPy} toolbox, a {Python} package for
tomographic data processing and reconstruction",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "260--264",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018302103",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Book{Mishra:2019:PRP,
author = "Pradeepta Mishra",
title = "{PyTorch} Recipes: a Problem--solution Approach",
publisher = pub-APRESS,
address = pub-APRESS:adr,
year = "2019",
DOI = "https://doi.org/10.1007/978-1-4842-4258-2",
ISBN = "1-4842-4257-2, 1-4842-4258-0 (e-book), 1-4842-4259-9",
ISBN-13 = "978-1-4842-4257-5, 978-1-4842-4258-2 (e-book),
978-1-4842-4259-9 (print)",
LCCN = "QA76.87",
bibdate = "Tue Nov 19 11:04:20 MST 2019",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.vlebooks.com/vleweb/product/openreader?id=none\%26isbn=9781484242582",
abstract = "Get up to speed with the deep learning concepts of
Pytorch using a problem-solution approach. Starting
with an introduction to PyTorch, you'll get
familiarized with tensors, a type of data structure
used to calculate arithmetic operations and also learn
how they operate. You will then take a look at
probability distributions using PyTorch and get
acquainted with its concepts. Further you will dive
into transformations and graph computations with
PyTorch. Along the way you will take a look at common
issues faced with neural network implementation and
tensor differentiation, and get the best solutions for
them. Moving on to algorithms; you will learn how
PyTorch works with supervised and unsupervised
algorithms. You will see how convolutional neural
networks, deep neural networks, and recurrent neural
networks work using PyTorch. In conclusion you will get
acquainted with natural language processing and text
processing using PyTorch. You will: Master tensor
operations for dynamic graph-based calculations using
PyTorch Create PyTorch transformations and graph
computations for neural networks Carry out supervised
and unsupervised learning using PyTorch Work with deep
learning algorithms such as CNN and RNN Build LSTM
models in PyTorch Use PyTorch for text processing.",
acknowledgement = ack-nhfb,
subject = "Neural networks (Computer science); Machine learning;
Python (Computer program language); COMPUTERS;
General.; Machine learning.; Neural networks (Computer
science); Python (Computer program language)",
tableofcontents = "Introduction to PyTorch, Tensors, and Tensor
operations \\
Probability distributions using PyTorch \\
CNN and RNN using PyTorch \\
Introduction to neural networks using PyTorch \\
Supervised learning using PyTorch \\
Fine-tuning deep learning models using PyTorch \\
Natural language processing using PyTorch",
}
@Article{Mohanan:2019:FCA,
author = "Ashwin Vishnu Mohanan and Cyrille Bonamy and Pierre
Augier",
title = "\pkg{FluidFFT}: Common {API} ({C++} and {Python}) for
{Fast Fourier Transform} {HPC} Libraries",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "10--??",
day = "01",
month = apr,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.238",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.238/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Mohanan:2019:FMO,
author = "Ashwin Vishnu Mohanan and Cyrille Bonamy and Miguel
Calpe Linares and Pierre Augier",
title = "\pkg{FluidSim}: Modular, Object-Oriented {Python}
Package for High-Performance {CFD} Simulations",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "14--??",
day = "26",
month = apr,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.239",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.239/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@InProceedings{Moura:2019:UJP,
author = "R. A. R. Moura and M. A. O. Schroeder and S. J. S.
Silva and E. G. Nepomuceno and P. H. N. Vieira and A.
C. S. Lima",
booktitle = "{2019 International Symposium on Lightning Protection
(XV SIPDA)}",
title = "The Usage of {Julia} Programming in Grounding Grids
Simulations : An alternative to {MATLAB} and {Python}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "1--4",
year = "2019",
DOI = "https://doi.org/10.1109/SIPDA47030.2019.8951702",
bibdate = "Thu Apr 8 07:17:08 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
keywords = "Julia programming language",
}
@Article{Puzyrev:2019:PCF,
author = "Vladimir Puzyrev and Mehdi Ghommem and Shiv Meka",
title = "\pkg{pyROM}: a computational framework for reduced
order modeling",
journal = j-J-COMPUT-SCI,
volume = "30",
pages = "157--173",
month = jan,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2018.12.004",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
MRclass = "65L99",
MRnumber = "3894336",
bibdate = "Tue Sep 19 13:55:07 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750318307518",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Qin:2019:QPP,
author = "Tian Qin and Qi Zhang and Renata M. Wentzcovitch and
Koichiro Umemoto",
title = "{\tt qha}: a {Python} package for quasiharmonic free
energy calculation for multi-configuration systems",
journal = j-COMP-PHYS-COMM,
volume = "237",
number = "??",
pages = "199--207",
month = apr,
year = "2019",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2018.11.003",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Feb 6 15:16:58 MST 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465518303953",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Book{Rao:2019:NLP,
author = "Delip Rao and Brian McMahan",
title = "Natural Language Processing with {PyTorch}: Build
Intelligent Language Applications Using Deep Learning",
publisher = pub-ORA-MEDIA,
address = pub-ORA-MEDIA:adr,
pages = "xiii + 238",
year = "2019",
ISBN = "1-4919-7818-X, 1-4919-7820-1 (e-book), 1-4919-7822-8,
1-4919-7823-6 (paperback)",
ISBN-13 = "978-1-4919-7818-4, 978-1-4919-7820-7 (e-book),
978-1-4919-7822-1, 978-1-4919-7823-8 (paperback)",
LCCN = "QA76.9.N38 R36 2019",
bibdate = "Tue Nov 19 11:01:40 MST 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ora.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
z3950.loc.gov:7090/Voyager",
abstract = "Natural Language Processing (NLP) offers unbounded
opportunities for solving interesting problems in
artificial intelligence, making it the latest frontier
for developing intelligent, deep learning-based
applications. If you're a developer or researcher ready
to dive deeper into this rapidly growing area of
artificial intelligence, this practical book shows you
how to use the PyTorch deep learning framework to
implement recently discovered NLP techniques. To get
started, all you need is a machine learning background
and experience programming with Python. Authors Delip
Rao and Goku Mohandas provide you with a solid
grounding in PyTorch, and deep learning algorithms, for
building applications involving semantic representation
of text. Each chapter includes several code examples
and illustrations. Get extensive introductions to NLP,
deep learning, and PyTorch. Understand traditional NLP
methods, including NLTK, SpaCy, and gensim. Explore
embeddings: high quality representations for words in a
language. Learn representations from a language
sequence, using the Recurrent Neural Network (RNN).
Improve on RNN results with complex neural
architectures, such as Long Short Term Memories (LSTM)
and Gated Recurrent Units. Explore sequence-to-sequence
models (used in translation) that read one sequence and
produce another.",
acknowledgement = ack-nhfb,
shorttableofcontents = "Introduction \\
A quick tour of traditional NLP \\
Foundational components of neural networks \\
Feed-forward networks for natural language processing
\\
Embedding words and types \\
Sequence modeling for natural language processing \\
Intermediate sequence modeling for natural language
processing \\
Advanced sequence modeling for natural language
processing \\
Classics, frontiers, and next steps",
subject = "Natural language processing (Computer science);
Computer programs; Python (Computer program language);
Machine learning",
tableofcontents = "Preface \\
Conventions Used in This Book \\
Using Code Examples \\
O'Reilly Safari \\
How to Contact Us \\
Acknowledments \\
1. Introduction \\
The Supervised Learning Paradigm \\
Observation and Target Encoding \\
One-Hot Representation \\
TF Representation \\
TF-IDF Representation \\
Target Encoding \\
Computational Graphs \\
PyTorch Basics \\
Installing PyTorch \\
Creating Tensors \\
Tensor Types and Size \\
Tensor Operations \\
Indexing, Slicing, and Joining \\
Tensors and Computational Graphs \\
CUDA Tensors \\
Exercises \\
Solutions \\
Summary \\
References \\
2. A Quick Tour of Traditional NLPCorpora, Tokens, and
Types \\
Unigrams, Bigrams, Trigrams \ldots{}, $N$-grams \\
Lemmas and Stems \\
Categorizing Sentences and Documents \\
Categorizing Words: POS Tagging \\
Categorizing Spans: Chunking and Named Entity
Recognition \\
Structure of Sentences \\
Word Senses and Semantics \\
Summary \\
References \\
3. Foundational Components of Neural Networks \\
The Perceptron: The Simplest Neural Network \\
Activation Functions \\
Sigmoid \\
Tanh \\
ReLU \\
Softmax \\
Loss Functions \\
Mean Squared Error Loss \\
Categorical Cross-Entropy Loss \\
Binary Cross-Entropy Loss \\
Diving Deep into Supervised Training \\
Constructing Toy Data \\
Putting It Together: Gradient-Based Supervised Learning
\\
Auxiliary Training Concepts \\
Correctly Measuring Model Performance: Evaluation
Metrics \\
Correctly Measuring Model Performance: Splitting the
Dataset \\
Knowing When to Stop Training \\
Finding the Right Hyperparameters \\
Regularization \\
Example: Classifying Sentiment of Restaurant Reviews
\\
The Yelp Review Dataset \\
Understanding PyTorch's Dataset Representation \\
The Vocabulary, the Vectorizer, and the DataLoader \\
A Perceptron Classifier \\
The Training Routine \\
Evaluation, Inference, and Inspection \\
Summary \\
References \\
4. Feed-Forward Networks for Natural Language
Processing \\
The Multilayer Perceptron \\
A Simple Example: XOR \\
Implementing MLPs in PyTorch \\
Example: Surname Classification with an MLP \\
The Surnames Dataset \\
Vocabulary, Vectorizer, and DataLoader \\
The SurnameClassifier Model \\
The Training Routine \\
Model Evaluation and Prediction \\
Regularizing MLPs: Weight Regularization and Structural
Regularization (or Dropout) \\
Convolutional Neural Networks \\
CNN Hyperparameters \\
Implementing CNNs in PyTorchExample: Classifying
Surnames by Using a CNN \\
The SurnameDataset Class \\
Vocabulary, Vectorizer, and DataLoader \\
Reimplementing the SurnameClassifier with Convolutional
Networks \\
The Training Routine \\
Model Evaluation and Prediction \\
Miscellaneous Topics in CNNs \\
Pooling \\
Batch Normalization (BatchNorm) \\
Network-in-Network Connections (1x1 Convolutions) \\
Residual Connections/Residual Block \\
Summary \\
References \\
5. Embedding Words and Types \\
Why Learn Embeddings? \\
Efficiency of Embeddings \\
Approaches to Learning Word Embeddings \\
The Practical Use of Pretrained Word Embeddings",
}
@Article{Rogers:2019:SLB,
author = "Samuel Rogers and Joshua Slycord and Ronak Raheja and
Hamed Tabkhi",
title = "Scalable {LLVM}-Based Accelerator Modeling in gem5",
journal = j-IEEE-COMPUT-ARCHIT-LETT,
volume = "18",
number = "1",
pages = "18--21",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1109/LCA.2019.2893932",
ISSN = "1556-6056 (print), 1556-6064 (electronic)",
ISSN-L = "1556-6056",
bibdate = "Thu Jun 20 17:18:18 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeecomputarchitlett.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "This article proposes a scalable integrated system
architecture modeling for hardware accelerator based in
gem5 simulation framework. The core of proposed
modeling is a LLVM-based simulation engine for modeling
any customized data-path with respect to inherent
data/instruction-level parallelism (derived by
algorithms) and available compute units (defined by the
user). The simulation framework also offers a
general-purpose communication interface that allows a
scalable and flexible connection into the gem5
ecosystem. Python API of gem5, enabling modifications
to the system hierarchy without the need to rebuild the
underlying simulator. Our simulation framework
currently supports full-system simulation (both
bare-metal and a full Linux kernel) for ARM-based
systems, with future plans to add support for RISC-V.
The LLVM-based modeling and modular integration to gem5
allow long-term simulation expansion and sustainable
design modeling for emerging applications with demands
for acceleration.",
acknowledgement = ack-nhfb,
affiliation = "Rogers, S (Reprint Author), Univ Noth Carolina, Dept
Elect \& Comp Engn, Charlotte, NC 28223 USA. Rogers,
Samuel; Slycord, Joshua; Raheja, Ronak; Tabkhi, Hamed,
Univ Noth Carolina, Dept Elect \& Comp Engn, Charlotte,
NC 28223 USA.",
author-email = "sroger48@uncc.edu jslycord@uncc.edu rraheja@uncc.edu
htabkhiv@uncc.edu",
da = "2019-06-20",
doc-delivery-number = "HL5MF",
eissn = "1556-6064",
fjournal = "IEEE Computer Architecture Letters",
journal-iso = "IEEE Comput. Archit. Lett.",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=10208",
keywords = "application program interfaces; ARM-based systems;
Computational modeling; Computer architecture
simulation; customized data-path; Engines; field
programmable gate arrays; flexible connection;
full-system simulation; gem5 ecosystem; gem5 simulation
framework; general-purpose communication interface;
Hardware; hardware accelerator; hardware accelerators;
heterogeneous systems; inherent data; instruction-level
parallelism; Linux; LLVM-based modeling; LLVM-based
simulation engine; logic design; long-term simulation
expansion; microprocessor chips; multiprocessing
systems; parallel architectures; parallel programming;
program compilers; reduced instruction set computing;
Registers; RISC-V; Runtime; scalable connection;
scalable integrated system architecture modeling;
scalable LLVM-based accelerator modeling; Space
exploration; sustainable design modeling;
Synchronization; system hierarchy",
number-of-cited-references = "11",
ORCID-numbers = "Slycord, Joshua/0000-0002-0569-4094 Rogers,
Samuel/0000-0002-9697-2933",
research-areas = "Computer Science",
times-cited = "0",
unique-id = "Rogers:2019:SLB",
web-of-science-categories = "Computer Science, Hardware \&
Architecture",
}
@Article{Rose:2019:PSB,
author = "Michael E. Rose and John R. Kitchin",
title = "\pkg{pybliometrics}: Scriptable bibliometrics using a
{Python} interface to {Scopus}",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100263",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100263",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019300573",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ruiz-Rosero:2019:SSS,
author = "Juan Ruiz-Rosero and Gustavo Ramirez-Gonzalez and
Jesus Viveros-Delgado",
title = "Software survey: {ScientoPy}, a scientometric tool for
topics trend analysis in scientific publications",
journal = j-SCIENTOMETRICS,
volume = "121",
number = "2",
pages = "1165--1188",
month = nov,
year = "2019",
CODEN = "SCNTDX",
DOI = "https://doi.org/10.1007/s11192-019-03213-w",
ISSN = "0138-9130 (print), 1588-2861 (electronic)",
ISSN-L = "0138-9130",
bibdate = "Tue Oct 22 04:51:32 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scientometrics2010.bib",
URL = "http://link.springer.com/article/10.1007/s11192-019-03213-w",
acknowledgement = ack-nhfb,
fjournal = "Scientometrics",
journal-URL = "http://link.springer.com/journal/11192",
}
@Article{Saad:2019:PPS,
author = "Tony Saad and Giovanna Ruai",
title = "\pkg{PyMaxEnt}: a {Python} software for maximum
entropy moment reconstruction",
journal = j-SOFTWAREX,
volume = "10",
number = "??",
pages = "Article 100353",
month = jul # "\slash " # dec,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100353",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:36 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019302456",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Sandha:2019:DDM,
author = "Sandeep Singh Sandha and Wellington Cabrera and
Mohammed Al-Kateb and Sanjay Nair and Mani Srivastava",
title = "In-database distributed machine learning:
demonstration using {Teradata SQL} engine",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "12",
number = "12",
pages = "1854--1857",
month = aug,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.14778/3352063.3352083",
ISSN = "2150-8097",
bibdate = "Wed Oct 2 06:49:02 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "Machine learning has enabled many interesting
applications and is extensively being used in big data
systems. The popular approach --- training machine
learning models in frameworks like Tensorflow, Pytorch
and Keras --- requires movement of data from database
engines to analytical engines, which adds an excessive
overhead on data scientists and becomes a performance
bottleneck for model training. In this demonstration,
we give a practical exhibition of a solution for the
enablement of distributed machine learning natively
inside database engines. During the demo, the audience
will interactively use Python APIs in Jupyter Notebooks
to train multiple linear regression models on synthetic
regression datasets and neural network models on vision
and sensory datasets directly inside Teradata SQL
Engine.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Shajii:2019:SHP,
author = "Ariya Shajii and Ibrahim Numanagi{\'c} and Riyadh
Baghdadi and Bonnie Berger and Saman Amarasinghe",
title = "{Seq}: a high-performance language for
bioinformatics",
journal = j-PACMPL,
volume = "3",
number = "OOPSLA",
pages = "125:1--125:29",
month = oct,
year = "2019",
DOI = "https://doi.org/10.1145/3360551",
bibdate = "Fri Aug 7 19:22:30 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3360551",
abstract = "The scope and scale of biological data are increasing
at an exponential rate, as technologies like
next-generation sequencing are becoming radically
cheaper and more prevalent. Over the last two decades,
the cost of sequencing a genome has dropped from \$100
million to nearly \$100 --- a factor of over $ 10^6 $
--- and the amount of data to be analyzed has increased
proportionally. Yet, as Moore's Law continues to slow,
computational biologists can no longer rely on
computing hardware to compensate for the
ever-increasing size of biological datasets. In a field
where many researchers are primarily focused on
biological analysis over computational optimization,
the unfortunate solution to this problem is often to
simply buy larger and faster machines.\par
Here, we introduce Seq, the first language tailored
specifically to bioinformatics, which marries the ease
and productivity of Python with C-like performance. Seq
starts with a subset of Python --- and is in many cases
a drop-in replacement --- yet also incorporates novel
bioinformatics- and computational genomics-oriented
data types, language constructs and optimizations. Seq
enables users to write high-level, Pythonic code
without having to worry about low-level or
domain-specific optimizations, and allows for the
seamless expression of the algorithms, idioms and
patterns found in many genomics or bioinformatics
applications. We evaluated Seq on several standard
computational genomics tasks like reverse
complementation, k-mer manipulation, sequence pattern
matching and large genomic index queries. On equivalent
CPython code, Seq attains a performance improvement of
up to two orders of magnitude, and a $ 160 \times $
improvement once domain-specific language features and
optimizations are used. With parallelism, we
demonstrate up to a $ 650 \times $ improvement.
Compared to optimized C++ code, which is already
difficult for most biologists to produce, Seq
frequently attains up to a $ 2 \times $ improvement,
and with shorter, cleaner code. Thus, Seq opens the
door to an age of democratization of highly-optimized
bioinformatics software.",
acknowledgement = ack-nhfb,
articleno = "125",
fjournal = "Proceedings of the ACM on Programming Languages",
journal-URL = "https://pacmpl.acm.org/",
}
@Article{Speck:2019:APP,
author = "Robert Speck",
title = "{Algorithm 997}: {pySDC}-Prototyping Spectral Deferred
Corrections",
journal = j-TOMS,
volume = "45",
number = "3",
pages = "35:1--35:23",
month = aug,
year = "2019",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3310410",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Sep 3 17:49:22 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/citation.cfm?id=3310410",
abstract = "In this article, we present the Python framework pySDC
for solving collocation problems with spectral deferred
correction (SDC) methods and their time-parallel
variant PFASST, the parallel full approximation scheme
in space and time. pySDC features many implementations
of SDC and PFASST, from simple implicit timestepping to
high-order implicit-explicit or multi-implicit
splitting and multilevel SDCs. The software package
comes with many different, preimplemented examples and
has seven tutorials to help new users with their first
steps. Time parallelism is implemented either in an
emulated way for debugging and prototyping or using MPI
for benchmarking. The code is fully documented and
tested using continuous integration, including most
results of previous publications. Here, we describe the
structure of the code by taking two different
perspectives: those of the user and those of the
developer. The first sheds light on the front-end, the
examples, and the tutorials, and the second is used to
describe the underlying implementation and the data
structures. We show three different examples to
highlight various aspects of the implementation, the
capabilities, and the usage of pySDC. In addition,
couplings to the FEniCS framework and PETSc, the latter
including spatial parallelism with MPI, are
described.",
acknowledgement = ack-nhfb,
articleno = "35",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Spiegelberg:2019:TRE,
author = "Leonhard F. Spiegelberg and Tim Kraska",
title = "{Tuplex}: robust, efficient analytics when {Python}
rules",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "12",
number = "12",
pages = "1958--1961",
month = aug,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.14778/3352063.3352109",
ISSN = "2150-8097",
bibdate = "Wed Oct 2 06:49:02 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
abstract = "Spark became the defacto industry standard as an
execution engine for data preparation, cleaning,
distributed machine learning, streaming and,
warehousing over raw data. However, with the success of
Python the landscape is shifting again; there is a
strong demand for tools which better integrate with the
Python landscape and do not have the impedance mismatch
like Spark. In this paper, we demonstrate Tuplex (short
for tuples and exceptions ), a Python-native data
preparation framework that allows users to develop and
deploy pipelines faster and more robustly while
providing bare-metal execution times through code
compilation whenever possible.",
acknowledgement = ack-nhfb,
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "http://portal.acm.org/citation.cfm?id=J1174",
}
@Article{Staub:2019:XHA,
author = "Florian Staub",
title = "{xSLHA}: an {Les Houches Accord} reader for {Python}
and {Mathematica}",
journal = j-COMP-PHYS-COMM,
volume = "241",
number = "??",
pages = "132--138",
month = aug,
year = "2019",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2019.03.013",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue May 14 10:01:33 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2010.bib;
https://www.math.utah.edu/pub/tex/bib/mathematica.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465519300918",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Steppa:2019:HPH,
author = "Constantin Steppa and Tim L. Holch",
title = "{HexagDLy} --- Processing hexagonally sampled data
with {CNNs} in {PyTorch}",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "193--198",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018302723",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Svatunek:2019:APT,
author = "Dennis Svatunek and Kendall N. Houk",
title = "{autoDIAS}: a {Python} tool for an automated
distortion\slash interaction activation strain
analysis",
journal = j-J-COMPUT-CHEM,
volume = "40",
number = "28",
pages = "2509--2515",
day = "30",
month = oct,
year = "2019",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26023",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Wed Oct 9 06:45:53 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "07 July 2019",
}
@Article{Varner:2019:WPP,
author = "James F. Varner and Noor Eldabagh and Derek Volta and
Reem Eldabagh and Jonathan J. Foley IV",
title = "\pkg{WPTherml}: a {Python} Package for the Design of
Materials for Harnessing Heat",
journal = j-J-OPEN-RES-SOFT,
volume = "7",
number = "1",
pages = "28--??",
day = "19",
month = aug,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.271",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.271/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Verma:2019:CAH,
author = "Pradeepika Verma and Sukomal Pal and Hari Om",
title = "A Comparative Analysis on {Hindi} and {English}
Extractive Text Summarization",
journal = j-TALLIP,
volume = "18",
number = "3",
pages = "30:1--30:??",
month = jul,
year = "2019",
CODEN = "????",
DOI = "https://doi.org/10.1145/3308754",
ISSN = "2375-4699 (print), 2375-4702 (electronic)",
ISSN-L = "2375-4699",
bibdate = "Wed Oct 2 10:34:32 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tallip.bib",
URL = "https://dl.acm.org/ft_gateway.cfm?id=3308754",
abstract = "Text summarization is the process of transfiguring a
large documental information into a clear and concise
form. In this article, we present a detailed
comparative study of various extractive methods for
automatic text summarization on Hindi and English text
datasets of news articles. We consider 13 different
summarization techniques, namely, TextRank, LexRank,
Luhn, LSA, Edmundson, ChunkRank, TGraph, UniRank,
NN-ED, NN-SE, FE-SE, SummaRuNNer, and MMR-SE, and we
evaluate their performance using various performance
metrics, such as precision, recall, $ F_1 $, cohesion,
non-redundancy, readability, and significance. A
thorough analysis is done in eight different parts that
exhibits the strengths and limitations of these
methods, effect of performance over the summary length,
impact of language of a document, and other factors as
well. A standard summary evaluation tool (ROUGE) and
extensive programmatic evaluation using Python 3.5 in
Anaconda environment are used to evaluate their
outcome.",
acknowledgement = ack-nhfb,
articleno = "30",
fjournal = "ACM Transactions on Asian and Low-Resource Language
Information Processing (TALLIP)",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J1521",
}
@Article{Yadav:2019:PPB,
author = "Vinay Yadav and Subhankar Karmakar and Pradip P.
Kalbar and A. K. Dikshit",
title = "{PyTOPS}: a {Python} based tool for {TOPSIS}",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "217--222",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018302279",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhang:2019:SSE,
author = "Zhiping Zhang and Jeffrey D. Varner",
title = "{SEML}: a Simplified {English} Modeling Language for
Constructing Biological Models in {Julia}",
journal = "IFAC-PapersOnLine",
volume = "52",
number = "26",
pages = "121--128",
year = "2019",
DOI = "https://doi.org/10.1016/j.ifacol.2019.12.246",
ISSN = "2405-8963",
bibdate = "Fri Apr 9 15:22:25 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "8th Conference on Foundations of Systems Biology in
Engineering FOSBE 2019",
URL = "https://www.sciencedirect.com/science/article/pii/S2405896319321299",
abstract = "Many markup languages can be used to encode biological
networks, each with strengths and weaknesses. Model
specifications written in these languages can then
used, in conjunction with proprietary software packages
e.g., MATLAB, or open community alternatives, to
simulate the behavior of biological systems. In this
study, we present the Simplified English Modeling
Language (SEML) and associated compiler, as an
alternative to existing approaches. SEML supports the
specification of biological reaction systems in a
simple natural language like syntax. Models encoded in
SEML are transformed into executable code using a
compiler written in the open-source Julia programming
language. The compiler performs a sequence of
operations, including tokenization, syntactic and
semantic error checking, to convert SEML into an
intermediate representation (IR). From the intermediate
representation, the compiler then generates executable
code in one of three programming languages: Julia,
Python or MATLAB. Currently, SEML supports both kinetic
and constraint based model generation for signal
transduction and metabolic modeling. In this study, we
demonstrate SEML by modeling two proof-of-concept
prototypical networks: a constraint-based model solved
using flux balance analysis (FBA) and a kinetic model
encoded as Ordinary Differential Equations (ODEs). SEML
is a promising tool for encoding and sharing
human-readable biological models, however it is still
in its infancy. With further development, SEML has the
potential to handle more unstructured natural language
inputs, generate more complex models types and convert
its natural language markup to currently used model
interchange formats such systems biology markup
language.",
acknowledgement = ack-nhfb,
keywords = "simplified English modeling language, markup language,
biological modeling, compiler, Julia",
}
@Article{Ziegenhagen:2019:CLP,
author = "Uwe Ziegenhagen",
title = "Combining {\LaTeX} with {Python}",
journal = j-TUGboat,
volume = "40",
number = "2",
pages = "126--128",
month = "????",
year = "2019",
CODEN = "????",
ISSN = "0896-3207",
ISSN-L = "0896-3207",
bibdate = "Tue Oct 15 11:27:32 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
URL = "https://tug.org/TUGboat/tb40-2/tb125ziegenhagen-python.pdf",
acknowledgement = ack-nhfb,
fjournal = "TUGboat",
issue = "125",
journal-URL = "https://tug.org/TUGboat/",
remark = "Intermediate Plus{\Dash}both writing (La)TeX from
Python and running Python from LaTeX.",
}
@Article{Zienert:2019:CTP,
author = "Tilo Zienert",
title = "\pkg{cp-tools}: a {Python} library for predicting heat
capacity of crystalline substances",
journal = j-SOFTWAREX,
volume = "9",
number = "??",
pages = "244--247",
month = jan # "\slash " # jun,
year = "2019",
CODEN = "????",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Oct 14 09:45:43 MDT 2019",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711018301791",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Aguirre-Mesa:2020:MLC,
author = "Andres M. Aguirre-Mesa and Manuel J. Garcia and Harry
Millwater",
title = "{MultiZ}: a Library for Computation of High-order
Derivatives Using Multicomplex or Multidual Numbers",
journal = j-TOMS,
volume = "46",
number = "3",
pages = "23:1--23:30",
month = sep,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3378538",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Sat Sep 26 07:28:19 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3378538",
abstract = "Multicomplex and multidual numbers are two
generalizations of complex numbers with multiple
imaginary axes, useful for numerical computation of
derivatives with machine precision. The similarities
between multicomplex and multidual algebras allowed us
to create a unified library to use either one for
sensitivity analysis. This library can be used to
compute arbitrary order derivates of functions of a
single variable or multiple variables. The storage of
matrix representations of multicomplex and multidual
numbers is avoided using a combination of
one-dimensional resizable arrays and an indexation
method based on binary bitwise operations. To provide
high computational efficiency and low memory usage, the
multiplication of hypercomplex numbers up to sixth
order is carried out using a hard-coded algorithm. For
higher hypercomplex orders, the library uses by default
a multiplication method based on binary bitwise
operations. The computation of algebraic and
transcendental functions is achieved using a Taylor
series approximation. Fortran and Python versions were
developed, and extensions to other languages are
self-evident.",
acknowledgement = ack-nhfb,
articleno = "23",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Ahmadzadeh:2020:MDT,
author = "Azim Ahmadzadeh and Kankana Sinha and Berkay Aydin and
Rafal A. Angryk",
title = "\pkg{MVTS-Data Toolkit}: a {Python} package for
preprocessing multivariate time series data",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100518",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100518",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300157",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ahsen:2020:RPS,
author = "Mehmet Eren Ahsen and Robert Vogel and Gustavo A.
Stolovitzky",
title = "\pkg{R/PY-SUMMA}: an {R/Python} Package for
Unsupervised Ensemble Learning for Binary
Classification Problems in Bioinformatics",
journal = j-J-COMPUT-BIOL,
volume = "27",
number = "9",
pages = "1337--1340",
month = sep,
year = "2020",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2019.0348",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Wed Mar 31 17:23:54 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2019.0348;
https://www.liebertpub.com/doi/pdf/10.1089/cmb.2019.0348",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "3 January 2020",
}
@Article{AlAtoum:2020:ETG,
author = "B. {Al Atoum} and S. F. Biagi and D.
Gonz{\'a}lez-D{\'\i}az and B. J. P. Jones and A. D.
McDonald",
title = "Electron transport in gaseous detectors with a
{Python}-based {Monte Carlo} simulation code",
journal = j-COMP-PHYS-COMM,
volume = "254",
number = "??",
pages = "Article 107357",
month = sep,
year = "2020",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107357",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 19 07:19:49 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520301533",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Alenaizan:2020:PIR,
author = "Asem Alenaizan and Lori A. Burns and C. David
Sherrill",
title = "{Python} implementation of the restrained
electrostatic potential charge model",
journal = j-IJQC,
volume = "120",
number = "2",
pages = "e26035:1--e26035:??",
day = "15",
month = jan,
year = "2020",
CODEN = "IJQCB2",
DOI = "https://doi.org/10.1002/qua.26035",
ISSN = "0020-7608 (print), 1097-461X (electronic)",
ISSN-L = "0020-7608",
bibdate = "Tue Feb 11 10:36:01 MST 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijqc2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "International Journal of Quantum Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0020-7608/",
onlinedate = "22 August 2019",
}
@Article{Anonymous:2020:SWS,
author = "Anonymous",
title = "Skills wanted: {Sql}, {Java}, {Python}, and {AWS} top
employers' wish lists --- [Careers]",
journal = j-IEEE-SPECTRUM,
volume = "57",
number = "1",
pages = "59--59",
month = jan,
year = "2020",
CODEN = "IEESAM",
DOI = "https://doi.org/10.1109/MSPEC.2020.8946316",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Fri Jan 17 09:23:28 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2020.bib;
https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Spectrum",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
}
@Book{Badia:2020:SDS,
author = "Antonio Badia",
title = "{SQL} for Data Science",
publisher = pub-SV,
address = pub-SV:adr,
pages = "xi + 285 + 16",
year = "2020",
DOI = "https://doi.org/10.1007/978-3-030-57592-2",
ISBN = "3-030-57591-8, 3-030-57592-6 (e-book), 3-030-57593-4",
ISBN-13 = "978-3-030-57591-5, 978-3-030-57592-2 (e-book),
978-3-030-57593-9",
ISSN = "2197-9723 (print), 2197-974X (electronic)",
ISSN-L = "2197-9723",
bibdate = "Fri Aug 27 09:07:11 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sqlbooks.bib",
series = "Data-Centric Systems and Applications",
URL = "http://www.springerlink.com/content/978-3-030-57592-2",
abstract = "This textbook explains SQL within the context of data
science and introduces the different parts of SQL as
they are needed for the tasks usually carried out
during data analysis. Using the framework of the data
life cycle, it focuses on the steps that are very often
given the short shift in traditional textbooks, like
data loading, cleaning and pre-processing. The book is
organized as follows. Chapter 1 describes the data life
cycle, i.e. the sequence of stages from data
acquisition to archiving, that data goes through as it
is prepared and then actually analyzed, together with
the different activities that take place at each stage.
Chapter 2 gets into databases proper, explaining how
relational databases organize data. Non-traditional
data, like XML and text, are also covered. Chapter 3
introduces SQL queries, but unlike traditional
textbooks, queries and their parts are described around
typical data analysis tasks like data exploration,
cleaning and transformation. Chapter 4 introduces some
basic techniques for data analysis and shows how SQL
can be used for some simple analyses without too much
complication. Chapter 5 introduces additional SQL
constructs that are important in a variety of
situations and thus completes the coverage of SQL
queries. Lastly, chapter 6 briefly explains how to use
SQL from within R and from within Python programs. It
focuses on how these languages can interact with a
database, and how what has been learned about SQL can
be leveraged to make life easier when using R or
Python. All chapters contain a lot of examples and
exercises on the way, and readers are encouraged to
install the two open-source database systems (MySQL and
Postgres) that are used throughout the book in order to
practice and work on the exercises, because simply
reading the book is much less useful than actually
using it. This book is for anyone interested in data
science and/or databases. It just demands a bit of
computer fluency, but no specific background on
databases or data analysis. All concepts are introduced
intuitively and with a minimum of specialized jargon.
After going through this book, readers should be able
to profitably learn more about data mining, machine
learning, and database management from more advanced
textbooks and courses.",
acknowledgement = ack-nhfb,
subject = "Database management; Big data; SQL (Computer program
language); SQL (Computer program language); Big data.;
Database management.",
tableofcontents = "1. The Data Life Cycle \\
2. Relational Data \\
3. Data Cleaning and Pre-processing \\
4. Introduction to Data Analysis \\
5. More SQL \\
6. Databases and Other Tools",
}
@Article{Barkley:2020:HMP,
author = "S. Barkley and T. G. Dimiduk and J. Fung and D. M. Kaz
and V. N. Manoharan and R. McGorty and R. W. Perry and
A. Wang",
title = "Holographic Microscopy With {Python} and {HoloPy}",
journal = j-COMPUT-SCI-ENG,
volume = "22",
number = "5",
pages = "72--82",
year = "2020",
CODEN = "CSENFA",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Aug 15 15:14:54 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Bentine:2020:PLP,
author = "E. Bentine and C. J. Foot and D. Trypogeorgos",
title = "{(py)LIon}: a package for simulating trapped ion
trajectories",
journal = j-COMP-PHYS-COMM,
volume = "253",
number = "??",
pages = "Article 107187",
month = aug,
year = "2020",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107187",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 19 07:19:48 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520300369",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bleyer:2020:AFR,
author = "Jeremy Bleyer",
title = "Automating the Formulation and Resolution of Convex
Variational Problems: Applications from Image
Processing to Computational Mechanics",
journal = j-TOMS,
volume = "46",
number = "3",
pages = "27:1--27:33",
month = sep,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3393881",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Sat Sep 26 07:28:19 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3393881",
abstract = "Convex variational problems arise in many fields
ranging from image processing to fluid and solid
mechanics communities. Interesting applications usually
involve non-smooth terms, which require well-designed
optimization algorithms for their resolution. The
present manuscript presents the Python package called
fenics_optim built on top of the FEniCS finite element
software, which enables one to automate the formulation
and resolution of various convex variational problems.
Formulating such a problem relies on FEniCS
domain-specific language and the representation of
convex functions, in particular, non-smooth ones, in
the conic programming framework. The discrete
formulation of the corresponding optimization problems
hinges on the finite element discretization
capabilities offered by FEniCS, while their numerical
resolution is carried out by the interior-point solver
Mosek. Through various illustrative examples, we show
that convex optimization problems can be formulated
using only a few lines of code, discretized in a very
simple manner, and solved extremely efficiently.",
acknowledgement = ack-nhfb,
articleno = "27",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Boeira:2020:PPP,
author = "Emerson Boeira and Diego Eckhard",
title = "\pkg{pyvrft}: a {Python} package for the {Virtual
Reference Feedback Tuning}, a direct data-driven
control method",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100383",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100383",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019302894",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Boroojeny:2020:PPA,
author = "Ali Ebrahimpour Boroojeny and Akash Shrestha and Ali
Sharifi-zarchi and Suzanne Renick Gallagher and
S{\"u}leyman Cenk Sahinalp and Hamidreza Chitsaz",
title = "{PyGTED}: {Python} Application for Computing Graph
Traversal Edit Distance",
journal = j-J-COMPUT-BIOL,
volume = "27",
number = "3",
pages = "436--439",
month = mar,
year = "2020",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2019.0510",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Tue Jun 2 19:30:01 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2019.0510;
https://www.liebertpub.com/doi/pdf/10.1089/cmb.2019.0510",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "11 March 2020",
}
@Article{Brown:2020:PPP,
author = "Daniel D. Brown and Philip Jones and Samuel Rowlinson
and Sean Leavey and Anna C. Green and Daniel
T{\"o}yr{\"a} and Andreas Freise",
title = "\pkg{Pykat}: {Python} package for modelling precision
optical interferometers",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100613",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100613",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303265",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Brunie:2020:TFP,
author = "Hugo Brunie and Costin Iancu and Khaled Z. Ibrahim and
Philip Brisk and Brandon Cook",
title = "Tuning floating-point precision using dynamic program
information and temporal locality",
crossref = "IEEE:2020:SPI",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "1--14",
year = "2020",
bibdate = "Mon Sep 11 08:19:28 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "We present a methodology for precision tuning of full
applications. These techniques must select a search
space composed of either variables or instructions and
provide a scalable search strategy. In full application
settings one cannot assume compiler support for
practical reasons. Thus, an additional important
challenge is enabling code refactoring. We argue for an
instruction-based search space and we show: (1) how to
exploit dynamic program information based on call
stacks; and (2) how to exploit the iterative nature of
scientific codes, combined with temporal locality. We
applied the methodology to tune the implementation of
scientific codes written in a combination of Python,
CUDA, C++ and Fortran, tuning calls to math exp library
functions. The iterative search refinement always
reduces the search complexity and the number of steps
to solution. Dynamic program information increases
search efficacy. Using this approach, we obtain
application runtime performance improvements up to
27\%.",
acknowledgement = ack-nhfb,
articleno = "50",
}
@Article{Cass:2020:TPL,
author = "S. Cass",
title = "The top programming languages: Our latest rankings put
{Python} on top-again --- [Careers]",
journal = j-IEEE-SPECTRUM,
volume = "57",
number = "8",
pages = "22--22",
month = aug,
year = "2020",
CODEN = "IEESAM",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Wed Jul 29 07:44:21 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Spectrum",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
}
@Article{Chaparro:2020:PPB,
author = "Gustavo Chaparro and Andr{\'e}s Mej{\'\i}a",
title = "{Phasepy}: a {Python} based framework for fluid phase
equilibria and interfacial properties computation",
journal = j-J-COMPUT-CHEM,
volume = "41",
number = "29",
pages = "2504--2526",
month = nov,
year = "2020",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26405",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Mar 12 17:24:05 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "01 September 2020",
}
@Article{Cid-Fuentes:2020:EDH,
author = "Javier {\'A}lvarez Cid-Fuentes and Pol {\'A}lvarez and
Ramon Amela and Kuninori Ishii and Rafael K. Morizawa
and Rosa M. Badia",
title = "Efficient development of high performance data
analytics in {Python}",
journal = j-FUT-GEN-COMP-SYS,
volume = "111",
number = "??",
pages = "570--581",
month = oct,
year = "2020",
CODEN = "FGSEVI",
DOI = "https://doi.org/10.1016/j.future.2019.09.051",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Fri Jun 19 07:44:21 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167739X18321393",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Coleman:2020:MPJ,
author = "Chase Coleman and Spencer Lyon and Lilia Maliar and
Serguei Maliar",
title = "{Matlab}, {Python}, {Julia}: What to Choose in
Economics?",
journal = j-COMP-ECONOMICS,
volume = "",
number = "",
pages = "??--??",
month = "",
year = "2020",
CODEN = "CNOMEL",
DOI = "https://doi.org/10.1007/s10614-020-09983-3",
ISSN = "",
ISSN-L = "0927-7099",
bibdate = "Fri Apr 9 07:54:52 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/article/10.1007/s10614-020-09983-3",
acknowledgement = ack-nhfb,
fjournal = "Computational Economics",
}
@Article{Cooper:2020:SDS,
author = "Crispin H. V. Cooper and Alain J. F. Chiaradia",
title = "\pkg{sDNA}: $3$-d spatial network analysis for {GIS},
{CAD}, Command Line and {Python}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100525",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100525",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019303401",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Decan:2020:SPL,
author = "Alexandre Decan and Tom Mens",
title = "\pkg{Sismic} --- a {Python} library for statechart
execution and testing",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100590",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100590",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303034",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Eschle:2020:ZSP,
author = "Jonas Eschle and Albert Puig Navarro and Rafael Silva
Coutinho and Nicola Serra",
title = "\pkg{zfit}: Scalable {Pythonic} fitting",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100508",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100508",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019303851",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{FiguerasiVentura:2020:PRT,
author = "Jordi {Figueras i Ventura} and Martin Lainer and Zaira
Schauwecker and Jacopo Grazioli and Urs Germann",
title = "\pkg{Pyrad}: a Real-Time Weather Radar Data Processing
Framework Based on {Py-ART}",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "28--??",
day = "08",
month = oct,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.330",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.330/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Frison:2020:BAB,
author = "Gianluca Frison and Tommaso Sartor and Andrea Zanelli
and Moritz Diehl",
title = "The {BLAS API} of {BLASFEO}: Optimizing Performance
for Small Matrices",
journal = j-TOMS,
volume = "46",
number = "2",
pages = "15:1--15:36",
month = jun,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3378671",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Fri Jun 12 07:37:53 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3378671",
abstract = "Basic Linear Algebra Subroutines For Embedded
Optimization (BLASFEO) is a dense linear algebra
library providing high-performance implementations of
BLAS- and LAPACK-like routines for use in embedded
optimization and other applications targeting
relatively small matrices. BLASFEO defines an
application programming interface (API) which uses a
packed matrix format as its native format. This format
is analogous to the internal memory buffers of
optimized BLAS, but it is exposed to the user and it
removes the packing cost from the routine call. For
matrices fitting in cache, BLASFEO outperforms
optimized BLAS implementations, both open source and
proprietary. This article investigates the addition of
a standard BLAS API to the BLASFEO framework, and
proposes an implementation switching between two or
more algorithms optimized for different matrix sizes.
Thanks to the modular assembly framework in BLASFEO,
tailored linear algebra kernels with mixed column- and
panel-major arguments are easily developed. This BLAS
API has lower performance than the BLASFEO API, but it
nonetheless outperforms optimized BLAS and especially
LAPACK libraries for matrices fitting in cache.
Therefore, it can boost a wide range of applications,
where standard BLAS and LAPACK libraries are employed
and the matrix size is moderate. In particular, this
article investigates the benefits in scientific
programming languages such as Octave, SciPy, and
Julia.",
acknowledgement = ack-nhfb,
articleno = "15",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Gao:2020:JLM,
author = "Kaifeng Gao and Gang Mei and Francesco Piccialli and
Salvatore Cuomo and Jingzhi Tu and Zenan Huo",
title = "{Julia} language in machine learning: Algorithms,
applications, and open issues",
journal = j-COMP-SCI-REV,
volume = "37",
pages = "100254",
month = aug,
year = "2020",
DOI = "https://doi.org/10.1016/j.cosrev.2020.100254",
ISSN = "1574-0137 (print), 1876-7745 (electronic)",
bibdate = "Thu Apr 8 08:02:29 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S157401372030071X",
abstract = "Machine learning is driving development across many
fields in science and engineering. A simple and
efficient programming language could accelerate
applications of machine learning in various fields.
Currently, the programming languages most commonly used
to develop machine learning algorithms include Python,
MATLAB, and C/C ++. However, none of these languages
well balance both efficiency and simplicity. The Julia
language is a fast, easy-to-use, and open-source
programming language that was originally designed for
high-performance computing, which can well balance the
efficiency and simplicity. This paper summarizes the
related research work and developments in the
applications of the Julia language in machine learning.
It first surveys the popular machine learning
algorithms that are developed in the Julia language.
Then, it investigates applications of the machine
learning algorithms implemented with the Julia
language. Finally, it discusses the open issues and the
potential future directions that arise in the use of
the Julia language in machine learning.",
acknowledgement = ack-nhfb,
fjournal = "Computer Science Review",
journal-URL = "http://www.sciencedirect.com/science/journal/15740137",
keywords = "Artificial neural networks; Deep learning; Julia
programming language; Machine learning; Supervised
learning; Unsupervised learning",
}
@Book{Gezerlis:2020:NMPb,
author = "Alex Gezerlis",
title = "Numerical Methods in Physics with {Python}",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
pages = "????",
year = "2020",
ISBN = "1-108-48884-6 (hardcover), 1-108-73893-1 (paperback),
1-108-77231-5 (e-pub)",
ISBN-13 = "978-1-108-48884-6 (hardcover), 978-1-108-73893-4
(paperback), 978-1-108-77231-0 (e-pub)",
LCCN = "QC20.7.N86 G49 2020",
bibdate = "Sat Sep 5 17:36:50 MDT 2020",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/numana2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
subject = "Mathematical physics; Data processing; Numerical
analysis; Python (Computer program language); Data
processing.; Python (Computer program language)",
tableofcontents = "Idiomatic Python \\
Numbers \\
Derivatives \\
Matrices \\
Roots \\
Approximation \\
Integrals \\
Differential Equations",
}
@Article{Gonzalez-Perez:2020:PPP,
author = "V. Gonzalez-Perez and P. Keil and Y. Li and A.
Z{\"u}lke and R. Burrel and D. Csala and H. Hoster",
title = "A {Python} Package to Preprocess the Data Produced by
Novonix High-Precision Battery-Testers",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "3--??",
day = "04",
month = mar,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.281",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.281/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Groce:2020:Pc,
author = "Alex Groce",
title = "Passages",
journal = j-SIGSOFT,
volume = "45",
number = "3",
pages = "4--5",
month = jul,
year = "2020",
DOI = "https://doi.org/10.1145/3402127.3402129",
bibdate = "Wed Mar 24 14:24:58 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigsoft2020.bib",
URL = "https://dl.acm.org/doi/10.1145/3402127.3402129",
abstract = "Federico Biancuzzi and Shane Warden's Masterminds of
Programming: Conversations with the Creators of Major
Programming Languages is a treasure. The book consists
of interviews with the creators of, in order, C++,
Python, APL, Forth, BASIC, AWK, Lua, \ldots{}",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGSOFT Software Engineering Notes",
journal-URL = "https://dl.acm.org/loi/sigsoft",
}
@Article{Hadjidoukas:2020:TST,
author = "P. E. Hadjidoukas and A. Bartezzaghi and F.
Scheidegger and R. Istrate and C. Bekas and A. C. I.
Malossi",
title = "\pkg{torcpy}: Supporting task parallelism in
{Python}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100517",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100517",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300091",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hadjimichael:2020:RPL,
author = "Antonia Hadjimichael and David Gold and David Hadka
and Patrick Reed",
title = "\pkg{Rhodium}: {Python} Library for Many-Objective
Robust Decision Making and Exploratory Modeling",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "12--??",
day = "09",
month = jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.293",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.293/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Hart:2020:MSM,
author = "Kenneth A. Hart and Julian J. Rimoli",
title = "\pkg{{MicroStructPy}}: a statistical microstructure
mesh generator in {Python}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100595",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100595",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303083",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Herath:2020:PPL,
author = "Uthpala Herath and Pedram Tavadze and Xu He and Eric
Bousquet and Sobhit Singh and Francisco Mu{\~n}oz and
Aldo H. Romero",
title = "{PyProcar}: a {Python} library for electronic
structure pre/post-processing",
journal = j-COMP-PHYS-COMM,
volume = "251",
number = "??",
pages = "Article 107080",
month = jun,
year = "2020",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2019.107080",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri May 29 07:03:02 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465519303935",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Herring:2020:BPL,
author = "Patrick Herring and Chirranjeevi {Balaji Gopal} and
Muratahan Aykol and Joseph H. Montoya and Abraham
Anapolsky and Peter M. Attia and William Gent and Jens
S. Hummelsh{\o}j and Linda Hung and Ha-Kyung Kwon and
Patrick Moore and Daniel Schweigert and Kristen A.
Severson and Santosh Suram and Zi Yang and Richard D.
Braatz and Brian D. Storey",
title = "\pkg{BEEP}: a {Python} library for Battery Evaluation
and Early Prediction",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100506",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100506",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300492",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Herrmann:2020:HRF,
author = "Julien Herrmann and Guillaume Pallez (Aupy)",
title = "{H-Revolve}: a Framework for Adjoint Computation on
Synchronous Hierarchical Platforms",
journal = j-TOMS,
volume = "46",
number = "2",
pages = "12:1--12:25",
month = jun,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3378672",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Fri Jun 12 07:37:53 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3378672",
abstract = "We study the problem of checkpointing strategies for
adjoint computation on synchronous hierarchical
platforms, specifically computational platforms with
several levels of storage with different writing and
reading costs. When reversing a large adjoint chain,
choosing which data to checkpoint and where is a
critical decision for the overall performance of the
computation. We introduce H-Revolve, an optimal
algorithm for this problem. We make it available in a
public Python library along with the implementation of
several state-of-the-art algorithms for the variant of
the problem with two levels of storage. We provide a
detailed description of how one can use this library in
an adjoint computation software in the field of
automatic differentiation or backpropagation. Finally,
we evaluate the performance of H-Revolve and other
checkpointing heuristics though an extensive campaign
of simulation.",
acknowledgement = ack-nhfb,
articleno = "12",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Book{Hill:2020:LSPe,
author = "Christian Hill",
title = "Learning scientific programming with Python",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
edition = "Second",
pages = "xi + 557",
year = "2020",
DOI = "https://doi.org/10.1017/9781108778039",
ISBN = "1-108-74591-1",
ISBN-13 = "978-1-108-74591-8 (paperback)",
LCCN = "Q183.9 .H58 2020",
bibdate = "Thu Jan 14 09:04:38 MST 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Learn to master basic programming tasks from scratch
with real-life, scientifically relevant examples and
solutions drawn from both science and engineering.
Students and researchers at all levels are increasingly
turning to the powerful Python programming language as
an alternative to commercial packages and this
fast-paced introduction moves from the basics to
advanced concepts in one complete volume, enabling
readers to gain proficiency quickly. Beginning with
general programming concepts such as loops and
functions within the core Python 3 language, and moving
on to the NumPy, SciPy and Matplotlib libraries for
numerical programming and data visualization, this
textbook also discusses the use of Jupyter Notebooks to
build rich-media, shareable documents for scientific
analysis. The second edition features a new chapter on
data analysis with the pandas library and comprehensive
updates, and new exercises and examples. A final
chapter introduces more advanced topics such as
floating-point precision and algorithm stability, and
extensive online resources support further study. This
textbook represents a targeted package for students
requiring a solid foundation in Python programming.",
acknowledgement = ack-nhfb,
author-dates = "1974--",
subject = "Science; Data processing; Python (Computer program
language); Mathematics",
tableofcontents = "Frontmatter / i--iv \\
Contents / v--vii \\
Acknowledgements / viii--viii \\
Code Listings / ix--xii \\
1: Introduction / 1--7 \\
2: The Core Python Language I / 8--85 \\
3: Interlude: Simple Plots and Charts / 86--104 \\
4: The Core Python Language II / 105--171 \\
5: IPython and Jupyter Notebook / 172--195 \\
6: NumPy / 196--293 \\
7: Matplotlib / 294--357 \\
8: SciPy / 358--437 \\
9: Data Analysis with pandas / 438--489 \\
10: General Scientific Programming / 490--513 \\
Appendix A: Solutions / 514--535 \\
Appendix B: Differences Between Python Versions 2 and 3
/ 536--539 \\
Appendix C: SciPy s odeint Ordinary Differential
Equation Solver / 540--542 \\
Glossary / 543--548 \\
Index / 549--558",
}
@Article{Hollmer:2020:JVP,
author = "Philipp H{\"o}llmer and Liang Qin and Michael F.
Faulkner and A. C. Maggs and Werner Krauth",
title = "{JeLLyFysh} --- Version 1.0 --- a {Python} application
for all-atom event-chain {Monte Carlo}",
journal = j-COMP-PHYS-COMM,
volume = "253",
number = "??",
pages = "Article 107168",
month = aug,
year = "2020",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107168",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 19 07:19:48 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520300254",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Holmes:2020:URL,
author = "Josie Holmes and Iftekhar Ahmed and Caius Brindescu
and Rahul Gopinath and He Zhang and Alex Groce",
title = "Using Relative Lines of Code to Guide Automated Test
Generation for {Python}",
journal = j-TOSEM,
volume = "29",
number = "4",
pages = "28:1--28:38",
month = oct,
year = "2020",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3408896",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Thu Oct 8 07:18:41 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3408896",
abstract = "Raw lines of code (LOC) is a metric that does not, at
first glance, seem extremely useful for automated test
generation. It is both highly language-dependent and
not extremely meaningful, semantically, within a
language: one coder can produce the same effect with
many fewer lines than another. However, relative LOC,
between components of the same project, turns out to be
a highly useful metric for automated testing. In this
article, we make use of a heuristic based on LOC counts
for tested functions to dramatically improve the
effectiveness of automated test generation. This
approach is particularly valuable in languages where
collecting code coverage data to guide testing has a
very high overhead. We apply the heuristic to
property-based Python testing using the TSTL (Template
Scripting Testing Language) tool. In our experiments,
the simple LOC heuristic can improve branch and
statement coverage by large margins (often more than
20\%, up to 40\% or more) and improve fault detection
by an even larger margin (usually more than 75\% and up
to 400\% or more). The LOC heuristic is also easy to
combine with other approaches and is comparable to, and
possibly more effective than, two well-established
approaches for guiding random testing.",
acknowledgement = ack-nhfb,
articleno = "28",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Jackson:2020:PPD,
author = "Robert Jackson and Scott Collis and Timothy Lang and
Corey Potvin and Todd Munson",
title = "\pkg{PyDDA}: a {Pythonic} Direct Data Assimilation
Framework for Wind Retrievals",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "20--??",
day = "07",
month = oct,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.264",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.264/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Jiang:2020:PPF,
author = "S. Jiang and P. Pan and Y. Ou and C. Batten",
title = "{PyMTL3}: a {Python} Framework for Open-Source
Hardware Modeling, Generation, Simulation, and
Verification",
journal = j-IEEE-MICRO,
volume = "40",
number = "4",
pages = "58--66",
month = jul # "\slash " # aug,
year = "2020",
CODEN = "IEMIDZ",
ISSN = "0272-1732 (print), 1937-4143 (electronic)",
ISSN-L = "0272-1732",
bibdate = "Wed Jul 29 07:59:51 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeemicro.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Micro",
journal-URL = "http://www.computer.org/csdl/mags/mi/index.html",
}
@Article{Joksas:2020:BPT,
author = "Dovydas Joksas and Adnan Mehonic",
title = "\pkg{badcrossbar}: a {Python} tool for computing and
plotting currents and voltages in passive crossbar
arrays",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100617",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100617",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303307",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Kaiser:2020:JPP,
author = "K. E. Kaiser and A. N. Flores and C. R. Vernon",
title = "\pkg{Janus}: a {Python} Package for Agent-Based
Modeling of Land Use and Land Cover Change",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "15--??",
day = "25",
month = jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.306",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.306/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Karam:2020:PPS,
author = "Mokbel Karam and James C. Sutherland and Tony Saad",
title = "\pkg{PyModPDE}: a {Python} software for modified
equation analysis",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100541",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100541",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300224",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Kortbeek:2020:BEB,
author = "Vito Kortbeek and Abu Bakar and Stefany Cruz and Kasim
Sinan Yildirim and Przemys{\l}aw Pawe{\l}czak and
Josiah Hester",
title = "{BFree}: Enabling Battery-free Sensor Prototyping with
{Python}",
journal = j-IMWUT,
volume = "4",
number = "4",
pages = "135:1--135:39",
month = dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1145/3432191",
ISSN = "2474-9567 (electronic)",
ISSN-L = "2474-9567",
bibdate = "Tue Mar 30 18:21:01 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/imwut.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3432191",
abstract = "Building and programming tiny battery-free energy
harvesting embedded computer systems is hard for the
average maker because of the lack of tools, hard to
comprehend programming models, and frequent power
failures. With the high ecologic cost of \ldots{}",
acknowledgement = ack-nhfb,
articleno = "135",
fjournal = "Proceedings of the ACM on Interactive, Mobile,
Wearable and Ubiquitous Technologies (IMWUT)",
journal-URL = "https://dl.acm.org/loi/imwut",
}
@InProceedings{Lauter:2020:FSA,
author = "Christoph Lauter and Anastasia Volkova",
title = "A Framework for Semi-Automatic Precision and Accuracy
Analysis for Fast and Rigorous Deep Learning",
crossref = "Cornea:2020:ISC",
pages = "103--110",
month = jun,
year = "2020",
DOI = "https://doi.org/10.1109/ARITH48897.2020.00023",
ISSN = "2576-2265",
bibdate = "Wed Jul 7 06:24:52 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Deep Neural Networks (DNN) represent a
performance-hungry application. Floating-Point (FP) and
custom floating-point-like arithmetic satisfies this
hunger. While there is need for speed, inference in
DNNs does not seem to have any need for precision. Many
papers experimentally observe that DNNs can
successfully run at almost ridiculously low precision.
The aim of this paper is two-fold: first, to shed some
theoretical light upon why a DNN's FP accuracy stays
high for low FP precision. We observe that the loss of
relative accuracy in the convolutional steps is
recovered by the activation layers, which are extremely
well-conditioned. We give an interpretation for the
link between precision and accuracy in DNNs. Second,
the paper presents a software framework for
semi-automatic FP error analysis for the inference
phase of deep-learning. Compatible with common
Tensorflow/Keras models, it leverages the frugally-deep
Python/C++ library to transform a neural network into
C++ code in order to analyze the network's need for
precision. This rigorous analysis is based an Interval
and Affine arithmetics to compute absolute and relative
error bounds for a DNN. We demonstrate our tool with
several examples.",
acknowledgement = ack-nhfb,
keywords = "affine arithmetic; Analytical models; Biological
neural networks; Computational modeling; deep learning;
Digital arithmetic; error analysis; floating-point
arithmetic; interval arithmetic; Machine learning;
Neurons; Tools",
}
@Article{Loraamm:2020:PTV,
author = "Rebecca Loraamm and Joni Downs and James Anderson and
David S. Lamb",
title = "{PySTPrism}: {Tools} for voxel-based space-time
prisms",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100499",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100499",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019303309",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Lunnikivi:2020:TPR,
author = "Henri Lunnikivi and Kai Jylkk{\"a}Timo
H{\"a}m{\"a}l{\"a}inen",
booktitle = "{Embedded Computer Systems: Architectures, Modeling,
and Simulation: 20th International Conference, SAMOS
2020, Samos, Greece, July 5--9, 2020, Proceedings}",
title = "Transpiling {Python} to {Rust} for Optimized
Performance",
publisher = pub-SV,
address = pub-SV:adr,
pages = "127--138",
year = "2020",
DOI = "https://doi.org/10.1007/978-3-030-60939-9_9",
bibdate = "Fri Apr 9 11:06:38 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
URL = "http://link.springer.com/chapter/10.1007/978-3-030-60939-9_9",
acknowledgement = ack-nhfb,
keywords = "Rust programming language",
}
@Article{Luporini:2020:APD,
author = "Fabio Luporini and Mathias Louboutin and Michael Lange
and Navjot Kukreja and Philipp Witte and Jan
H{\"u}ckelheim and Charles Yount and Paul H. J. Kelly
and Felix J. Herrmann and Gerard J. Gorman",
title = "Architecture and Performance of {Devito}, a System for
Automated Stencil Computation",
journal = j-TOMS,
volume = "46",
number = "1",
pages = "6:1--6:28",
month = apr,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3374916",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Apr 29 08:09:49 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3374916",
abstract = "Stencil computations are a key part of many
high-performance computing applications, such as image
processing, convolutional neural networks, and
finite-difference solvers for partial differential
equations. Devito is a framework capable of generating
highly optimized code given symbolic equations
expressed in Python, specialized in, but not limited
to, affine (stencil) codes. The lowering process ---
from mathematical equations down to C++ code --- is
performed by the Devito compiler through a series of
intermediate representations. Several performance
optimizations are introduced, including advanced common
sub-expressions elimination, tiling, and
parallelization. Some of these are obtained through
well-established stencil optimizers, integrated in the
backend of the Devito compiler. The architecture of the
Devito compiler, as well as the performance
optimizations that are applied when generating code,
are presented. The effectiveness of such performance
optimizations is demonstrated using operators drawn
from seismic imaging applications.",
acknowledgement = ack-nhfb,
articleno = "6",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Lym:2020:PMT,
author = "Jonathan Lym and Gerhard R. Wittreich and Dionisios G.
Vlachos",
title = "A {Python Multiscale Thermochemistry Toolbox (pMuTT)}
for thermochemical and kinetic parameter estimation",
journal = j-COMP-PHYS-COMM,
volume = "247",
number = "??",
pages = "Article 106864",
month = feb,
year = "2020",
CODEN = "CPHCBZ",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Mar 2 13:57:35 MST 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465519302516",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Ma:2020:PPP,
author = "He Ma and Wennie Wang and Siyoung Kim and Man-Hin
Cheng and Marco Govoni and Giulia Galli",
title = "{PyCDFT}: a {Python} package for constrained density
functional theory",
journal = j-J-COMPUT-CHEM,
volume = "41",
number = "20",
pages = "1859--1867",
day = "30",
month = jul,
year = "2020",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26354",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Mar 12 17:24:02 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "04 June 2020",
}
@Article{Mauro:2020:KTC,
author = "Yihong Z. Mauro and Collin J. Wilkinson and John C.
Mauro",
title = "\pkg{KineticPy}: a tool to calculate long-time
kinetics in energy landscapes with broken ergodicity",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100393",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100393",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019303516",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Moshiri:2020:TMS,
author = "N. Moshiri",
title = "\pkg{TreeSwift}: a massively scalable {Python} tree
package",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100436",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100436",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019300767",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Mosteo:2020:RBA,
author = "Alejandro R. Mosteo",
title = "{RCLAda}, or Bringing {Ada} to the {Robot Operating
System}",
journal = j-SIGADA-LETTERS,
volume = "39",
number = "2",
pages = "35--40",
month = apr,
year = "2020",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/3394514.3394518",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "0736-721X",
bibdate = "Thu Mar 11 06:32:11 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
URL = "https://dl.acm.org/doi/10.1145/3394514.3394518",
abstract = "The Robot Operating System (ROS) is a commonly used
framework in many fields of robotics research, with
increasing presence in the industry. The next iteration
of this framework, ROS2, aims to improve observed
shortcomings of its predecessor like deterministic
memory allocation and real-time characteristics. The
officially supported languages in ROS2 are C++ and
Python, although several other contributed APIs for
other languages exist. RCLAda is an API and
accompanying tools for the ROS2 framework that enable
the programming of ROS2 nodes in pure Ada with seamless
integration into the ROS2 workflow.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
journal-URL = "http://portal.acm.org/citation.cfm?id=J32",
}
@Article{Olivier:2020:PUG,
author = "Audrey Olivier and Dimitris G. Giovanis and B. S.
Aakash and Mohit Chauhan and Lohit Vandanapu and
Michael D. Shields",
title = "\pkg{UQpy}: a general purpose {Python} package and
development environment for uncertainty
quantification",
journal = j-J-COMPUT-SCI,
volume = "47",
pages = "??--??",
month = nov,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2020.101204",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:55:40 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750320305056",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101204",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Olivier:2020:UGP,
author = "Audrey Olivier and Dimitrios Giovanis and B. S. Aakash
and Mohit Chauhan and Lohit Vandanapu and Michael D.
Shields",
title = "{UQpy}: a general purpose {Python} package and
development environment for uncertainty
quantification",
journal = j-J-COMPUT-SCI,
volume = "47",
year = "2020",
DOI = "https://doi.org/10.1016/j.jocs.2020.101204",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
MRclass = "65C20 (62-04 65Y15)",
MRnumber = "4152776",
MRreviewer = "S\'{e}bastien\ J.\ Boyaval",
bibdate = "Wed Sep 20 15:13:57 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101204",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
pagecount = "30",
}
@Article{Ortner:2020:MFP,
author = "Michael Ortner and Lucas Gabriel {Coliado Bandeira}",
title = "\pkg{Magpylib}: a free {Python} package for magnetic
field computation",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100466",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100466",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300170",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Palma:2020:APL,
author = "Stefano {Dalla Palma} and Dario {Di Nucci} and Damian
A. Tamburri",
title = "\pkg{{AnsibleMetrics}}: a {Python} library for
measuring {Infrastructure-as-Code} blueprints in
{Ansible}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100633",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100633",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303460",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Pluta:2020:EOP,
author = "Adam Pluta and Ontje L{\"u}nsdorf",
title = "\pkg{esy-osmfilter} --- a {Python} Library to
Efficiently Extract {OpenStreetMap} Data",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "19--??",
day = "01",
month = sep,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.317",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.317/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Ramon-Cortes:2020:AAP,
author = "Cristian Ramon-Cortes and Ramon Amela and Jorge
Ejarque and Philippe Clauss and Rosa M. Badia",
title = "\pkg{AutoParallel}: Automatic parallelisation and
distributed execution of affine loop nests in
{Python}",
journal = j-IJHPCA,
volume = "34",
number = "6",
pages = "659--675",
day = "1",
month = nov,
year = "2020",
CODEN = "IHPCFL",
DOI = "https://doi.org/10.1177/1094342020937050",
ISSN = "1094-3420 (print), 1741-2846 (electronic)",
ISSN-L = "1094-3420",
bibdate = "Tue May 18 15:46:08 MDT 2021",
bibsource = "http://hpc.sagepub.com/;
https://www.math.utah.edu/pub/tex/bib/ijsa.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://journals.sagepub.com/doi/full/10.1177/1094342020937050",
acknowledgement = ack-nhfb,
ajournal = "Int. J. High Perform. Comput. Appl.",
fjournal = "International Journal of High Performance Computing
Applications",
journal-URL = "https://journals.sagepub.com/home/hpc",
}
@Article{Rasmussen:2020:PLR,
author = "Leandro Lima Rasmussen",
title = "{$ {UnBlocks^{gen}} $}: a {Python} library for {$3$D}
rock mass generation and analysis",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100577",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100577",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020302909",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ravasi:2020:PLO,
author = "Matteo Ravasi and Ivan Vasconcelos",
title = "{PyLops} --- a linear-operator {Python} library for
scalable algebra and optimization",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100361",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2019.100361",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019301086",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Reizenstein:2020:AIL,
author = "Jeremy F. Reizenstein and Benjamin Graham",
title = "{Algorithm 1004}: The {Iisignature} Library: Efficient
Calculation of Iterated-Integral Signatures and Log
Signatures",
journal = j-TOMS,
volume = "46",
number = "1",
pages = "8:1--8:21",
month = mar,
year = "2020",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3371237",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Apr 7 10:39:23 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/abs/10.1145/3371237",
abstract = "Iterated-integral signatures and log signatures are
sequences calculated from a path that characterizes its
shape. They originate from the work of K. T. Chen and
have become important through Terry Lyons's theory of
differential equations driven by rough paths, which is
an important developing area of stochastic analysis.
They have applications in statistics and machine
learning, where there can be a need to calculate finite
parts of them quickly for many paths. We introduce the
signature and the most basic information (displacement
and signed areas) that it contains. We present
algorithms for efficiently calculating these
signatures. For log signatures this requires
consideration of the structure of free Lie algebras. We
benchmark the performance of the algorithms. The
methods are implemented in C++ and released as a Python
extension package, which also supports differentiation.
In combination with a machine learning library
(Tensorflow, PyTorch, or Theano), this allows
end-to-end learning of neural networks involving
signatures.",
acknowledgement = ack-nhfb,
articleno = "8",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Salkovic:2020:POB,
author = "Edin Salkovic and Mostafa M. Abbas and Samir Brahim
Belhaouari and Khaoula Errafii and Halima Bensmail",
title = "\pkg{OutPyR}: {Bayesian} inference for {RNA-Seq}
outlier detection",
journal = j-J-COMPUT-SCI,
volume = "47",
pages = "??--??",
month = nov,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2020.101245",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:55:40 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750320305433",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101245",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Semper:2020:ERF,
author = "S. Semper and M. D{\"o}bereiner and S. Pawar and M.
Landmann and G. {Del Galdo}",
title = "\pkg{eadf}: Representation of far-field antenna
responses in {Python}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100583",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100583",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102030296X",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Sleem:2020:PPB,
author = "Ahmed Sleem and Mohamed Abdel-Baset and Ibrahim
El-henawy",
title = "\pkg{PyIVNS}: a {Python} based tool for
interval-valued neutrosophic operations and
normalization",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100632",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100632",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303459",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Stansbury:2020:PAF,
author = "Conrad Stansbury and Alessandra Lanzara",
title = "\pkg{PyARPES}: an analysis framework for multimodal
angle-resolved photoemission spectroscopies",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100472",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100472",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019301633",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Tartarini:2020:PPP,
author = "Federico Tartarini and Stefano Schiavon",
title = "\pkg{pythermalcomfort}: a {Python} package for thermal
comfort research",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100578",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100578",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020302910",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{vandenOord:2020:PID,
author = "Gijs van den Oord and Fredrik Jansson and Inti
Pelupessy and Maria Chertova and Johanna H.
Gr{\"o}nqvist and Pier Siebesma and Daan Crommelin",
title = "A {Python} interface to the {Dutch Atmospheric
Large-Eddy Simulation}",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100608",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100608",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303216",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Weise:2020:PSU,
author = "Konstantin Weise and Lucas Po{\ss}ner and Erik
M{\"u}ller and Richard Gast and Thomas R. Kn{\"o}sche",
title = "\pkg{Pygpc}: a sensitivity and uncertainty analysis
toolbox for {Python}",
journal = j-SOFTWAREX,
volume = "11",
number = "??",
pages = "Article 100450",
month = jan # "\slash " # jun,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100450",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:39 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020300078",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Wette:2020:SPO,
author = "Karl Wette",
title = "{SWIGLAL}: {Python} and {Octave} interfaces to the
{LALSuite} gravitational-wave data analysis libraries",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100634",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100634",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303472",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Williams:2020:PSP,
author = "Brendan Williams and Michael Lindner",
title = "\pkg{pyfMRIqc}: a Software Package for Raw {fMRI} Data
Quality Assurance",
journal = j-J-OPEN-RES-SOFT,
volume = "8",
number = "1",
pages = "23--??",
day = "07",
month = oct,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.280",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.280/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Zdybal:2020:PPS,
author = "Kamila Zdyba{\l} and Elizabeth Armstrong and
Alessandro Parente and James C. Sutherland",
title = "{PCAfold}: {Python} software to generate, analyze and
improve {PCA-derived} low-dimensional manifolds",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100630",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100630",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303435",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhang:2020:GPP,
author = "Yifei Zhang and Jia Cao",
title = "\pkg{GSimPy}: a {Python} package for measuring group
similarity",
journal = j-SOFTWAREX,
volume = "12",
number = "??",
pages = "Article 100526",
month = jul # "\slash " # dec,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100526",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 9 16:04:40 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711019303590",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhao:2020:ITC,
author = "Yafei Zhao and Paolo Vincenzo Genovese and Zhixing
Li",
title = "Intelligent Thermal Comfort Controlling System for
Buildings Based on {IoT} and {AI}",
journal = j-FUTURE-INTERNET,
volume = "12",
number = "2",
pages = "30",
day = "10",
month = feb,
year = "2020",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi12020030",
ISSN = "1999-5903",
bibdate = "Mon Mar 2 12:22:42 MST 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/12/2/30",
abstract = "With the improvement of technologies, people's demand
for intelligent devices of indoor and outdoor living
environments keeps increasing. However, the traditional
control system only adjusts living parameters
mechanically, which cannot better meet the requirements
of human comfort intelligently. This article proposes a
building intelligent thermal comfort control system
based on the Internet of Things and intelligent
artificial intelligence. Through the literature review,
various algorithms and prediction methods are analyzed
and compared. The system can automatically complete a
series of operations through IoT hardware devices which
are located at multiple locations in the building with
key modules. The code is developed and debugged by
Python to establish a model for energy consumption
prediction with environmental factors such as
temperature, humidity, radiant temperature, and air
velocity on thermal comfort indicators. By using the
simulation experiments, 1700 data sets are used for
training. Then, the output PMV predicted values are
compared with the real figure. The results show that
the performance of this system is superior to
traditional control on energy-saving and comfort.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
remark = "Special Issue Internet of Things and Ambient
Intelligence.",
}
@Article{Zia:2020:PPH,
author = "Haseeb Zia and Brice Lecampion",
title = "{PyFrac}: a planar {$3$D} hydraulic fracture
simulator",
journal = j-COMP-PHYS-COMM,
volume = "255",
number = "??",
pages = "Article 107368",
month = oct,
year = "2020",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107368",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 19 07:19:50 MDT 2020",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520301582",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Aksman:2021:PPI,
author = "Leon M. Aksman and Peter A. Wijeratne and Neil P.
Oxtoby and Arman Eshaghi and Cameron Shand and Andre
Altmann and Daniel C. Alexander and Alexandra L.
Young",
title = "\pkg{pySuStaIn}: a {Python} implementation of the
{Subtype and Stage Inference} algorithm",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100811",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001096",
acknowledgement = ack-nhfb,
articleno = "100811",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Andreadi:2021:PSS,
author = "Nikolai Andreadi and Artem Mitrofanov and Artem
Eliseev and Petr Matveev and Stepan Kalmykov and
Vladimir Petrov",
title = "\pkg{PyRad}: A software shell for simulating
radiolysis with \pkg{Qball} package",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "13",
pages = "944--950",
day = "15",
month = may,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26509",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Mon May 17 16:26:13 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "04 March 2021",
}
@Article{Anonymous:2021:RCR,
author = "Anonymous",
title = "Replication of Computational Results Report for
{``Doping Tests for Cyber-Physical Systems''}",
journal = j-TOMACS,
volume = "31",
number = "3",
pages = "17:1--17:2",
month = jul,
year = "2021",
CODEN = "ATMCEZ",
DOI = "https://doi.org/10.1145/3459667",
ISSN = "1049-3301 (print), 1558-1195 (electronic)",
ISSN-L = "1049-3301",
bibdate = "Thu Aug 19 08:48:16 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tomacs.bib",
URL = "https://dl.acm.org/doi/10.1145/3459667",
abstract = "The article Doping Tests for Cyber-Physical Systems is
accompanied by a prototype implementation in Python
2.7. The artifact (i.e., code and observational data)
is hosted on a publicly available repository. The
article contains comprehensive \ldots{}",
acknowledgement = ack-nhfb,
articleno = "17",
fjournal = "ACM Transactions on Modeling and Computer Simulation",
journal-URL = "https://dl.acm.org/loi/tomacs",
}
@Article{Aranega:2021:RGT,
author = "Vincent Aranega and Julien Delplanque and Guillermo
Polito",
title = "Rotten green tests in {Java}, {Pharo} and {Python}",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "26",
number = "6",
pages = "??--??",
month = nov,
year = "2021",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-021-10016-2",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Fri Feb 25 18:03:07 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-021-10016-2",
acknowledgement = ack-nhfb,
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Ardito:2021:ERC,
author = "Luca Ardito and Luca Barbato and Riccardo Coppola and
Michele Valsesia",
title = "Evaluation of {Rust} code verbosity, understandability
and complexity",
journal = "{PeerJ} Computer Science",
volume = "7",
pages = "e406:1--e406:33",
month = feb,
year = "2021",
DOI = "https://doi.org/10.7717/peerj-cs.406",
ISSN = "2167-8359",
ISSN-L = "2167-8359",
bibdate = "Tue Jun 15 14:19:54 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/rust.bib",
abstract = "Rust is an innovative programming language initially
implemented by Mozilla, developed to ensure high
performance, reliability, and productivity. The final
purpose of this study consists of applying a set of
common static software metrics to programs written in
Rust to assess the verbosity, understandability,
organization, complexity, and maintainability of the
language. To that extent, nine different
implementations of algorithms available in different
languages were selected. We computed a set of metrics
for Rust, comparing them with the ones obtained from C
and a set of object-oriented languages: C++, Python,
JavaScript, TypeScript. To parse the software artifacts
and compute the metrics, it was leveraged a tool called
rust-code-analysis that was extended with a software
module, written in Python, with the aim of uniforming
and comparing the results. The Rust code had an average
verbosity in terms of the raw size of the code. It
exposed the most structured source organization in
terms of the number of methods. Rust code had a better
Cyclomatic Complexity, Halstead Metrics, and
Maintainability Indexes than C and C++ but performed
worse than the other considered object-oriented
languages. Lastly, the Rust code exhibited the lowest
COGNITIVE complexity of all languages. The collected
measures prove that the Rust language has average
complexity and maintainability compared to a set of
popular languages. It is more easily maintainable and
less complex than the C and C++ languages, which can be
considered syntactically similar. These results, paired
with the memory safety and safe concurrency
characteristics of the language, can encourage wider
adoption of the language of Rust in substitution of the
C language in both the open-source and industrial
environments.",
acknowledgement = ack-nhfb,
journal-URL = "https://peerj.com/cs/",
}
@Article{Arrigoni:2021:SPP,
author = "Marco Arrigoni and Georg K. H. Madsen",
title = "\pkg{Spinney}: Post-processing of first-principles
calculations of point defects in semiconductors with
{Python}",
journal = j-COMP-PHYS-COMM,
volume = "264",
number = "??",
pages = "Article 107946",
month = jul,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107946",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:27 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521000709",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Barba:2021:PJE,
author = "Lorena A. Barba",
title = "The {Python\slash Jupyter} Ecosystem: Today's
Problem-Solving Environment for Computational Science",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "3",
pages = "5--9",
month = may # "\slash " # jun,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3074693",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Barba:2021:SCP,
author = "Lorena A. Barba and Andreas Kl{\"o}ckner and Prabhu
Ramachandran and Rollin Thomas",
title = "Scientific Computing With {Python} on High-Performance
Heterogeneous Systems",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "4",
pages = "5--7",
month = jul # "\slash " # aug,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3088549",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Barrachina:2021:PUF,
author = "Sergio Barrachina and Adri{\'a}n Castell{\'o} and Jose
I. Mestre",
title = "{PyDTNN}: A user-friendly and extensible framework for
distributed deep learning",
journal = j-J-SUPERCOMPUTING,
volume = "77",
number = "9",
pages = "9971--9987",
month = sep,
year = "2021",
CODEN = "JOSUED",
DOI = "https://doi.org/10.1007/s11227-021-03673-z",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Mon Feb 28 16:44:33 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s11227-021-03673-z",
acknowledgement = ack-nhfb,
ajournal = "J. Supercomputing",
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
}
@Article{Bartlett:2021:HPP,
author = "John Bartlett and Chris Uchytil and Duane Storti",
title = "High-Productivity Parallelism With {Python} Plus
Packages (But Without a Cluster)",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "4",
pages = "38--46",
month = jul # "\slash " # aug,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3082864",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Bauer:2021:SPL,
author = "Michael Bauer and Wonchan Lee and Manolis Papadakis
and Marcin Zalewski and Michael Garland",
title = "Supercomputing in {Python} With {Legate}",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "4",
pages = "73--79",
month = jul # "\slash " # aug,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3088239",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Bernardi:2021:CPM,
author = "Austen Bernardi and Jessica M. J. Swanson",
title = "{CycFlowDec}: a {Python} module for decomposing flow
networks using simple cycles",
journal = j-SOFTWAREX,
volume = "14",
number = "??",
pages = "??--??",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100676",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000212",
acknowledgement = ack-nhfb,
articleno = "100676",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Biekotter:2021:MPP,
author = "Thomas Biek{\"o}tter",
title = "\pkg{munuSSM}: a {Python} package for the $ \mu
$-from-$ \nu $ {Supersymmetric Standard Model}",
journal = j-COMP-PHYS-COMM,
volume = "264",
number = "??",
pages = "Article 107935",
month = jul,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107935",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:27 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521000655",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bizzego:2021:MLP,
author = "Andrea Bizzego and Mengyu Lim and Gianluca Esposito",
title = "\pkg{mics-library}: a {Python} package for
reproducible studies on the {Multiple Indicator Cluster
Survey}",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100828",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001187",
acknowledgement = ack-nhfb,
articleno = "100828",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Boelens:2021:QMF,
author = "Arnout M. P. Boelens and Hamdi A. Tchelepi",
title = "\pkg{QuantImPy}: {Minkowski} functionals and functions
with {Python}",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100823",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001151",
acknowledgement = ack-nhfb,
articleno = "100823",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Boguslawski:2021:PBB,
author = "Katharina Boguslawski and Aleksandra Leszczyk and
Artur Nowak and Filip Brz{\k{e}}k and Piotr Szymon
{\.Z}uchowski and Dariusz K{\k{e}}dziera and Pawe{\l}
Tecmer",
title = "{Pythonic} Black-box Electronic Structure Tool
{(PyBEST)}. {An} open-source {Python} platform for
electronic structure calculations at the interface
between chemistry and physics",
journal = j-COMP-PHYS-COMM,
volume = "264",
number = "??",
pages = "Article 107933",
month = jul,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107933",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:27 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521000643",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Brandstetter:2021:KPP,
author = "Dominik Brandstetter and Xiaosheng Yang and Daniel
L{\"u}ftner and F. Stefan Tautz and Peter Puschnig",
title = "\pkg{kMap.py}: a {Python} program for simulation and
data analysis in photoemission tomography",
journal = j-COMP-PHYS-COMM,
volume = "263",
number = "??",
pages = "Article 107905",
month = jun,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107905",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:27 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521000461",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Cabanero-Gomez:2021:EPM,
author = "Luis Caba{\~n}ero-Gomez and Ramon Hervas and Ivan
Gonzalez and Luis Rodriguez-Benitez",
title = "\pkg{eeglib}: a {Python} module for {EEG} feature
extraction",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100745",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000753",
acknowledgement = ack-nhfb,
articleno = "100745",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Capocchi:2021:WBS,
author = "Laurent Capocchi and Jean-Francois Santucci",
title = "A web-based simulation of discrete-event system of
system with the mobile application {DEVSimPy-mob}",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100625",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100625",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303381",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Champseix:2021:PPH,
author = "Robin Champseix and Laurent Ribiere and Cl{\'e}ment
{Le Couedic}",
title = "A {Python} Package for Heart Rate Variability Analysis
and Signal Preprocessing",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "28--??",
day = "06",
month = oct,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.305",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.305/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Chard:2021:EAP,
author = "Kyle Chard and Yadu Babuji and Anna Woodard and Ben
Clifford and Zhuozhao Li and Mihael Hategan and Ian
Foster and Mike Wilde and Daniel S. Katz",
title = "Extended Abstract: Productive Parallel Programming
with {Parsl}",
journal = j-SIGADA-LETTERS,
volume = "40",
number = "2",
pages = "73--75",
month = apr,
year = "2021",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/3463478.3463486",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "0736-721X",
bibdate = "Mon Jun 28 15:50:16 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
URL = "https://dl.acm.org/doi/10.1145/3463478.3463486",
abstract = "Parsl is a parallel programming library for Python
that aims to make it easy to specify parallelism in
programs and to realize that parallelism on arbitrary
parallel and distributed computing systems. Parsl
relies on developers annotating Python
functions-wrapping either Python or external
applications-to indicate that these functions may be
executed concurrently. Developers can then link
together functions via the exchange of data. Parsl
establishes a dynamic dependency graph and sends tasks
for execution on connected resources when dependencies
are resolved. Parsl's runtime system enables different
compute resources to be used, from laptops to
supercomputers, without modification to the Parsl
program.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
journal-URL = "http://portal.acm.org/citation.cfm?id=J32",
}
@Article{Couty:2021:CCR,
author = "Victor Couty and Jean-Fran{\c{c}}ois Witz and Corentin
Martel and Fran{\c{c}}ois Bari and Antoine Weisrock",
title = "\pkg{CRAPPY}: {Command and Real-Time Acquisition in
Parallelized Python}, a {Python} module for
experimental setups",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100848",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001278",
acknowledgement = ack-nhfb,
articleno = "100848",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Couty:2021:GGA,
author = "Victor Couty and Jean-Fran{\c{c}}ois Witz and Pauline
Lecomte-Grosbras and Julien Berthe and Eric Deletombe
and Mathias Brieu",
title = "\pkg{GPUCorrel}: a {GPU} accelerated {Digital Image
Correlation} software written in {Python}",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100815",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001102",
acknowledgement = ack-nhfb,
articleno = "100815",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Dalcin:2021:MSU,
author = "Lisandro Dalcin and Yao-Lung L. Fang",
title = "{mpi4py}: Status Update After 12 Years of
Development",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "4",
pages = "47--54",
month = jul # "\slash " # aug,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3083216",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Davies:2021:SPB,
author = "Claire L. Davies",
title = "\pkg{SEDBYS}: a {Python}-based {SED Builder for Young
Stars}",
journal = j-SOFTWAREX,
volume = "14",
number = "??",
pages = "??--??",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100687",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000327",
acknowledgement = ack-nhfb,
articleno = "100687",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{DeChavez:2021:OPM,
author = "Danjo {De Chavez} and Jun-ya Hasegawa",
title = "\pkg{OpenMechanochem}: a {Python} module for
mechanochemical simulations",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100879",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001436",
acknowledgement = ack-nhfb,
articleno = "100879",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{DeFever:2021:MCC,
author = "Ryan S. DeFever and Ray A. Matsumoto and Alexander W.
Dowling and Peter T. Cummings and Edward J. Maginn",
title = "{MoSDeF} {Cassandra}: a complete {Python} interface
for the {Cassandra} {Monte Carlo} software",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "18",
pages = "1321--1331",
day = "5",
month = jul,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26544",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Thu Feb 24 07:02:47 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "30 April 2021",
}
@Article{Demidov:2021:UPP,
author = "Alexander G. Demidov and B. Lakshitha A. Perera and
Michael E. Fortunato and Sibo Lin and Coray M. Colina",
title = "Update 1.1 to {``\pkg{pysimm}: a Python package for
simulation of molecular systems'', (PII:
S2352711016300395)}",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100749",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
note = "See \cite{Fortunato:2017:PPP}.",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000777",
acknowledgement = ack-nhfb,
articleno = "100749",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Dunbar:2021:BPP,
author = "M. Bekker-Nielsen Dunbar and Thomas J. R. Finnie",
title = "\pkg{bayesint}: a {Python} Package for Calculating
{Bayesian} Credible Intervals of Ratios of Beta
Distributions",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "35--??",
day = "21",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.283",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.283/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Book{Durr:2021:CPP,
author = "Christoph D{\"u}rr and Jill-J{\^e}nn Vie",
title = "Competitive programming in {Python}: 128 algorithms to
develop your coding skills",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
year = "2021",
DOI = "https://doi.org/10.1017/9781108591928",
ISBN = "1-108-71682-2 (paperback), 1-108-59192-2 (e-pub)",
ISBN-13 = "978-1-108-71682-6 (paperback), 978-1-108-59192-8
(e-pub)",
LCCN = "QA76.73.P98",
bibdate = "Wed Jan 6 12:05:07 MST 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Translation to English from the French original by
Greg Gibbons and Dani{\`e}le Gibbons.",
URL = "https://assets.cambridge.org/97811087/16826/toc/9781108716826_toc.pdf",
abstract = "Want to kill it at your job interview in the tech
industry? Want to win that coding competition? Learn
all the algorithmic techniques and programming skills
you need from two experienced coaches, problem setters,
and jurors for coding competitions. The authors
highlight the versatility of each algorithm by
considering a variety of problems and show how to
implement algorithms in simple and efficient code. What
to expect: * Master 128 algorithms in Python. *
Discover the right way to tackle a problem and quickly
implement a solution of low complexity. * Classic
problems like Dijkstra's shortest path algorithm and
Knuth-Morris-Pratt's string matching algorithm, plus
lesser known data structures like Fenwick trees and
Knuth's dancing links. * A framework to tackle
algorithmic problem solving, including: Definition,
Complexity, Applications, Algorithm, Key Information,
Implementation, Variants, In Practice, and Problems. *
Python code in the book and on the companion website",
acknowledgement = ack-nhfb,
author-dates = "1969--",
subject = "Python (Computer program language); Algorithms;
Algorithms; Python (Computer program language)",
tableofcontents = "1. Introduction \\
2. Character strings \\
3. Sequences \\
4. Arrays \\
5. Intervals \\
6. Graphs \\
7. Cycles in graphs \\
8. Shortest paths \\
9. Matching and flows \\
10. Trees \\
11. Sets \\
12. Points and polygons \\
13. Rectangles \\
14. Numbers and matrices \\
15. Exhaustive search \\
16. Conclusion",
}
@Article{Dutra:2021:PEP,
author = "Jos{\'e} Diogo L. Dutra and Thiago D. Bispo and
Sabrina M. de Freitas and Marcos V. dos S. Rezende",
title = "\pkg{ParamGULP}: an efficient {Python} code for
obtaining interatomic potential parameters for {General
Utility Lattice Program}",
journal = j-COMP-PHYS-COMM,
volume = "265",
number = "??",
pages = "Article 107996",
month = aug,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107996",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:28 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521001089",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Edhlund:2021:POO,
author = "Ian Edhlund and Matthew Macauley and Cindy Lee",
title = "\pkg{PBTK} Optimizer: an Open Source Application for
{PBTK} Model Parameter Optimization in {Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "4--??",
day = "14",
month = apr,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.285",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.285/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Fiorio:2021:IPP,
author = "Luan Vin{\'\i}cius Fiorio and Chrystian Lenon Remes
and Yales R{\^o}mulo de Novaes",
title = "\pkg{impulseest}: a {Python} package for
non-parametric impulse response estimation with
input--output data",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100761",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000832",
acknowledgement = ack-nhfb,
articleno = "100761",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Fredericks:2021:PPL,
author = "Scott Fredericks and Kevin Parrish and Dean Sayre and
Qiang Zhu",
title = "{PyXtal}: a {Python} library for crystal structure
generation and symmetry analysis",
journal = j-COMP-PHYS-COMM,
volume = "261",
number = "??",
pages = "Article 107810",
month = apr,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107810",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:42 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520304057",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Gaete-Morales:2021:DPF,
author = "Carlos Gaete-Morales and Martin Kittel and Alexander
Roth and Wolf-Peter Schill",
title = "\pkg{DIETERpy}: a {Python} framework for the {Dispatch
and Investment Evaluation Tool with Endogenous
Renewables}",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100784",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000947",
acknowledgement = ack-nhfb,
articleno = "100784",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@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/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",
}
@Article{Giroux:2021:TPP,
author = "Bernard Giroux",
title = "\pkg{ttcrpy}: a {Python} package for traveltime
computation and raytracing",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100834",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001217",
acknowledgement = ack-nhfb,
articleno = "100834",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gotze:2021:UFP,
author = "Jan P. G{\"o}tze and Yuan-Wei Pi and Simon Petry and
Fabian Langkabel and Jan Felix Witte and Oliver Lemke",
title = "A user-friendly, {Python}-based quantum
{mechanics\slash Gromacs} interface: {gmx2qmmm}",
journal = j-IJQC,
volume = "121",
number = "3",
pages = "e26486:1--e26486:??",
day = "5",
month = feb,
year = "2021",
CODEN = "IJQCB2",
DOI = "https://doi.org/10.1002/qua.26486",
ISSN = "0020-7608 (print), 1097-461X (electronic)",
ISSN-L = "0020-7608",
bibdate = "Wed Mar 24 15:46:59 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijqc2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "Int. J. Quant. Chem.",
fjournal = "International Journal of Quantum Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0020-7608/",
onlinedate = "09 October 2020",
}
@Article{Grilli:2021:NPS,
author = "Nicol{\`o} Grilli and Edmund Tarleton and Alan C. F.
Cocks",
title = "\pkg{Neper2CAE} and \pkg{PyCiGen}: Scripts to generate
polycrystals and interface elements in {Abaqus}",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100651",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100651",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303642",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gronchi:2021:NTS,
author = "Giorgio Gronchi and Marco Raglianti and Fabio
Giovannelli",
title = "Network Theory and Switching Behaviors: a User Guide
for Analyzing Electronic Records Databases",
journal = j-FUTURE-INTERNET,
volume = "13",
number = "9",
pages = "228",
day = "31",
month = aug,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi13090228",
ISSN = "1999-5903",
bibdate = "Tue Sep 28 10:43:54 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/13/9/228",
abstract = "As part of studies that employ health electronic
records databases, this paper advocates the employment
of graph theory for investigating drug-switching
behaviors. Unlike the shared approach in this field
(comparing groups that have switched with control
groups), network theory can provide information about
actual switching behavior patterns. After a brief and
simple introduction to fundamental concepts of network
theory, here we present (i) a Python script to obtain
an adjacency matrix from a records database and (ii) an
illustrative example of the application of network
theory basic concepts to investigate drug-switching
behaviors. Further potentialities of network theory
(weighted matrices and the use of clustering
algorithms), along with the generalization of these
methods to other kinds of switching behaviors beyond
drug switching, are discussed.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Gunaratne:2021:NAB,
author = "Chathika Gunaratne and Ivan Garibay",
title = "\pkg{NL4Py}: {Agent}-based modeling in {Python} with
parallelizable {NetLogo} workspaces",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100801",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001035",
acknowledgement = ack-nhfb,
articleno = "100801",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hahne:2021:APP,
author = "Jens Hahne and Stephanie Friedhoff and Matthias
Bolten",
title = "{Algorithm 1016}: {PyMGRIT}: a {Python} Package for
the Parallel-in-time Method {MGRIT}",
journal = j-TOMS,
volume = "47",
number = "2",
pages = "19:1--19:22",
month = apr,
year = "2021",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3446979",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Apr 27 08:23:28 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3446979",
abstract = "In this article, we introduce the Python framework
PyMGRIT, which implements the
multigrid-reduction-in-time (MGRIT) algorithm for
solving (non-)linear systems arising from the
discretization of time-dependent problems. The MGRIT
algorithm is a reduction-based iterative method that
allows parallel-in-time simulations, i.e., calculating
multiple time steps simultaneously in a simulation,
using a time-grid hierarchy. The PyMGRIT framework
includes many different variants of the MGRIT
algorithm, ranging from different multigrid cycle types
and relaxation schemes, various coarsening strategies,
including time-only and space-time coarsening, and the
ability to utilize different time integrators on
different levels in the multigrid hierarchy. The
comprehensive documentation with tutorials and many
examples and the fully documented code allow an easy
start into the work with the package. The functionality
of the code is ensured by automated serial and parallel
tests using continuous integration. PyMGRIT supports
serial runs suitable for prototyping and testing of new
approaches, as well as parallel runs using the Message
Passing Interface (MPI). In this manuscript, we
describe the implementation of the MGRIT algorithm in
PyMGRIT and present the usage from both a user and a
developer point of view. Three examples illustrate
different aspects of the package itself, especially
running tests with pure time parallelism, as well as
space-time parallelism through the coupling of PyMGRIT
with PETSc or Firedrake.",
acknowledgement = ack-nhfb,
articleno = "19",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{He:2021:TPP,
author = "Xu He and Nicole Helbig and Matthieu J. Verstraete and
Eric Bousquet",
title = "\pkg{TB2J}: a {Python} package for computing magnetic
interaction parameters",
journal = j-COMP-PHYS-COMM,
volume = "264",
number = "??",
pages = "Article 107938",
month = jul,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.107938",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Jun 9 09:57:27 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521000679",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Ho:2021:DSS,
author = "Anson T. Y. Ho and Kim P. Huynh and David T.
Jacho-Ch{\'a}vez and Diego Rojas-Baez",
title = "Data Science in {Stata 16}: Frames, Lasso, and
{Python} Integration",
journal = j-J-STAT-SOFT,
volume = "98",
number = "??",
pages = "??--??",
month = "????",
year = "2021",
CODEN = "JSSOBK",
ISSN = "1548-7660",
ISSN-L = "1548-7660",
bibdate = "Fri Jul 23 08:12:54 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jstatsoft.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.jstatsoft.org/index.php/jss/article/view/v098s01;
https://www.jstatsoft.org/index.php/jss/article/view/v098s01/v98s01.pdf",
acknowledgement = ack-nhfb,
journal-URL = "http://www.jstatsoft.org/",
}
@Article{Hoffmann:2021:PPC,
author = "Christoph G. Hoffmann and George N. Kiladis and Maria
Gehne and Christian von Savigny",
title = "A {Python} Package to Calculate the {OLR}-Based Index
of the {Madden--Julian-Oscillation (OMI)} in Climate
Science and Weather Forecasting",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "9--??",
day = "14",
month = may,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.331",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.331/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Huang:2021:PAC,
author = "Sitao Huang and Kun Wu and Hyunmin Jeong and Chengyue
Wang and Deming Chen and Wen-Mei Hwu",
title = "{PyLog}: An Algorithm-Centric {Python}-Based {FPGA}
Programming and Synthesis Flow",
journal = j-IEEE-TRANS-COMPUT,
volume = "70",
number = "12",
pages = "2015--2028",
month = dec,
year = "2021",
CODEN = "ITCOB4",
DOI = "https://doi.org/10.1109/TC.2021.3123465",
ISSN = "0018-9340 (print), 1557-9956 (electronic)",
ISSN-L = "0018-9340",
bibdate = "Thu Nov 11 08:55:47 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Computers",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}
@Article{Karam:2021:BPS,
author = "Mokbel Karam and Tony Saad",
title = "\pkg{BuckinghamPy}: a {Python} software for
dimensional analysis",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100851",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001291",
acknowledgement = ack-nhfb,
articleno = "100851",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Klymenko:2021:NEP,
author = "M. V. Klymenko and J. A. Vaitkus and J. S. Smith and
J. H. Cole",
title = "{NanoNET}: an extendable {Python} framework for
semi-empirical tight-binding models",
journal = j-COMP-PHYS-COMM,
volume = "259",
number = "??",
pages = "Article 107676",
month = feb,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107676",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:41 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520303283",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Krishnamoorthy:2021:EPL,
author = "Aravind Krishnamoorthy and Ankit Mishra and Deepak
Kamal and Sungwook Hong and Ken-ichi Nomura and Subodh
Tiwari and Aiichiro Nakano and Rajiv Kalia and Rampi
Ramprasad and Priya Vashishta",
title = "\pkg{EZFF}: {Python} library for multi-objective
parameterization and uncertainty quantification of
interatomic forcefields for molecular dynamics",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100663",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100663",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102100008X",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lee:2021:PPB,
author = "In Seong Lee and Jong-Kwon Ha and Daeho Han and Tae In
Kim and Sung Wook Moon and Seung Kyu Min",
title = "{PyUNIxMD}: a {Python}-based excited state molecular
dynamics package",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "24",
pages = "1755--1766",
day = "15",
month = sep,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26711",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Thu Feb 24 07:02:50 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "01 July 2021",
}
@Article{Li:2021:ICM,
author = "Yong Li and Shoaib Kamil and Alec Jacobson and Yotam
Cingold",
title = "{I[HEART]LA}: compilable markdown for linear algebra",
journal = j-TOG,
volume = "40",
number = "6",
pages = "264:1--264:14",
month = dec,
year = "2021",
CODEN = "ATGRDF",
DOI = "https://doi.org/10.1145/3478513.3480506",
ISSN = "0730-0301 (print), 1557-7368 (electronic)",
ISSN-L = "0730-0301",
bibdate = "Sat Dec 11 06:35:39 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tog.bib",
URL = "https://dl.acm.org/doi/10.1145/3478513.3480506",
abstract = "Communicating linear algebra in written form is
challenging: mathematicians must choose between writing
in languages that produce well-formatted but
semantically-underdefined representations such as
LaTeX; or languages with well-defined semantics but
notation unlike conventional math, such as C++/Eigen.
In both cases, the underlying linear algebra is
obfuscated by the requirements of esoteric language
syntax (as in LaTeX) or awkward APIs due to language
semantics (as in C++). The gap between representations
results in communication challenges, including
underspecified and irreproducible research results,
difficulty teaching math concepts underlying complex
numerical code, as well as repeated, redundant, and
error-prone translations from communicated linear
algebra to executable code. We introduce I[HEART]LA, a
language with syntax designed to closely mimic
conventionally-written linear algebra, while still
ensuring an unambiguous, compilable interpretation.
Inspired by Markdown, a language for writing
naturally-structured plain text files that translate
into valid HTML, I[HEART]LA allows users to write
linear algebra in text form and compile the same source
into LaTeX, C++/Eigen, Python/NumPy/SciPy, and MATLAB,
with easy extension to further math programming
environments. We outline the principles of our language
design and highlight design decisions that balance
between readability and precise semantics, and
demonstrate through case studies the ability for
I[HEART]LA to bridge the semantic gap between
conventionally-written linear algebra and unambiguous
interpretation in math programming environments.",
acknowledgement = ack-nhfb,
articleno = "264",
fjournal = "ACM Transactions on Graphics",
journal-URL = "https://dl.acm.org/loi/tog",
}
@Article{Lipovetsky:2021:BRLb,
author = "Stan Lipovetsky",
title = "Book Review: {{\booktitle{Linear Models with Python}},
Faraway Julian J.. Boca Raton, FL, Chapman and
Hall\slash CRC, Taylor \& Francis Group, 2021, 308 pp.,
85 b/w illustrations, \$99.95 (Hardback), ISBN:
978-1-138-48395-8}",
journal = j-TECHNOMETRICS,
volume = "63",
number = "3",
pages = "426--427",
year = "2021",
CODEN = "TCMTA2",
DOI = "https://doi.org/10.1080/00401706.2021.1945323",
ISSN = "0040-1706 (print), 1537-2723 (electronic)",
ISSN-L = "0040-1706",
bibdate = "Tue Feb 8 08:14:09 MST 2022",
bibsource = "http://www.tandf.co.uk/journals/titles/00401706.html;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/technometrics2020.bib",
acknowledgement = ack-nhfb,
fjournal = "Technometrics",
journal-URL = "http://www.tandfonline.com/loi/utch20",
onlinedate = "04 Aug 2021",
}
@Article{Luo:2021:CPC,
author = "Chenxing Luo and Xin Deng and Wenzhong Wang and Gaurav
Shukla and Zhongqing Wu and Renata M. Wentzcovitch",
title = "\pkg{cij}: a {Python} code for quasiharmonic
thermoelasticity",
journal = j-COMP-PHYS-COMM,
volume = "267",
number = "??",
pages = "Article 108067",
month = oct,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108067",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Sep 4 09:26:37 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552100179X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Lyden:2021:PPM,
author = "Andrew Lyden and Graeme Flett and Paul G. Tuohy",
title = "\pkg{PyLESA}: a {Python} modelling tool for
planning-level {Local, integrated, and smart Energy
Systems Analysis}",
journal = j-SOFTWAREX,
volume = "14",
number = "??",
pages = "??--??",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100699",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000443",
acknowledgement = ack-nhfb,
articleno = "100699",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Macleod:2021:GPP,
author = "Duncan M. Macleod and Joseph S. Areeda and Scott B.
Coughlin and Thomas J. Massinger and Alexander L.
Urban",
title = "\pkg{GWpy}: a {Python} package for gravitational-wave
astrophysics",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100657",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100657",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000029",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Mandanici:2021:SPG,
author = "A. Mandanici and S. {Alessandro Sar{\`a}} and G.
Fiumara and G. Mandaglio",
title = "Studying Physics, Getting to Know {Python}: {RC}
Circuit, Simple Experiments, Coding, and Data Analysis
With {Raspberry Pi}",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "1",
pages = "93--96",
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2020.3037002",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Mar 4 08:48:28 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Martignano:2021:SAA,
author = "Maurizio Martignano",
title = "Static Analysis for {Ada}, {C\slash C++} and {Python}:
Different Languages, Different Needs",
journal = j-SIGADA-LETTERS,
volume = "41",
number = "2",
pages = "77--80",
month = dec,
year = "2021",
DOI = "https://doi.org/10.1145/3530801.3530807",
bibdate = "Wed Apr 13 16:09:11 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
URL = "https://dl.acm.org/doi/10.1145/3530801.3530807",
abstract = "Spazio IT has been working on the Independent Software
Verification and Validation of several codebases, some
written in Ada, others in C/C++ and more recently also
in Python; in all cases Spazio IT has used static
analysis techniques and tools \ldots{}",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
journal-URL = "http://portal.acm.org/citation.cfm?id=J32",
}
@Article{Mattson:2021:PPM,
author = "Timothy G. Mattson and Todd A. Anderson and Giorgis
Georgakoudis",
title = "\pkg{PyOMP}: Multithreaded Parallel Programming in
{Python}",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "6",
pages = "77--80",
month = nov # "\slash " # dec,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3128806",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Mon Jan 31 16:30:09 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{May:2021:MLG,
author = "Simon May",
title = "minimal-lagrangians: Generating and studying dark
matter model {Lagrangians} with just the particle
content",
journal = j-COMP-PHYS-COMM,
volume = "261",
number = "??",
pages = "Article 107773",
month = apr,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107773",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:42 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520303878",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
keywords = "Python",
}
@Article{Melchert:2021:PPT,
author = "Oliver Melchert and Ayhan Demircan",
title = "\pkg{pyGLLE}: a {Python} toolkit for solving the
generalized {Lugiato--Lefever} equation",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100741",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102100073X",
acknowledgement = ack-nhfb,
articleno = "100741",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Melchor-Placencia:2021:OPC,
author = "Carlos Melchor-Placencia and Christian
M{\'a}laga-Chuquitaype",
title = "\pkg{OpenMoist}: a {Python} code for transient
moisture transfer analysis",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100712",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000571",
acknowledgement = ack-nhfb,
articleno = "100712",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Meng:2021:MPP,
author = "Siqin Meng and Zhendong Fu and Jianfei Qin and Xiaobai
Ma and Yuqing Li and Lijie Hao and Yuntao Liu and Kai
Sun and Dongfeng Chen",
title = "\pkg{magcoilcalc}: a {Python} package for modeling and
optimization of axisymmetric magnet coils generating
uniform magnetic field for noble gas spin-polarizers",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100805",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001060",
acknowledgement = ack-nhfb,
articleno = "100805",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Molina:2021:HOS,
author = "Tulio Molina and Juan Ortega and Juan Mu{\~n}oz",
title = "\pkg{HELMpy}, Open Source Package of Power Flow
Solvers, Including the Holomorphic Embedding Load Flow
Method {(HELM)}, Developed on {Python 3}",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "23--??",
day = "18",
month = aug,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.310",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.310/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Mooers:2021:PSL,
author = "B. H. M. Mooers",
title = "A {PyMOL} Snippet Library for {Jupyter} to Boost
Researcher Productivity",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "2",
pages = "47--53",
month = mar # "\slash " # apr,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3059536",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Apr 1 10:10:56 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Orella:2021:HTA,
author = "Michael Julian Orella and McLain Evan Leonard and
Yuriy Rom{\'a}n-Leshkov and Fikile Richard Brushett",
title = "High-throughput analysis of contact angle goniometry
data using \pkg{DropPy}",
journal = j-SOFTWAREX,
volume = "14",
number = "??",
pages = "??--??",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100665",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000108",
acknowledgement = ack-nhfb,
articleno = "100665",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ortin:2021:CPA,
author = "Francisco Ortin and Javier Escalada",
title = "\pkg{Cnerator}: a {Python} application for the
controlled stochastic generation of standard {C} source
code",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100711",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102100056X",
acknowledgement = ack-nhfb,
articleno = "100711",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Pelletier:2021:GJP,
author = "Michel Pelletier and Will Kimmerer and Timothy A.
Davis and Timothy G. Mattson",
editor = "{IEEE}",
booktitle = "{2021 IEEE High Performance Extreme Computing
Conference (HPEC)}",
title = "The {GraphBLAS} in {Julia} and {Python}: the
{PageRank} and Triangle Centralities",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "1--7",
year = "2021",
DOI = "https://doi.org/10.1109/HPEC49654.2021.9622789",
bibdate = "Mon Dec 18 08:06:55 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/pagerank.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Piasini:2021:EPP,
author = "Eugenio Piasini and Alexandre L. S. Filipowicz and
Jonathan Levine and Joshua I. Gold",
title = "\pkg{Embo}: a {Python} package for empirical data
analysis using the Information Bottleneck",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "10--??",
day = "31",
month = may,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.322",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.322/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Prasanna:2021:DOS,
author = "Krishnamohan G. Prasanna and Rahul Sunil and Kapil
Gupta and Seung-Cheol Lee",
title = "{DJMol}: an open-source modeling platform for
computational chemistry and materials science with a
{Python} interpreter",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "29",
pages = "2116--2129",
day = "5",
month = nov,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26740",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Thu Feb 24 07:02:52 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "18 August 2021",
}
@Article{Ramachandran:2021:PPB,
author = "Prabhu Ramachandran and Aditya Bhosale and Kunal Puri
and Pawan Negi and Abhinav Muta and A. Dinesh and
Dileep Menon and Rahul Govind and Suraj Sanka and Amal
S. Sebastian and Ananyo Sen and Rohan Kaushik and
Anshuman Kumar and Vikas Kurapati and Mrinalgouda Patil
and Deep Tavker and Pankaj Pandey and Chandrashekhar
Kaushik and Arkopal Dutt and Arpit Agarwal",
title = "{PySPH}: a {Python}-based Framework for Smoothed
Particle Hydrodynamics",
journal = j-TOMS,
volume = "47",
number = "4",
pages = "34:1--34:38",
month = dec,
year = "2021",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3460773",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Sep 29 06:58:41 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3460773",
abstract = "PySPH is an open-source, Python-based, framework for
particle methods in general and Smoothed Particle
Hydrodynamics (SPH) in particular. PySPH allows a user
to define a complete SPH simulation using pure Python.
High-performance code is generated from this high-level
Python code and executed on either multiple cores, or
on GPUs, seamlessly. It also supports distributed
execution using MPI. PySPH supports a wide variety of
SPH schemes and formulations. These include,
incompressible and compressible fluid flow, elastic
dynamics, rigid body dynamics, shallow water equations,
and other problems. PySPH supports a variety of
boundary conditions including mirror, periodic, solid
wall, and inlet/outlet boundary conditions. The package
is written to facilitate reuse and reproducibility.
This article discusses the overall design of PySPH and
demonstrates many of its features. Several example
results are shown to demonstrate the range of features
that PySPH provides.",
acknowledgement = ack-nhfb,
articleno = "34",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Ravasio:2021:OOO,
author = "Claudio S. Ravasio and Lyndon {Da Cruz} and Christos
Bergeles",
title = "\pkg{oflibnumpy} and \pkg{oflibpytorch}: Optical Flow
Handling and Manipulation in {Python}",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "31--??",
day = "26",
month = nov,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.380",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.380/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Richardson:2021:TLP,
author = "A. S. Richardson and D. F. Gordon and S. B. Swanekamp
and I. M. Rittersdorf and P. E. Adamson and O. S.
Grannis and G. T. Morgan and A. Ostenfeld and K. L.
Phlips and C. G. Sun and G. Tang and D. J. Watkins",
title = "{TurboPy}: a lightweight {Python} framework for
computational physics",
journal = j-COMP-PHYS-COMM,
volume = "258",
number = "??",
pages = "Article 107607",
month = jan,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107607",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:40 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520302897",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Robertson:2021:AEP,
author = "E. J. Robertson and N. Sibali{\'c} and R. M. Potvliege
and M. P. A. Jones",
title = "{ARC 3.0}: an expanded {Python} toolbox for atomic
physics calculations",
journal = j-COMP-PHYS-COMM,
volume = "261",
number = "??",
pages = "Article 107814",
month = apr,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107814",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:42 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520304136",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Ryan-Keogh:2021:PPU,
author = "Thomas J. Ryan-Keogh and Charlotte M. Robinson",
title = "Phytoplankton Photophysiology Utilities: a {Python}
Toolbox for the Standardization of Processing Active
Chlorophyll-a Fluorescence Data",
journal = j-FRONTIERS-MAR-SCI,
volume = "8",
month = jul,
year = "2021",
DOI = "https://doi.org/10.3389/fmars.2021.525414",
ISSN = "2296-7745",
ISSN-L = "2296-7745",
bibdate = "Wed Dec 22 06:45:41 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/frontmarsci2010.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "Front. Mar. Sci.",
fjournal = "Frontiers in Marine Science",
journal-URL = "https://www.frontiersin.org/journals/655",
rawdoi = "10.3389/fmars.2021.525414",
}
@Article{Sartore:2021:P,
author = "Lohan Sartore and Ingo Schienbein",
title = "{PyR@TE 3}",
journal = j-COMP-PHYS-COMM,
volume = "261",
number = "??",
pages = "Article 107819",
month = apr,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2020.107819",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Mar 13 08:21:42 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465520304124",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
keywords = "Python",
}
@Article{Schick:2021:UPT,
author = "Daniel Schick",
title = "\pkg{udkm1Dsim} --- a {Python} toolbox for simulating
{$1$D} ultrafast dynamics in condensed matter",
journal = j-COMP-PHYS-COMM,
volume = "266",
number = "??",
pages = "Article 108031",
month = sep,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108031",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Sep 4 09:26:37 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521001430",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Schwarz:2021:ICC,
author = "Diana Est{\'e}vez Schwarz and Ren{\'e} Lamour",
title = "{InitDAE}: Computation of consistent values, index
determination and diagnosis of singularities of {DAEs}
using automatic differentiation in {Python}",
journal = j-J-COMPUT-APPL-MATH,
volume = "387",
number = "??",
pages = "Article 112486",
month = "????",
year = "2021",
CODEN = "JCAMDI",
DOI = "https://doi.org/10.1016/j.cam.2019.112486",
ISSN = "0377-0427 (print), 1879-1778 (electronic)",
ISSN-L = "0377-0427",
bibdate = "Sat Mar 27 09:45:47 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputapplmath2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0377042719304893",
acknowledgement = ack-nhfb,
fjournal = "Journal of Computational and Applied Mathematics",
journal-URL = "http://www.sciencedirect.com/science/journal/03770427",
}
@Article{Schwarz:2021:PPF,
author = "Sebastian Schwarz and Sebastian Alexander Uerlich and
Antonello Monti",
title = "\pkg{pycity\_scheduling} --- a {Python} framework for
the development and assessment of optimisation-based
power scheduling algorithms for multi-energy systems in
city districts",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100839",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001230",
acknowledgement = ack-nhfb,
articleno = "100839",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Sharma:2021:DDS,
author = "Moolchand Sharma and Bhanu Jain and Chetan Kargeti and
Vinayak Gupta and Deepak Gupta",
title = "Detection and Diagnosis of Skin Diseases Using
Residual Neural Networks {(RESNET)}",
journal = j-INT-J-IMAGE-GRAPHICS,
volume = "21",
number = "05",
pages = "??--??",
month = dec,
year = "2021",
DOI = "https://doi.org/10.1142/S0219467821400027",
ISSN = "0219-4678",
ISSN-L = "0219-4678",
bibdate = "Mon Dec 27 07:10:56 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijig.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.worldscientific.com/doi/10.1142/S0219467821400027",
abstract = "Skin diseases have become prevalent in the present
times. It has been observed in a study that every year
the percentage of global population suffering from skin
diseases is 1.79\%. These diseases have a potential to
become extremely dangerous if they are not treated in
the nascent stages. It is extremely important that skin
diseases are detected and diagnosed at the starting
stages so that serious risks to life are avoided.
Often, exhaustive tests are required so as to arrive on
a conclusion regarding skin condition, the patient may
be affected with. Thus, an expert system is required
that has the ability to identify diseases and propose
the required diagnosis. Presently, only a few solutions
are available for diagnosis of skin diseases using
computerized system but this is an era which is under
extensive research and can be developed further. As the
existing system has certain loopholes, this system
attempts to override the present problems by applying a
different approach. As a result of comparison of
results from numerous research papers, an expert system
has been developed by choosing residual neural networks
(ResNet) and this system can be used to aid skin
specialists in identifying and diagnosing various major
diseases of skin like (Eczema, Psoriasis & Lichen
Planus, Benign Tumors, Fungal Infections and Viral
Infections) in more effective and efficient manner. The
causes for identified skin disease can be outlined
through this system and treatment can be provided. We
have used Python language for implementing the proposed
expert system that uses a 50-layer ResNets for training
a dataset that has been taken from DERMNET. We achieved
an accuracy of 95\% using ResNet for training of the
model and prediction of results at an epoch value of
10.",
acknowledgement = ack-nhfb,
fjournal = "International Journal of Image and Graphics (IJIG)",
journal-URL = "http://www.worldscientific.com/worldscinet/ijig",
remark = "Special Issue on Deep Neural Networks for Medical
Image Detection, Segmentation, and Localization",
}
@Article{Shi:2021:CMS,
author = "Yanjun Shi and Hao Yu and Yijia Guo and Zhiheng Yuan",
title = "A Collaborative Merging Strategy with Lane Changing in
Multilane Freeway On-Ramp Area with {V2X} Network",
journal = j-FUTURE-INTERNET,
volume = "13",
number = "5",
pages = "123",
day = "10",
month = may,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi13050123",
ISSN = "1999-5903",
bibdate = "Fri May 28 20:44:52 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/13/5/123",
abstract = "The merging area of the freeway is an area with a high
incidence of traffic accidents. With the development of
connected and automated vehicles (CAVs) and V2X
technology, the traffic efficiency of freeway ramp
areas has been significantly improved. However, current
research mostly focuses on merging a single mainline
lane and ramp, and there are few cases of multiple
lanes. In this paper, we present a collaborative
merging model with a rule-based lane-changing strategy
in a V2X environment. First, the vehicle selects the
appropriate gap to change lanes safely without
affecting other vehicles. Meanwhile, we established a
linear time discrete model to optimize the trajectory
of vehicles in real-time. Finally, the proposed model
and strategy were implemented in SUMO and Python. The
simulation results showed that the merging model we
proposed based on the lane-changing strategy had good
performance in terms of the number of stops, average
delay, and average speed.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Singh:2021:MPL,
author = "Sobhit Singh and Logan Lang and Viviana Dovale-Farelo
and Uthpala Herath and Pedram Tavadze and
Fran{\c{c}}ois-Xavier Coudert and Aldo H. Romero",
title = "\pkg{MechElastic}: a {Python} library for analysis of
mechanical and elastic properties of bulk and {$2$D}
materials",
journal = j-COMP-PHYS-COMM,
volume = "267",
number = "??",
pages = "Article 108068",
month = oct,
year = "2021",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108068",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Sep 4 09:26:37 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521001806",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Stadler:2021:PPB,
author = "Konstantin Stadler",
title = "\pkg{Pymrio} --- a {Python} Based Multi-Regional
Input-Output Analysis Toolbox",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "8--??",
day = "11",
month = may,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.251",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.251/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Sulzer:2021:PBM,
author = "Valentin Sulzer and Scott G. Marquis and Robert Timms
and Martin Robinson and S. Jon Chapman",
title = "\pkg{Python} Battery Mathematical Modelling
{(PyBaMM)}",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "14--??",
day = "08",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.309",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.309/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Tan:2021:ETD,
author = "Jie Tan and Daniel Feitosa and Paris Avgeriou and
Mircea Lungu",
title = "Evolution of technical debt remediation in {Python}: a
case study on the {Apache Software Ecosystem}",
journal = j-J-SOFTW-EVOL-PROC,
volume = "33",
number = "4",
pages = "e2319:1--e2319:??",
month = apr,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2319",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Mon May 17 08:20:33 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "18 November 2020",
}
@Article{Terven:2021:KAK,
author = "Juan R. Terven and Diana M. C{\'o}rdova-Esparza",
title = "{KinZ}: an {Azure Kinect} toolkit for {Python} and
{Matlab}",
journal = j-SCI-COMPUT-PROGRAM,
volume = "211",
number = "??",
pages = "??--??",
day = "1",
month = nov,
year = "2021",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102702",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Tue Jan 25 06:43:23 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642321000952",
acknowledgement = ack-nhfb,
articleno = "102702",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Theisen:2021:FTM,
author = "Lambert Theisen and Manuel Torrilhon",
title = "{fenicsR13}: a Tensorial Mixed Finite Element Solver
for the Linear {R13} Equations Using the {FEniCS}
Computing Platform",
journal = j-TOMS,
volume = "47",
number = "2",
pages = "17:1--17:29",
month = apr,
year = "2021",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3442378",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Apr 27 08:23:28 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3442378",
abstract = "We present a mixed finite element solver for the
linearized regularized 13-moment equations of
non-equilibrium gas dynamics. The Python implementation
builds upon the software tools provided by the FEniCS
computing platform. We describe a new tensorial
approach utilizing the extension capabilities of
FEniCS' Unified Form Language to define required
differential operators for tensors above second degree.
The presented solver serves as an example for
implementing tensorial variational formulations in
FEniCS, for which the documentation and literature seem
to be very sparse. Using the software abstraction
levels provided by the Unified Form Language allows an
almost one-to-one correspondence between the underlying
mathematics and the resulting source code. Test cases
support the correctness of the proposed method using
validation with exact solutions. To justify the usage
of extended gas flow models, we discuss typical
application cases involving rarefaction effects. We
provide the documented and validated solver publicly.",
acknowledgement = ack-nhfb,
articleno = "17",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Turner:2021:OLE,
author = "Ross J. Turner and Rebecca B. Latto and Anya M.
Reading",
title = "An {ObsPy} Library for Event Detection and Seismic
Attribute Calculation: Preparing Waveforms for
Automated Analysis",
journal = j-J-OPEN-RES-SOFT,
volume = "9",
number = "1",
pages = "29--??",
day = "19",
month = oct,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.365",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Fri Dec 2 07:12:45 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.365/",
acknowledgement = ack-nhfb,
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
}
@Article{Verstraelen:2021:IPL,
author = "Toon Verstraelen and William Adams and Leila Pujal and
Alireza Tehrani and Braden D. Kelly and Luis Macaya and
Fanwang Meng and Michael Richer and Raymundo
Hern{\'a}ndez-Esparza and Xiaotian Derrick Yang and
Matthew Chan and Taewon David Kim and Maarten
Cools-Ceuppens and Valerii Chuiko and Esteban
V{\"o}hringer-Martinez and Paul W. Ayers and Farnaz
Heidar-Zadeh",
title = "{IOData}: a {Python} library for reading, writing, and
converting computational chemistry file formats and
generating input files",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "6",
pages = "458--464",
day = "5",
month = mar,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26468",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Mar 12 17:24:08 MST 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "27 December 2020",
}
@Article{Vishart:2021:PPB,
author = "Jonas Lynge Vishart and Jaime Castillo-Le{\'o}n and
Winnie E. Svendsen",
title = "\pkg{pyEIA}: a {Python}-based framework for data
analysis of electrochemical methods for immunoassays",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100720",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000637",
acknowledgement = ack-nhfb,
articleno = "100720",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Wacha:2021:PPE,
author = "Andr{\'a}s Wacha and Tam{\'a}s Beke-Somfai",
title = "\pkg{PmlBeta}: a {PyMOL} extension for building $
\beta $-amino acid insertions and $ \beta $-peptide
sequences",
journal = j-SOFTWAREX,
volume = "13",
number = "??",
pages = "Article 100654",
month = jan,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2020.100654",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Apr 30 07:51:12 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711020303678",
acknowledgement = ack-nhfb,
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Wai:2021:XA,
author = "Richard Wai",
title = "{XERIS\slash APEX}",
journal = j-SIGADA-LETTERS,
volume = "40",
number = "2",
pages = "65--69",
month = apr,
year = "2021",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/3463478.3463484",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "0736-721X",
bibdate = "Mon Jun 28 15:50:16 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
URL = "https://dl.acm.org/doi/10.1145/3463478.3463484",
abstract = "Modern day cloud native applications have become
broadly representative of distributed systems in the
wild. However, unlike traditional distributed system
models with conceptually static designs, cloud-native
systems emphasize dynamic scaling and on-line iteration
(CI/CD). Cloud-native systems tend to be architected
around a networked collection of distinct programs
(``microservices'') that can be added, removed, and
updated in real-time.\par
Typically, distinct containerized programs constitute
individual microservices that then communicate among
the larger distributed application through heavy-weight
protocols. Common communication stacks exchange JSON or
XML objects over HTTP, via TCP/TLS, and incur
significant overhead, particularly when using small
size message sizes. Additionally, interpreted\slash
JIT\slash VM-based languages such as Javascript
(NodeJS\slash Deno), Java, and Python are dominant in
modern microservice programs. These language
technologies, along with the high-overhead messaging,
can impose superlinear cost increases (hardware
demands) on scale-out, particularly towards hyperscale
and\slash or with latency-sensitive workloads.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
journal-URL = "http://portal.acm.org/citation.cfm?id=J32",
}
@Article{Walter:2021:MML,
author = "Vivien Walter and C{\'e}line Ruscher and Olivier
Benzerara and Fabrice Thalmann",
title = "\pkg{MLLPA}: a machine learning-assisted {Python}
module to study phase-specific events in lipid
membranes",
journal = j-J-COMPUT-CHEM,
volume = "42",
number = "13",
pages = "930--943",
day = "15",
month = may,
year = "2021",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.26508",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Mon May 17 16:26:13 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "06 March 2021",
}
@Article{Wilkinson:2021:EPM,
author = "Collin J. Wilkinson and John C. Mauro",
title = "\pkg{Explorer.py}: {Mapping} the energy landscapes of
complex materials",
journal = j-SOFTWAREX,
volume = "14",
number = "??",
pages = "??--??",
month = jun,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100683",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000285",
acknowledgement = ack-nhfb,
articleno = "100683",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Witherden:2021:PPP,
author = "Freddie D. Witherden",
title = "{Python} at Petascale With {PyFR} or: How {I} Learned
to Stop Worrying and Love the Snake",
journal = j-COMPUT-SCI-ENG,
volume = "23",
number = "4",
pages = "29--37",
month = jul # "\slash " # aug,
year = "2021",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2021.3080126",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu Jul 29 07:00:57 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Book{Xie:2021:RMC,
author = "Yihui Xie and Christophe Dervieux and Emily Riederer",
title = "{R} Markdown Cookbook",
publisher = pub-CHAPMAN-HALL-CRC,
address = pub-CHAPMAN-HALL-CRC:adr,
pages = "xxix + 329",
year = "2021",
DOI = "https://doi.org/10.1201/9781003097471",
ISBN = "0-367-56382-7 (hardcover), 0-367-56383-5 (paperback),
1-000-29080-8 (e-book), 1-000-29084-0 (Mobipocket
e-book), 1-000-29088-3 (e-book), 1-003-09747-2
(e-book)",
ISBN-13 = "978-1-000-29088-2",
LCCN = "QA276.45.R3 X54 2021",
bibdate = "Mon Jan 24 16:22:12 MST 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
series = "The R series",
abstract = "This new book written by the developers of R Markdown
is an essential reference that will help users learn
and make full use of the software. Those new to R
Markdown will appreciate the short, practical examples
that address the most common issues users encounter.
Frequent users will also benefit from the wide ranging
tips and tricks that expose hidden' features, support
customization and demonstrate the many new and varied
applications of the software. After reading this book
users will learn how to: Enhance your R Markdown
content with diagrams, citations, and dynamically
generated text Streamline your workflow with child
documents, code chunk references, and caching Control
the formatting and layout with Pandoc markdown syntax
or by writing custom HTML and LaTeX templates Utilize
chunk options and hooks to fine-tune how your code is
processed Switch between different language engineers
to seamlessly incorporate python, D3, and more into
your analysis.",
acknowledgement = ack-nhfb,
subject = "Markdown (Document markup language); R (Computer
program language); Markdown (Document markup language);
R (Computer program language); MATHEMATICS /
Probability and Statistics / General",
tableofcontents = "1: Installation / 5 pages \\
2: Conceptual Overview / 11 pages \\
3: Basics / 8 pages \\
4: Document Elements / 32 pages \\
5: Formatting / 18 pages \\
6: LaTeX Output / 19 pages \\
7: HTML Output / 27 pages \\
8: Word / 8 pages \\
9: Multiple Output Formats / 16 pages \\
10: Tables / 25 pages \\
11: Chunk Options / 29 pages \\
12: Output Hooks (*) / 16 pages \\
13: Chunk Hooks (*) / 11 pages \\
14: Miscellaneous knitr Tricks / 19 pages \\
15: Other Languages / 18 pages \\
16: Managing Projects / 19 pages \\
17: Workflow / 11 pages",
}
@Article{Yuan:2021:PPP,
author = "Zhenfei Yuan and Taizhong Hu",
title = "\pkg{pyvine}: The {Python} Package for Regular Vine
Copula Modeling, Sampling and Testing",
journal = j-COMMUN-MATH-STAT,
volume = "9",
number = "1",
pages = "53--86",
month = mar,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1007/s40304-019-00195-2",
ISSN = "2194-6701 (print), 2194-671X (electronic)",
ISSN-L = "2194-6701",
bibdate = "Wed Mar 31 15:34:20 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/communmathstat.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://link.springer.com/article/10.1007/s40304-019-00195-2",
acknowledgement = ack-nhfb,
fjournal = "Communications in Mathematics and Statistics",
journal-URL = "http://link.springer.com/journal/40304",
}
@Article{Zampieri:2021:ARA,
author = "Matteo Zampieri and Andrea Toreti and Andrej Ceglar
and Pierluca {De Palma} and Thomas Chatzopoulos and
Melania Michetti",
title = "Analysing the resilience of agricultural production
systems with \pkg{ResiPy}, the {Python} production
resilience estimation package",
journal = j-SOFTWAREX,
volume = "15",
number = "??",
pages = "??--??",
month = jul,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100738",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021000716",
acknowledgement = ack-nhfb,
articleno = "100738",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zerouali:2021:UJP,
author = "Ahmed Zerouali and Tom Mens and Coen {De Roover}",
title = "On the usage of {\em {JavaScript}}, {{\em Python}} and
{{\em Ruby}} packages in {Docker Hub} images",
journal = j-SCI-COMPUT-PROGRAM,
volume = "207",
number = "??",
pages = "??--??",
day = "1",
month = jul,
year = "2021",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102653",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed May 26 13:33:26 MDT 2021",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642321000460",
acknowledgement = ack-nhfb,
articleno = "102653",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Zolotov:2021:PFO,
author = "Oleg Zolotov and Yulia Romanovskaya and Maria
Knyazeva",
title = "\pkg{pyFIRI} --- a free and open source {Python}
software package of the non-auroral {Earth}'s lower
ionosphere",
journal = j-SOFTWAREX,
volume = "16",
number = "??",
pages = "??--??",
month = dec,
year = "2021",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100885",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Feb 10 10:19:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001461",
acknowledgement = ack-nhfb,
articleno = "100885",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Agostini:2022:BPS,
author = "Nicolas Bohm Agostini and Serena Curzel and Jeff Jun
Zhang and Ankur Limaye and Cheng Tan and Vinay Amatya
and Marco Minutoli and Vito Giovanni Castellana and
Joseph Manzano and David Brooks and Gu-Yeon Wei and
Antonino Tumeo",
title = "Bridging {Python} to Silicon: The {SODA} Toolchain",
journal = j-IEEE-MICRO,
volume = "42",
number = "5",
pages = "78--88",
month = sep # "\slash " # oct,
year = "2022",
CODEN = "IEMIDZ",
DOI = "https://doi.org/10.1109/MM.2022.3178580",
ISSN = "0272-1732 (print), 1937-4143 (electronic)",
ISSN-L = "0272-1732",
bibdate = "Thu Nov 03 05:37:10 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeemicro.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Micro",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=40",
}
@Article{Ahrari:2022:PPF,
author = "Ali Ahrari and Saber Elsayed and Ruhul Sarker and
Daryl Essam and Carlos A. Coello Coello",
title = "\pkg{PyDDRBG}: a {Python} framework for benchmarking
and evaluating static and dynamic multimodal
optimization methods",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100961",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001850",
acknowledgement = ack-nhfb,
articleno = "100961",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Akhilesh:2022:APT,
author = "Rohit Akhilesh and Oliver Bills and Naveen Chilamkurti
and Mohammad Jabed Morshed Chowdhury",
title = "Automated Penetration Testing Framework for
Smart-Home-Based {IoT} Devices",
journal = j-FUTURE-INTERNET,
volume = "14",
number = "10",
pages = "276",
day = "27",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi14100276",
ISSN = "1999-5903",
bibdate = "Wed Oct 26 11:06:06 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/14/10/276",
abstract = "Security testing is fundamental to identifying
security vulnerabilities on smart home-based IoT
devices. For this, penetration testing is the most
prominent and effective solution. However, testing the
IoT manually is cumbersome and time-consuming. In
addition, penetration testing requires a deep knowledge
of the possible attacks and the available hacking
tools. Therefore, this study emphasises building an
automated penetration testing framework to discover the
most common vulnerabilities in smart home-based IoT
devices. This research involves exploring (studying)
different IoT devices to select five devices for
testing. Then, the common vulnerabilities for the five
selected smart home-based IoT devices are examined, and
the corresponding penetration testing tools required
for the detection of these vulnerabilities are
identified. The top five vulnerabilities are identified
from the most common vulnerabilities, and accordingly,
the corresponding tools for these vulnerabilities are
discovered. These tools are combined using a script
which is then implemented into a framework written in
Python 3.6. The selected IoT devices are tested
individually for known vulnerabilities using the
proposed framework. For each vulnerability discovered
in the device, the Common Vulnerability Scoring System
(CVSS) Base score is calculated and the summation of
these scores is taken to calculate the total score (for
each device). In our experiment, we found that the
Tp-Link Smart Bulb and the Tp-Link Smart Camera had the
highest score and were the most vulnerable and the
Google Home Mini had the least score and was the most
secure device of all the devices. Finally, we conclude
that our framework does not require technical expertise
and thus can be used by common people. This will help
improve the field of IoT security and ensure the
security of smart homes to build a safe and secure
future.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Ascension:2022:BPM,
author = "Alex M. Ascensi{\'o}n and Marcos J. Ara{\'u}zo-Bravo",
title = "{BigMPI4py}: {Python} Module for Parallelization of
Big Data Objects Discloses Germ Layer Specific {DNA}
Demethylation Motifs",
journal = j-TCBB,
volume = "19",
number = "3",
pages = "1507--1522",
month = may,
year = "2022",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2020.3043979",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Wed Oct 18 13:00:56 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
URL = "https://dl.acm.org/doi/10.1109/TCBB.2020.3043979",
abstract = "Parallelization in Python integrates Message Passing
Interface via the mpi4py module. Since mpi4py does not
support parallelization of objects greater than $
2^{31} $ ytes, we developed BigMPI4py, a Python module
that wraps mpi4py, supporting object sizes beyond this
boundary. BigMPI4py automatically determines the
optimal object distribution strategy, and uses
vectorized methods, achieving higher parallelization
efficiency. BigMPI4py facilitates the implementation of
Python for Big Data applications in multicore
workstations and High Performance Computer systems. We
use BigMPI4py to speed-up the search for germ line
specific de novo DNA methylated/unmethylated motifs
from the 59 whole genome bisulfite sequencing DNA
methylation samples from 27 human tissues of the ENCODE
project. We developed a parallel implementation of the
Kruskall-Wallis test to find CpGs with differential
methylation across germ layers. The parallel evaluation
of the significance of 55 million CpG achieved a 22x
speedup with 25 cores allowing us an efficient
identification of a set of hypermethylated genes in
ectoderm and mesoderm-related tissues, and another set
in endoderm-related tissues and finally, the discovery
of germ layer specific DNA demethylation motifs. Our
results point out that DNA methylation signal provide a
higher degree of information for the demethylated state
than for the methylated state. BigMPI4py is available
at https://https://www.arauzolab.org/tools/bigmpi4py
and https://gitlab.com/alexmascension/bigmpi4py and the
Jupyter Notebook with WGBS analysis at
https://gitlab.com/alexmascension/wgbs-analysis",
acknowledgement = ack-nhfb,
ajournal = "IEEE/ACM Trans. Comput. Biol. Bioinform.",
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "https://dl.acm.org/loi/tcbb",
}
@Article{Baczkiewicz:2022:CPL,
author = "Aleksandra Baczkiewicz and Jaros{\l}aw Watr{\'o}bski",
title = "\pkg{Crispyn} --- a {Python} library for determining
criteria significance with objective weighting
methods",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101166",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001029",
acknowledgement = ack-nhfb,
articleno = "101166",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Badalyan:2022:AEC,
author = "David Badalyan and Oleg Borisenko",
title = "\pkg{Ansible} execution control in {Python} and
{Golang} for cloud orchestration",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101126",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/go.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000826",
acknowledgement = ack-nhfb,
articleno = "101126",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Badia:2022:PIT,
author = "Rosa M. Badia and Javier Conejero and Jorge Ejarque
and Daniele Lezzi and Francesc Lordan",
title = "{PyCOMPSs} as an Instrument for Translational Computer
Science",
journal = j-COMPUT-SCI-ENG,
volume = "24",
number = "2",
pages = "79--84",
month = mar # "\slash " # apr,
year = "2022",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2022.3152945",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Jun 11 10:46:09 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Bartos:2022:NMI,
author = "Erik Bartos",
title = "Numerical multidimensional integration with
{PyMikor}",
journal = j-COMP-PHYS-COMM,
volume = "270",
number = "??",
pages = "Article 108149",
month = jan,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108149",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521002617",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bay:2022:PSV,
author = "M{\'e}lanie M. Bay and Silvia Vignolini and Kevin
Vynck",
title = "{PyLlama}: a stable and versatile {Python} toolkit for
the electromagnetic modelling of multilayered
anisotropic media",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108256",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108256",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003684",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bendarag:2022:PPB,
author = "Abdesadik Bendarag and Jamal Bakkas and Mohamed Hanine
and Omar Boutkhoum",
title = "\pkg{PyOPAsolver}: a {Python} based tool for ordinal
priority approach operations and normalization",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101226",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001443",
acknowledgement = ack-nhfb,
articleno = "101226",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Bezzam:2022:PPL,
author = "Eric Bezzam and Sepand Kashani and Paul Hurley and
Martin Vetterli and Matthieu Simeoni",
title = "{pyFFS}: a {Python} Library for Fast {Fourier} Series
Computation and Interpolation with {GPU} Acceleration",
journal = j-SIAM-J-SCI-COMP,
volume = "44",
number = "4",
pages = "??--??",
month = "????",
year = "2022",
CODEN = "SJOCE3",
DOI = "https://doi.org/10.1137/21M1448641",
ISSN = "1064-8275 (print), 1095-7197 (electronic)",
ISSN-L = "1064-8275",
bibdate = "Thu Mar 23 07:38:25 MDT 2023",
bibsource = "http://epubs.siam.org/toc/sjoce3/44/4;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/siamjscicomput.bib",
URL = "https://epubs.siam.org/doi//doi/10.1137/21M1448641",
acknowledgement = ack-nhfb,
fjournal = "SIAM Journal on Scientific Computing",
journal-URL = "http://epubs.siam.org/sisc",
}
@Article{Bodker:2022:SPB,
author = "Mikkel S. B{\o}dker and Collin J. Wilkinson and John
C. Mauro and Morten M. Smedskjaer",
title = "{StatMechGlass}: {Python} based software for
composition-structure prediction in oxide glasses using
statistical mechanics",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100913",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001606",
acknowledgement = ack-nhfb,
articleno = "100913",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Bragagnolo:2022:SPL,
author = "Andrea Bragagnolo and Carlo Alberto Barbano",
title = "\pkg{Simplify}: a {Python} library for optimizing
pruned neural networks",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100907",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001576",
acknowledgement = ack-nhfb,
articleno = "100907",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Brimicombe:2022:TPT,
author = "Chloe Brimicombe and Claudia {Di Napoli} and Tiago
Quintino and Florian Pappenberger and Rosalind
Cornforth and Hannah L. Cloke",
title = "\pkg{Thermofeel}: a {Python} thermal comfort indices
library",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101005",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000176",
acknowledgement = ack-nhfb,
articleno = "101005",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Caprile:2022:PPP,
author = "Fernando Caprile and Luciano A. Masullo and Fernando
D. Stefani",
title = "\pkg{PyFocus} --- a {Python} package for vectorial
calculations of focused optical fields under realistic
conditions. {Application} to toroidal foci",
journal = j-COMP-PHYS-COMM,
volume = "275",
number = "??",
pages = "Article 108315",
month = jun,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108315",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Mar 23 14:12:02 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000339",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Carini:2022:CPO,
author = "Matheus Roman Carini and Marcelo Maia Rocha",
title = "\pkg{CESSIPy}: a {Python} open-source module for
stochastic system identification in civil engineering",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101091",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000632",
acknowledgement = ack-nhfb,
articleno = "101091",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Cejnek:2022:PPO,
author = "Matous Cejnek and Jan Vrba",
title = "\pkg{Padasip}: an open-source {Python} toolbox for
adaptive filtering",
journal = j-J-COMPUT-SCI,
volume = "65",
pages = "??--??",
month = nov,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2022.101887",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:56:31 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750322002460",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101887",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Chen:2022:HHI,
author = "Qiao Chen and Xiangmin Jiao",
title = "{HIFIR}: Hybrid Incomplete Factorization with
Iterative Refinement for Preconditioning
Ill-Conditioned and Singular Systems",
journal = j-TOMS,
volume = "48",
number = "3",
pages = "32:1--32:??",
month = sep,
year = "2022",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3536165",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Sat Oct 29 08:26:38 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3536165",
abstract = "We introduce a software package called Hybrid
Incomplete Factorization with Iterative Refinement
(HIFIR) for preconditioning sparse, unsymmetric,
ill-conditioned, and potentially singular systems.
HIFIR computes a hybrid incomplete factorization (HIF),
which combines multilevel incomplete LU factorization
with a truncated, rank-revealing QR (RRQR)
factorization on the final Schur complement. This novel
hybridization is based on the new theory of $ \epsilon
$-accurate approximate generalized inverse (AGI). It
enables near-optimal preconditioners for consistent
systems and enables flexible GMRES to solve
inconsistent systems when coupled with iterative
refinement. In this article, we focus on some practical
algorithmic and software issues of HIFIR. In
particular, we introduce a new inverse-based rook
pivoting (IBRP) into ILU, which improves the robustness
and the overall efficiency for some ill-conditioned
systems by significantly reducing the size of the final
Schur complement for some systems. We also describe the
software design of HIFIR in terms of its efficient data
structures for supporting rook pivoting in a multilevel
setting, its template-based generic programming
interfaces for mixed-precision real and complex values
in C++, and its user-friendly high-level interfaces in
MATLAB and Python. We demonstrate the effectiveness of
HIFIR for ill-conditioned or singular systems arising
from several applications, including the Helmholtz
equation, linear elasticity, stationary incompressible
Navier--Stokes (INS) equations, and time-dependent
advection-diffusion equation.",
acknowledgement = ack-nhfb,
articleno = "32",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Chen:2022:THP,
author = "Zhiwen Chen and Baorong Zhong",
title = "\pkg{TFInterpy}: a high-performance spatial
interpolation {Python} package",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101229",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001479",
acknowledgement = ack-nhfb,
articleno = "101229",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ching:2022:QLO,
author = "Eric J. Ching and Brett Bornhoft and Ali Lasemi and
Matthias Ihme",
title = "\pkg{Quail}: a lightweight open-source discontinuous
{Galerkin} code in {Python} for teaching and
prototyping",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.100982",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200005X",
acknowledgement = ack-nhfb,
articleno = "100982",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Chowdhury:2022:UTP,
author = "Md Atique Reza Chowdhury and Rabe Abdalkareem and Emad
Shihab and Bram Adams",
title = "On the Untriviality of Trivial Packages: an Empirical
Study of npm {JavaScript} Packages",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "48",
number = "8",
pages = "2695--2708",
month = aug,
year = "2022",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2021.3068901",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Sep 22 07:51:46 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "Node Package Manager (npm); Python Package Index
(PyPI)",
}
@Article{deDeusFilho:2022:PII,
author = "Jo{\~a}o Carlos Andrade {de Deus Filho} and Luiz
Carlos da Silva Nunes and Jos{\'e} Manuel Cardoso
Xavier",
title = "\pkg{iCorrVision-2D}: an integrated python-based
open-source {Digital Image Correlation} software for
in-plane measurements ({Part 1})",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101131",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000851",
acknowledgement = ack-nhfb,
articleno = "101131",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Dejanovic:2022:PLG,
author = "Igor Dejanovi{\'c}",
title = "\pkg{Parglare}: a {LR\slash GLR} parser for {Python}",
journal = j-SCI-COMPUT-PROGRAM,
volume = "214",
number = "??",
pages = "??--??",
day = "1",
month = feb,
year = "2022",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102734",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Tue Jan 25 06:43:24 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642321001271",
acknowledgement = ack-nhfb,
articleno = "102734",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Dirmeier:2022:SHM,
author = "Simon Dirmeier and Niko Beerenwinkel",
title = "Structured hierarchical models for probabilistic
inference from perturbation screening data",
journal = j-ANN-APPL-STAT,
volume = "16",
number = "3",
pages = "2010--2029",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1214/21-AOAS1580",
ISSN = "1932-6157 (print), 1941-7330 (electronic)",
ISSN-L = "1932-6157",
bibdate = "Wed Mar 22 10:32:41 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/annapplstat.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://projecteuclid.org/journals/annals-of-applied-statistics/volume-16/issue-3/Structured-hierarchical-models-for-probabilistic-inference-from-perturbation-screening-data/10.1214/21-AOAS1580.full",
acknowledgement = ack-nhfb,
ajournal = "Ann. Appl. Stat.",
fjournal = "Annals of Applied Statistics",
journal-URL = "http://projecteuclid.org/all/euclid.aoas/;
http://www.jstor.org/journals/19326157.html",
keywords = "biological network; genetic perturbation screen;
hierarchical models; interventional data; Markov random
fields; probabilistic models; PyMC3; Python",
}
@Article{Eckel:2022:PPP,
author = "Stephen Eckel and Daniel S. Barker and Eric B.
Norrgard and Julia Scherschligt",
title = "\pkg{PyLCP}: a {Python} package for computing laser
cooling physics",
journal = j-COMP-PHYS-COMM,
volume = "270",
number = "??",
pages = "Article 108166",
month = jan,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108166",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521002782",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Filho:2022:IIPa,
author = "Jo{\~a}o Filho and Luiz Nunes and Jos{\'e} Xavier",
title = "\pkg{iCorrVision-3D}: an integrated {Python}-based
open-source {Digital Image Correlation Software} for
in-plane and out-of-plane measurements ({Part 2})",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101132",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200084X",
acknowledgement = ack-nhfb,
articleno = "101132",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Filipovich:2022:POS,
author = "Matthew J. Filipovich and Stephen Hughes",
title = "\pkg{PyCharge}: an open-source {Python} package for
self-consistent electrodynamics simulations of
{Lorentz} oscillators and moving point charges",
journal = j-COMP-PHYS-COMM,
volume = "274",
number = "??",
pages = "Article 108291",
month = may,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108291",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Feb 25 08:42:12 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000091",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Forouli:2022:APP,
author = "Aikaterini Forouli and Anastasios Pagonis and
Alexandros Nikas and Konstantinos Koasidis and Georgios
Xexakis and Themistoklis Koutsellis and Christos
Petkidis and Haris Doukas",
title = "\pkg{AUGMECON-Py}: a {Python} framework for
multi-objective linear optimisation under uncertainty",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101220",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001388",
acknowledgement = ack-nhfb,
articleno = "101220",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Fraccaroli:2022:SDT,
author = "Michele Fraccaroli and Evelina Lamma and Fabrizio
Riguzzi",
title = "Symbolic {DNN-Tuner}: a {Python} and {ProbLog-based}
system for optimizing {Deep Neural Networks}
hyperparameters",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100957",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001825",
acknowledgement = ack-nhfb,
articleno = "100957",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Galassi:2022:PPP,
author = "Riccardo Malpica Galassi",
title = "{PyCSP}: a {Python} package for the analysis and
simplification of chemically reacting systems based on
{Computational Singular Perturbation}",
journal = j-COMP-PHYS-COMM,
volume = "276",
number = "??",
pages = "Article 108364",
month = jul,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108364",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed May 4 06:12:54 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000832",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Gharat:2022:DNE,
author = "Jatin Gharat and Bipin Kumar and Leena Ragha and Amit
Barve and Shaik Mohammad Jeelani and John Clyne",
title = "Development of {NCL} equivalent serial and parallel
{Python} routines for meteorological data analysis",
journal = j-IJHPCA,
volume = "36",
number = "3",
pages = "337--355",
day = "1",
month = may,
year = "2022",
CODEN = "IHPCFL",
DOI = "https://doi.org/10.1177/10943420221077110",
ISSN = "1094-3420 (print), 1741-2846 (electronic)",
ISSN-L = "1094-3420",
bibdate = "Thu May 30 07:31:45 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijsa.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://journals.sagepub.com/doi/abs/10.1177/10943420221077110",
acknowledgement = ack-nhfb,
ajournal = "Int. J. High Perform. Comput. Appl.",
fjournal = "International Journal of High Performance Computing
Applications",
journal-URL = "https://journals.sagepub.com/home/hpc",
ORCID-numbers = "https://orcid.org/0000-0001-7047-551X",
}
@Article{Giuffre:2022:NIP,
author = "Andrea Giuffre' and Matteo Pini",
title = "\pkg{NiceProp}: an interactive {Python}-based
educational tool for non-ideal compressible fluid
dynamics",
journal = j-SOFTWAREX,
volume = "17",
number = "??",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2021.100897",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Mon Feb 28 10:41:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711021001527",
acknowledgement = ack-nhfb,
articleno = "100897",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gorjao:2022:MEM,
author = "Leonardo Rydin Gorj{\~a}o and Galib Hassan and
J{\"u}rgen Kurths and Dirk Witthaut",
title = "{MFDFA}: Efficient multifractal detrended fluctuation
analysis in {Python}",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108254",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108254",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003660",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Hagh:2022:RRA,
author = "Varda F. Hagh and Mahdi Sadjadi",
title = "{rigidPy}: Rigidity analysis in {Python}",
journal = j-COMP-PHYS-COMM,
volume = "275",
number = "??",
pages = "Article 108306",
month = jun,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108306",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Mar 23 14:12:02 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000248",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Haidri:2022:PPP,
author = "Salman Haidri and Yaksh J. Haranwala and Vania Bogorny
and Chiara Renso and Vinicius Prado da Fonseca and
Amilcar Soares",
title = "\pkg{PTRAIL} --- a {Python} package for parallel
trajectory data preprocessing",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101176",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001066",
acknowledgement = ack-nhfb,
articleno = "101176",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hebert:2022:NPP,
author = "Rapha{\"e}l Hebert and Emese Megl{\'e}cz",
title = "\pkg{NSDPY}: a {Python} package to download {DNA}
sequences from {NCBI}",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101038",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200036X",
acknowledgement = ack-nhfb,
articleno = "101038",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Heinrich:2022:ERP,
author = "G. Heinrich and S. Jahn and S. P. Jones and M. Kerner
and F. Langer and V. Magerya and A. P{\~o}ldaru and J.
Schlenk and E. Villa",
title = "Expansion by regions with \pkg{pySecDec}",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108267",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108267",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003799",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Heldens:2022:LPP,
author = "Stijn Heldens and Alessio Sclocco and Henk Dreuning
and Ben van Werkhoven and Pieter Hijma and Jason
Maassen and Rob V. van Nieuwpoort",
title = "\pkg{litstudy}: a {Python} package for literature
reviews",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101207",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200125X",
acknowledgement = ack-nhfb,
articleno = "101207",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Higgott:2022:PPP,
author = "Oscar Higgott",
title = "{PyMatching}: a {Python} Package for Decoding Quantum
Codes with Minimum-Weight Perfect Matching",
journal = j-TQC,
volume = "3",
number = "3",
pages = "16:1--16:16",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3505637",
ISSN = "2643-6809 (print), 2643-6817 (electronic)",
ISSN-L = "2643-6809",
bibdate = "Tue Sep 20 09:37:25 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tqc.bib",
URL = "https://dl.acm.org/doi/10.1145/3505637",
abstract = "This article introduces PyMatching, a fast open-source
Python package for decoding quantum error-correcting
codes with the minimum-weight perfect matching (MWPM)
algorithm. PyMatching includes the standard MWPM
decoder as well as a variant, which we call \ldots{}",
acknowledgement = ack-nhfb,
articleno = "16",
fjournal = "ACM Transactions on Quantum Computing (TQC)",
journal-URL = "https://dl.acm.org/loi/tqc",
}
@Article{Horton:2022:BRF,
author = "Nicholas J. Horton",
title = "Book Review: {{\booktitle{Foundations of Statistics
for Data Scientists: With R and Python}} Alan Agresti,
and Maria Kateri, Boca Raton. FL: CRC Press, 2022, 446
pp., \$99.95 (textbook), ISBN 978-0-367-74845-6}",
journal = j-J-AM-STAT-ASSOC,
volume = "117",
number = "539",
pages = "1603--1604",
year = "2022",
CODEN = "JSTNAL",
DOI = "https://doi.org/10.1080/01621459.2022.2104726",
ISSN = "0162-1459 (print), 1537-274X (electronic)",
ISSN-L = "0162-1459",
bibdate = "Wed Mar 22 07:55:39 MDT 2023",
bibsource = "http://www.tandfonline.com/toc/uasa20/117/539;
https://www.math.utah.edu/pub/tex/bib/jamstatassoc2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
acknowledgement = ack-nhfb,
fjournal = "Journal of the American Statistical Association",
journal-URL = "http://www.tandfonline.com/loi/uasa20",
onlinedate = "29 Jul 2022",
}
@Article{Jeong:2022:WOO,
author = "Injun Jeong and Sunghyun Kang and Stefano Scopel and
Gaurav Tomar",
title = "{WimPyDD}: an object-oriented {Python} code for the
calculation of {WIMP} direct detection signals",
journal = j-COMP-PHYS-COMM,
volume = "276",
number = "??",
pages = "Article 108342",
month = jul,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108342",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed May 4 06:12:54 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000601",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Kailasa:2022:PED,
author = "Srinath Kailasa and Tingyu Wang and Lorena A. Barba
and Timo Betcke",
title = "{PyExaFMM}: an Exercise in Designing High-Performance
Software With {Python} and {Numba}",
journal = j-COMPUT-SCI-ENG,
volume = "24",
number = "5",
pages = "77--84",
month = sep # "\slash " # oct,
year = "2022",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2023.3258288",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Thu May 18 07:47:33 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Khan:2022:EST,
author = "Faizan Khan and Boqi Chen and Daniel Varro and Shane
McIntosh",
title = "An Empirical Study of Type-Related Defects in {Python}
Projects",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "48",
number = "8",
pages = "3145--3158",
month = aug,
year = "2022",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2021.3082068",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Sep 22 07:51:46 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@Article{Krasanakis:2022:PPP,
author = "Emmanouil Krasanakis and Symeon Papadopoulos and
Ioannis Kompatsiaris and Andreas L. Symeonidis",
title = "\pkg{pygrank}: a {Python} package for graph node
ranking",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101227",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001455",
acknowledgement = ack-nhfb,
articleno = "101227",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Kratzke:2022:CNO,
author = "Nane Kratzke",
title = "Cloud-Native Observability: The Many-Faceted Benefits
of Structured and Unified Logging---a Multi-Case
Study",
journal = j-FUTURE-INTERNET,
volume = "14",
number = "10",
pages = "274",
day = "26",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi14100274",
ISSN = "1999-5903",
bibdate = "Wed Oct 26 11:06:06 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/14/10/274",
abstract = "Background: Cloud-native software systems often have a
much more decentralized structure and many
independently deployable and (horizontally) scalable
components, making it more complicated to create a
shared and consolidated picture of the overall
decentralized system state. Today, observability is
often understood as a triad of collecting and
processing metrics, distributed tracing data, and
logging. The result is often a complex observability
system composed of three stovepipes whose data are
difficult to correlate. Objective: This study analyzes
whether these three historically emerged observability
stovepipes of logs, metrics and distributed traces
could be handled in a more integrated way and with a
more straightforward instrumentation approach. Method:
This study applied an action research methodology used
mainly in industry--academia collaboration and common
in software engineering. The research design utilized
iterative action research cycles, including one
long-term use case. Results: This study presents a
unified logging library for Python and a unified
logging architecture that uses the structured logging
approach. The evaluation shows that several thousand
events per minute are easily processable. Conclusions:
The results indicate that a unification of the current
observability triad is possible without the necessity
to develop utterly new toolchains.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Lazic:2022:BRB,
author = "Stanley E. Lazic",
title = "Book Review: {{\booktitle{{Bayesian} Modeling and
Computation in Python Learning}}}",
journal = j-J-R-STAT-SOC-SER-A-STAT-SOC,
volume = "185",
number = "S2",
pages = "S764--S765",
month = dec,
year = "2022",
CODEN = "JSSAEF",
DOI = "https://doi.org/10.1111/rssa.12852",
ISSN = "0964-1998 (print), 1467-985X (electronic)",
ISSN-L = "0964-1998",
bibdate = "Wed Oct 11 16:23:30 MDT 2023",
bibsource = "https://academic.oup.com/jrsssa/;
https://www.math.utah.edu/pub/tex/bib/jrss-a-2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://academic.oup.com/jrsssa/article/185/Supplement_2/S764/7069537",
acknowledgement = ack-nhfb,
fjournal = "Journal of the Royal Statistical Society. Series A
(Statistics in Society)",
journal-URL = "https://academic.oup.com/jrsssa/;
http://www.jstor.org/journals/09641998.html",
}
@Article{Lekinwala:2022:PPL,
author = "Nirav L. Lekinwala and Mani Bhushan",
title = "\pkg{pyGNMF}: a {Python} library for implementation of
generalised non-negative matrix factorisation method",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101257",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001753",
acknowledgement = ack-nhfb,
articleno = "101257",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lipovetsky:2022:BRH,
author = "Stan Lipovetsky",
title = "Book Review: {{\booktitle{Handbook of Regression
Modeling in People Analytics: With Examples in R and
Python}}, by Keith McNulty. CRC Press, Taylor \&
Francis Group, Boca Raton, FL, 2021, ISBN
978-1-032-04174-2, xvi + 255 pp., 48 color
illustrations, \$63.96 (hbk).}",
journal = j-TECHNOMETRICS,
volume = "64",
number = "1",
pages = "143--145",
year = "2022",
CODEN = "TCMTA2",
DOI = "https://doi.org/10.1080/00401706.2021.2021005",
ISSN = "0040-1706 (print), 1537-2723 (electronic)",
ISSN-L = "0040-1706",
bibdate = "Tue Feb 8 08:14:10 MST 2022",
bibsource = "http://www.tandf.co.uk/journals/titles/00401706.html;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib;
https://www.math.utah.edu/pub/tex/bib/technometrics2020.bib",
acknowledgement = ack-nhfb,
fjournal = "Technometrics",
journal-URL = "http://www.tandfonline.com/loi/utch20",
onlinedate = "31 Jan 2022",
}
@Article{Liu:2022:BRD,
author = "Shuangzhe Liu",
title = "Book Review: {{\booktitle{Data Visualization for
Social and Policy Research: a Step-by-Step Approach
Using R and Python}}. Jose Manuel Magallanes Reyes.
Cambridge University Press, 2022, 292 pages, \$105,
hardback. ISBN: 978-1-108-49433-5}",
journal = j-INT-STAT-REV,
volume = "90",
number = "3",
pages = "626--627",
month = dec,
year = "2022",
CODEN = "ISTRDP",
DOI = "https://doi.org/10.1111/insr.12531",
ISSN = "0306-7734 (print), 1751-5823 (electronic)",
ISSN-L = "0306-7734",
bibdate = "Wed Mar 22 06:05:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/intstatrev.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
acknowledgement = ack-nhfb,
ajournal = "Int. Stat. Rev.",
fjournal = "International Statistical Review",
journal-URL = "http://www.jstor.org/journals/03067734.html;
https://onlinelibrary.wiley.com/loi/17515823",
onlinedate = "19 October 2022",
}
@Article{Liu:2022:EUF,
author = "Shun Liu and Junjie Yang and Xianxian Zeng and Haiying
Song and Jian Cen and Weichao Xu",
title = "An efficient and user-friendly software tool for
ordered multi-class receiver operating characteristic
analysis based on {Python}",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101175",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001078",
acknowledgement = ack-nhfb,
articleno = "101175",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Magalhaes:2022:PPI,
author = "Tiago E. C. Magalh{\~a}es and Jos{\'e} M.
Rebord{\~a}o",
title = "\pkg{PyWolf}: a {PyOpenCL} implementation for
simulating the propagation of partially coherent
light",
journal = j-COMP-PHYS-COMM,
volume = "276",
number = "??",
pages = "Article 108336",
month = jul,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108336",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed May 4 06:12:54 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000546",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Malard:2022:EDP,
author = "Florian Malard and Laura Danner and Emilie Rouzies and
Jesse G. Meyer and Ewen Lescop and St{\'e}phanie
Olivier-Van Stichelen",
title = "\pkg{EpyNN}: {Educational Python for Neural
Networks}",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101140",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000905",
acknowledgement = ack-nhfb,
articleno = "101140",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Mamidi:2022:PAG,
author = "Nischay Ram Mamidi and Dhruv Saxena and Kumar Prasun
and Anil Nemili and Bharatkumar Sharma and S. M.
Deshpande",
editor = "{IEEE}",
booktitle = "{2022 IEEE 29th International Conference on High
Performance Computing, Data, and Analytics (HiPC)}",
title = "Performance analysis of {GPU} accelerated meshfree
{$q$-LSKUM} solvers in {Fortran}, {C}, {Python}, and
{Julia}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "156--165",
year = "2022",
DOI = "https://doi.org/10.1109/HiPC56025.2022.00031",
bibdate = "Mon Dec 18 08:06:55 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fortran3.bib;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Mandanici:2022:SPP,
author = "Andrea Mandanici and Giuseppe Mandaglio and Giovanni
Pirrotta and Valeria Conti Nibali and Giacomo Fiumara",
title = "Simple Physics With {Python}: a Workbook on
Introductory Physics With Open-Source Software",
journal = j-COMPUT-SCI-ENG,
volume = "24",
number = "2",
pages = "74--78",
month = mar # "\slash " # apr,
year = "2022",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2022.3160011",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Jun 11 10:46:09 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
}
@Article{Marcolini:2022:HPL,
author = "Alessia Marcolini and Nicole Bussola and Ernesto
Arbitrio and Mohamed Amgad and Giuseppe Jurman and
Cesare Furlanello",
title = "\pkg{histolab}: a {Python} library for reproducible
{Digital Pathology} preprocessing with automated
testing",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101237",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001558",
acknowledgement = ack-nhfb,
articleno = "101237",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Mariano:2022:ATI,
author = "Benjamin Mariano and Yanju Chen and Yu Feng and Greg
Durrett and Isil Dillig",
title = "Automated transpilation of imperative to functional
code using neural-guided program synthesis",
journal = j-PACMPL,
volume = "6",
number = "OOPSLA1",
pages = "71:1--71:27",
month = apr,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3527315",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Thu May 26 06:32:46 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3527315",
abstract = "While many mainstream languages such as Java, Python,
and C\# increasingly incorporate functional APIs to
simplify programming and improve
parallelization/performance, there are no effective
techniques that can be used to automatically translate
existing \ldots{}",
acknowledgement = ack-nhfb,
articleno = "71",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Marques:2022:ISF,
author = "Henrique Marques and Nuno Laranjeiro and Jorge
Bernardino",
title = "Injecting software faults in {Python} applications",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "27",
number = "1",
pages = "??--??",
month = jan,
year = "2022",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-021-10047-9",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Fri Feb 25 18:03:07 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-021-10047-9",
acknowledgement = ack-nhfb,
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Maulik:2022:PSD,
author = "Romit Maulik and Dimitrios K. Fytanidis and Bethany
Lusch and Venkatram Vishwanath and Saumil Patel",
title = "{PythonFOAM}: In-situ data analyses with {OpenFOAM}
and {Python}",
journal = j-J-COMPUT-SCI,
volume = "62",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2022.101750",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:56:13 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750322001387",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101750",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{McCann:2022:COS,
author = "Maile P. McCann and Dylan L. Anderson and Christopher
R. Sherwood and Brittany Bruder and A. Spicer Bak and
Katherine L. Brodie",
title = "\pkg{CoastalImageLib}: an open-source {Python} package
for creating common coastal image products",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101215",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001339",
acknowledgement = ack-nhfb,
articleno = "101215",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Melchert:2022:GPG,
author = "Oliver Melchert and Ayhan Demircan",
title = "\pkg{GNLStools.py}: a generalized nonlinear
{Schr{\"o}dinger} {Python} module implementing
different models of input pulse quantum noise",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101232",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001509",
acknowledgement = ack-nhfb,
articleno = "101232",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Melchert:2022:PFP,
author = "O. Melchert and A. Demircan",
title = "\pkg{py-fmas}: a {Python} package for ultrashort
optical pulse propagation in terms of forward models
for the analytic signal",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108257",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108257",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003696",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Meng:2022:PPL,
author = "Fanwang Meng and Michael Richer and Alireza Tehrani
and Jonathan La and Taewon David Kim and Paul W. Ayers
and Farnaz Heidar-Zadeh",
title = "\pkg{Procrustes}: a {Python} library to find
transformations that maximize the similarity between
matrices",
journal = j-COMP-PHYS-COMM,
volume = "276",
number = "??",
pages = "Article 108334",
month = jul,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108334",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed May 4 06:12:54 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522000522",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Morales:2022:PRO,
author = "F{\'e}lix Morales and Luis Bernal and Gustavo Pereira
and Sandra P{\'e}rez-Buitrago and Michael Kammer and D.
H. Stalder",
title = "{PytuTester}: {RaspberryPi} open-source ventilator
tester",
journal = j-HARDWAREX,
volume = "12",
pages = "??--??",
month = oct,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.ohx.2022.e00334",
ISSN = "2468-0672",
bibdate = "Mon Dec 4 14:15:04 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/hardwarex.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2468067222000797",
acknowledgement = ack-nhfb,
articleno = "e00334",
fjournal = "HardwareX",
}
@Article{Nabhani:2022:TOO,
author = "Abbas Nabhani and Hanne K. Sj{\o}lie",
title = "\pkg{TreeSim}: an object-oriented individual tree
simulator and {$3$D} visualization tool in {Python}",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101221",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200139X",
acknowledgement = ack-nhfb,
articleno = "101221",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Nguyen:2022:EPQ,
author = "Thien Nguyen and Alexander J. McCaskey",
title = "Extending {Python} for Quantum-classical Computing via
Quantum Just-in-time Compilation",
journal = j-TQC,
volume = "3",
number = "4",
pages = "24:1--24:25",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1145/3544496",
ISSN = "2643-6809 (print), 2643-6817 (electronic)",
ISSN-L = "2643-6809",
bibdate = "Tue Sep 20 09:37:26 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tqc.bib",
URL = "https://dl.acm.org/doi/10.1145/3544496",
abstract = "Python is a popular programming language known for its
flexibility, usability, readability, and focus on
developer productivity. The quantum software community
has adopted Python on a number of large-scale efforts
due to these characteristics, as well as \ldots{}",
acknowledgement = ack-nhfb,
articleno = "24",
fjournal = "ACM Transactions on Quantum Computing (TQC)",
journal-URL = "https://dl.acm.org/loi/tqc",
}
@Article{Nourisa:2022:COS,
author = "Jalil Nourisa and Berit Zeller-Plumhoff and Regine
Willumeit-R{\"o}mer",
title = "\pkg{CppyABM}: an open-source agent-based modeling
library to integrate {C++} and {Python}",
journal = j-SPE,
volume = "52",
number = "6",
pages = "1337--1351",
month = jun,
year = "2022",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3067",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Tue Feb 28 12:16:31 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "05 January 2022",
}
@Article{Park:2022:PPC,
author = "Jin Seok Park",
title = "\pkg{pyBaram}: {Parallel} compressible flow solver in
high-performance {Python} for teaching and research",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101272",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200190X",
acknowledgement = ack-nhfb,
articleno = "101272",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Pasca:2022:PPP,
author = "Dag Pasquale Pasca and Angelo Aloisio and Marco
Martino Rosso and Stefanos Sotiropoulos",
title = "\pkg{PyOMA} and \pkg{PyOMA\_GUI}: a {Python} module
and software for {Operational Modal Analysis}",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101216",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001340",
acknowledgement = ack-nhfb,
articleno = "101216",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Petukhova:2022:TPP,
author = "Alina Petukhova and Nuno Fachada",
title = "\pkg{TextCL}: a {Python} package for {NLP}
preprocessing tasks",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101122",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000802",
acknowledgement = ack-nhfb,
articleno = "101122",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Pflanzner:2022:LAB,
author = "Tamas Pflanzner and Hamza Baniata and Attila Kertesz",
title = "Latency Analysis of Blockchain-Based {SSI}
Applications",
journal = j-FUTURE-INTERNET,
volume = "14",
number = "10",
pages = "282",
day = "29",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi14100282",
ISSN = "1999-5903",
bibdate = "Wed Oct 26 11:06:06 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/14/10/282",
abstract = "Several revolutionary applications have been built on
the distributed ledgers of blockchain (BC) technology.
Besides cryptocurrencies, many other application fields
can be found in smart systems exploiting smart
contracts and Self Sovereign Identity (SSI) management.
The Hyperledger Indy platform is a suitable open-source
solution for realizing permissioned BC systems for SSI
projects. SSI applications usually require short
response times from the underlying BC network, which
may vary highly depending on the application type, the
used BC software, and the actual BC deployment
parameters. To support the developers and users of SSI
applications, we present a detailed latency analysis of
a permissioned BC system built with Indy and Aries. To
streamline our experiments, we developed a Python
application using containerized Indy and Aries
components from official Hyperledger repositories. We
deployed our experimental application on multiple
virtual machines in the public Google Cloud Platform
and on our local, private cloud using a Docker platform
with Kubernetes. We evaluated and compared their
performance benchmarked by Read and Write latencies. We
found that the local Indy ledger reads and writes
30--50\%, and 65--85\% faster than the Indy ledger
running on the Google Cloud Platform, respectively.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Pintor:2022:SSE,
author = "Maura Pintor and Luca Demetrio and Angelo Sotgiu and
Marco Melis and Ambra Demontis and Battista Biggio",
title = "\pkg{secml}: Secure and explainable machine learning
in {Python}",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101095",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000656",
acknowledgement = ack-nhfb,
articleno = "101095",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Pokuri:2022:APS,
author = "Balaji Sesha Sarath Pokuri and Alec Lofquist and Chad
Risko and Baskar Ganapathysubramanian",
title = "{Algorithm 1025}: {PARyOpt}: a Software for Parallel
Asynchronous Remote {Bayesian} Optimization",
journal = j-TOMS,
volume = "48",
number = "2",
pages = "24:1--24:15",
month = jun,
year = "2022",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3529517",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Wed Jul 20 07:04:17 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3529517",
abstract = "PARyOpt $^1$ is a Python based implementation of the
Bayesian optimization routine designed for remote and
asynchronous function evaluations. Bayesian
optimization is especially attractive for computational
optimization due to its low cost function footprint as
well as the ability to account for uncertainties in
data. A key challenge to efficiently deploy any
optimization strategy on distributed computing systems
is the synchronization step, where data from multiple
function calls is assimilated to identify the next
campaign of function calls. Bayesian optimization
provides an elegant approach to overcome this issue via
asynchronous updates. We formulate, develop and
implement a parallel, asynchronous variant of Bayesian
optimization. The framework is robust and resilient to
external failures. We show how such asynchronous
evaluations help reduce the total optimization wall
clock time for a suite of test problems. Additionally,
we show how the software design of the framework allows
easy extension to response surface reconstruction
(Kriging), providing a high performance software for
autonomous exploration. The software is available on
PyPI, with examples and documentation.",
acknowledgement = ack-nhfb,
articleno = "24",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Psarras:2022:LAM,
author = "Christos Psarras and Henrik Barthels and Paolo
Bientinesi",
title = "The Linear Algebra Mapping Problem. {Current} State of
Linear Algebra Languages and Libraries",
journal = j-TOMS,
volume = "48",
number = "3",
pages = "26:1--26:??",
month = sep,
year = "2022",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3549935",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Sat Oct 29 08:26:38 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3549935",
abstract = "We observe a disconnect between developers and
end-users of linear algebra libraries. On the one hand,
developers invest significant effort in creating
sophisticated numerical kernels. On the other hand,
end-users are progressively less likely to go through
the time consuming process of directly using said
kernels; instead, languages and libraries, which offer
a higher level of abstraction, are becoming
increasingly popular. These languages offer mechanisms
that internally map the input program to lower level
kernels. Unfortunately, our experience suggests that,
in terms of performance, this translation is typically
suboptimal.\par
In this paper, we define the problem of mapping a
linear algebra expression to a set of available
building blocks as the ``Linear Algebra Mapping
Problem'' (LAMP); we discuss its NP-complete nature,
and investigate how effectively a benchmark of test
problems is solved by popular high-level programming
languages and libraries. Specifically, we consider
Matlab, Octave, Julia, R, Armadillo (C++), Eigen (C++),
and NumPy (Python); the benchmark is meant to test both
compiler optimizations, as well as linear algebra
specific optimizations, such as the optimal
parenthesization of matrix products. The aim of this
study is to facilitate the development of languages and
libraries that support linear algebra computations.",
acknowledgement = ack-nhfb,
articleno = "26",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Ramirez:2022:PPP,
author = "Erick Ram{\'\i}rez and Sergio Hern{\'a}ndez-L{\'o}pez
and Enelio Torres-Garcia and Karla Reyes-Morales and
Jorge Balmaseda",
title = "\pkg{pICNIK}: a {Python} package with isoconversional
computations for non-isothermal kinetics",
journal = j-COMP-PHYS-COMM,
volume = "278",
number = "??",
pages = "Article 108416",
month = sep,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108416",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 10 06:24:15 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522001357",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Reinartz:2022:PPP,
author = "Christopher Reinartz and Thomas T. Enevoldsen",
title = "\pkg{pyTEP}: a {Python} package for interactive
simulations of the {Tennessee Eastman} process",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101053",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000449",
acknowledgement = ack-nhfb,
articleno = "101053",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Robertson:2022:RPP,
author = "Hayden Robertson and Isaac J. Gresham and Stuart W.
Prescott and Grant B. Webber and Erica J. Wanless and
Andrew Nelson",
title = "\pkg{refellips}: a {Python} package for the analysis
of variable angle spectroscopic ellipsometry data",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101225",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001431",
acknowledgement = ack-nhfb,
articleno = "101225",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Safa:2022:TPP,
author = "Ibrahim Safa and Jeffrey Lazar and Alex Pizzuto and
Oswaldo Vasquez and Carlos A. Arg{\"u}elles and Justin
Vandenbroucke",
title = "\pkg{TauRunner}: a public {Python} program to
propagate neutral and charged leptons",
journal = j-COMP-PHYS-COMM,
volume = "278",
number = "??",
pages = "Article 108422",
month = sep,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108422",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 10 06:24:15 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522001412",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Schoofs:2022:ATA,
author = "Ebert Schoofs and Mehrdad Abdi and Serge Demeyer",
title = "{AmPyfier}: {Test} amplification in {Python}",
journal = j-J-SOFTW-EVOL-PROC,
volume = "34",
number = "11",
pages = "e2490:1--e2490:??",
month = nov,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2490",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Wed Mar 15 07:34:35 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Softw. Evol. Proc.",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "24 July 2022",
}
@Article{Sharma:2022:UOS,
author = "Pankajeshwara Nand Sharma and Bastin Tony Roy
Savarimuthu and Nigel Stanger",
title = "Unearthing open source decision-making processes: a
case study of {Python} enhancement proposals",
journal = j-SPE,
volume = "52",
number = "10",
pages = "2312--2346",
month = oct,
year = "2022",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3128",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Tue Feb 28 12:16:34 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "12 August 2022",
}
@Article{Silvestri:2022:SFP,
author = "Luciano G. Silvestri and Lucas J. Stanek and Gautham
Dharuman and Yongjun Choi and Michael S. Murillo",
title = "\pkg{Sarkas}: a fast pure-{Python} molecular dynamics
suite for plasma physics",
journal = j-COMP-PHYS-COMM,
volume = "272",
number = "??",
pages = "Article 108245",
month = mar,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108245",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jan 21 15:44:23 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552100357X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Singh:2022:DMT,
author = "Navjot Singh and Zecheng Zhang and Xiaoxiao Wu and
Naijing Zhang and Siyuan Zhang and Edgar Solomonik",
title = "Distributed-memory tensor completion for generalized
loss functions in {Python} using new sparse tensor
kernels",
journal = j-J-PAR-DIST-COMP,
volume = "169",
number = "??",
pages = "269--285",
month = nov,
year = "2022",
CODEN = "JPDCER",
DOI = "https://doi.org/10.1016/j.jpdc.2022.07.005",
ISSN = "0743-7315 (print), 1096-0848 (electronic)",
ISSN-L = "0743-7315",
bibdate = "Mon Aug 29 12:03:19 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jpardistcomp2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0743731522001708",
acknowledgement = ack-nhfb,
fjournal = "Journal of Parallel and Distributed Computing",
journal-URL = "http://www.sciencedirect.com/science/journal/07437315",
}
@Article{Smith:2022:ICC,
author = "Matthew J. Smith and Mohammad A. Mansournia and
Camille Maringe and Paul N. Zivich and Stephen R. Cole
and Cl{\'e}mence Leyrat and Aur{\'e}lien Belot and
Bernard Rachet and Miguel A. Luque-Fernandez",
title = "Introduction to computational causal inference using
reproducible {Stata}, {R}, and {Python} code: a
tutorial",
journal = j-STAT-MED,
volume = "41",
number = "2",
pages = "407--432",
day = "30",
month = jan,
year = "2022",
CODEN = "SMEDDA",
DOI = "https://doi.org/10.1002/sim.9234",
ISSN = "0277-6715 (print), 1097-0258 (electronic)",
ISSN-L = "0277-6715",
bibdate = "Tue Feb 22 08:38:44 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib;
https://www.math.utah.edu/pub/tex/bib/statmed2020.bib",
acknowledgement = ack-nhfb,
ajournal = "Stat. Med.",
fjournal = "Statistics in Medicine",
journal-URL = "https://onlinelibrary.wiley.com/journal/10970258",
onlinedate = "28 October 2021",
}
@Article{Tawfik:2022:PPP,
author = "Sherif Abdulkader Tawfik and Salvy P. Russo",
title = "\pkg{PyPhotonics}: a {Python} package for the
evaluation of luminescence properties of defects",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108222",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108222",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003349",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Thorp:2022:PFE,
author = "Kelly R. Thorp",
title = "\pkg{pyfao56}: {FAO-56} evapotranspiration in
{Python}",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101208",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001261",
acknowledgement = ack-nhfb,
articleno = "101208",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Thurman:2022:YTA,
author = "Marnanel Thurman",
title = "\pkg{yex}: a {\TeX}-alike typesetter in {Python}",
journal = j-TUGboat,
volume = "43",
number = "2",
pages = "134--135",
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.47397/tb/43-2/tb134thurman-yex",
ISSN = "0896-3207",
ISSN-L = "0896-3207",
bibdate = "Fri Oct 7 13:47:30 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tugboat.bib",
URL = "https://tug.org/TUGboat/tb43-2/tb134thurman-yex.pdf",
acknowledgement = ack-nhfb,
fjournal = "TUGboat",
issue = "134",
journal-URL = "https://tug.org/TUGboat/",
remark = "Intermediate{\Dash}implementing TeX in the Python
environment, focusing on HTML output.",
}
@Article{Valiev:2022:CPP,
author = "Marat Valiev and Gennady N. Chuev and Marina V.
Fedotova",
title = "{CDFTPY}: a {Python} package for performing classical
density functional theory calculations for molecular
liquids",
journal = j-COMP-PHYS-COMM,
volume = "276",
number = "??",
pages = "Article 108338",
month = jul,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108338",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed May 4 06:12:54 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552200056X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Velikajne:2022:PRP,
author = "Nina Velikajne and Miha Mo{\v{s}}kon",
title = "\pkg{RhythmCount}: a {Python} package to analyse the
rhythmicity in count data",
journal = j-J-COMPUT-SCI,
volume = "63",
pages = "??--??",
month = sep,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2022.101758",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Tue Sep 19 13:56:18 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.sciencedirect.com/science/article/pii/S1877750322001429",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "101758",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Verma:2022:PBT,
author = "Ashok Kumar Verma",
title = "A {Python}-based tool for constructing observables
from the {DSN}'s closed-loop archival tracking data
files",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101190",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001145",
acknowledgement = ack-nhfb,
articleno = "101190",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Verschelde:2022:EAS,
author = "Jan Verschelde",
title = "Exporting {Ada} Software to {Python} and {Julia}",
journal = j-SIGADA-LETTERS,
volume = "42",
number = "1",
pages = "76--78",
month = jun,
year = "2022",
CODEN = "AALEE5",
DOI = "https://doi.org/10.1145/3577949.3577961",
ISSN = "1094-3641 (print), 1557-9476 (electronic)",
ISSN-L = "0736-721X",
bibdate = "Tue Apr 11 11:59:12 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/sigada.bib",
URL = "https://dl.acm.org/doi/10.1145/3577949.3577961",
abstract = "The objective is to demonstrate the making of Ada
software available to Python and Julia programmers
using GPRbuild. GPRbuild is the project manager of the
GNAT \ldots{}",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGADA Ada Letters",
journal-URL = "https://dl.acm.org/loi/sigada",
}
@Article{Wagner:2022:CAT,
author = "Felix Wagner and Daniel Bartolot and Damir Rizvanovic
and Florian Reindl and Jochen Schieck and Wolfgang
Waltenberger",
title = "{Cait}: Analysis Toolkit for Cryogenic Particle
Detectors in {Python}",
journal = j-COMPUT-SOFTW-BIG-SCI,
volume = "6",
number = "1",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1007/s41781-022-00092-4",
ISSN = "2510-2036 (print), 2510-2044 (electronic)",
ISSN-L = "2510-2036",
bibdate = "Tue Dec 20 07:52:26 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computsoftwbigsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s41781-022-00092-4",
acknowledgement = ack-nhfb,
ajournal = "Comput. Softw. Big Sci.",
articleno = "19",
fjournal = "Computing and Software for Big Science",
journal-URL = "https://www.springer.com/journal/41781",
}
@Article{Wagner:2022:FEL,
author = "Christoph W. Wagner and Sebastian Semper and Jan
Kirchhof",
title = "\pkg{fastmat}: {Efficient} linear transforms in
{Python}",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101013",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000218",
acknowledgement = ack-nhfb,
articleno = "101013",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Walker:2022:POP,
author = "S. D. Walker and A. Abramov and L. J. Nevay and W.
Shields and S. T. Boogert",
title = "\pkg{Pyg4ometry}: a {Python} library for the creation
of {Monte Carlo} radiation transport physical
geometries",
journal = j-COMP-PHYS-COMM,
volume = "272",
number = "??",
pages = "Article 108228",
month = mar,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108228",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jan 21 15:44:23 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003404",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Watrobski:2022:PMR,
author = "Jaros{\l}aw Watr{\'o}bski and Aleksandra Baczkiewicz
and Wojciech Sa{\l}abun",
title = "\pkg{pyrepo-mcda} --- Reference objects based {MCDA}
software package",
journal = j-SOFTWAREX,
volume = "19",
number = "??",
pages = "??--??",
month = jul,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101107",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:57 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000711",
acknowledgement = ack-nhfb,
articleno = "101107",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Welker:2022:CPF,
author = "Simon Welker and Muhamed Amin and Jochen K{\"u}pper",
title = "\pkg{CMInject}: {Python} framework for the numerical
simulation of nanoparticle injection pipelines",
journal = j-COMP-PHYS-COMM,
volume = "270",
number = "??",
pages = "Article 108138",
month = jan,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108138",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521002502",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Widyasari:2022:RWP,
author = "Ratnadira Widyasari and Gede Artha Azriadi Prana and
Stefanus Agus Haryono and Shaowei Wang and David Lo",
title = "Real world projects, real faults: evaluating spectrum
based fault localization techniques on {Python}
projects",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "27",
number = "6",
pages = "??--??",
month = nov,
year = "2022",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-022-10189-4",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Tue May 2 16:12:39 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-022-10189-4",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "147",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Wiecha:2022:PNF,
author = "Peter R. Wiecha and Cl{\'e}ment Majorel and Arnaud
Arbouet and Adelin Patoux and Yoann Br{\^u}l{\'e} and
G{\'e}rard Colas des Francs and Christian Girard",
title = "{``pyGDM''} --- new functionalities and major
improvements to the {Python} toolkit for nano-optics
full-field simulations",
journal = j-COMP-PHYS-COMM,
volume = "270",
number = "??",
pages = "Article 108142",
month = jan,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108142",
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/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552100254X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Wieckowski:2022:PPL,
author = "Jakub Wieckowski and Bart{\l}omiej Kizielewicz and
Wojciech Sa{\l}abun",
title = "\pkg{pyFDM}: a {Python} library for uncertainty
decision analysis methods",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101271",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001893",
acknowledgement = ack-nhfb,
articleno = "101271",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Wittreich:2022:PGA,
author = "Gerhard R. Wittreich and Dionisios G. Vlachos",
title = "{Python Group Additivity (\pkg{pGrAdd})} software for
estimating species thermochemical properties",
journal = j-COMP-PHYS-COMM,
volume = "273",
number = "??",
pages = "Article 108277",
month = apr,
year = "2022",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2021.108277",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Jan 25 06:27:42 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465521003891",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Yang:2022:MPF,
author = "Yilin Yang and Tianxing He and Baowen Xu",
title = "Mining {Python} fix patterns via analyzing
fine-grained source code changes",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "27",
number = "2",
pages = "??--??",
month = mar,
year = "2022",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-021-10087-1",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Fri Feb 25 18:03:08 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-021-10087-1",
acknowledgement = ack-nhfb,
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Zaman:2022:PPL,
author = "Mashiyat Zaman and Kotaro Tanahashi and Shu Tanaka",
title = "{PyQUBO}: {Python} Library for Mapping Combinatorial
Optimization Problems to {QUBO} Form",
journal = j-IEEE-TRANS-COMPUT,
volume = "71",
number = "4",
pages = "838--850",
month = apr,
year = "2022",
CODEN = "ITCOB4",
DOI = "https://doi.org/10.1109/TC.2021.3063618",
ISSN = "0018-9340 (print), 1557-9956 (electronic)",
ISSN-L = "0018-9340",
bibdate = "Thu Mar 17 06:38:17 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Computers",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}
@Article{Zhang:2022:PIP,
author = "Yinsheng Zhang and Haiyan Wang and Yongbo Cheng and
Xiaolin Qin",
title = "\pkg{pyCLAMs}: an integrated {Python} toolkit for
classifiability analysis",
journal = j-SOFTWAREX,
volume = "18",
number = "??",
pages = "??--??",
month = jun,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101007",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 2 09:45:22 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022000188",
acknowledgement = ack-nhfb,
articleno = "101007",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhang:2022:QIO,
author = "Qiang Zhang and Lei Xu and Xiangyu Zhang and Baowen
Xu",
title = "Quantifying the interpretation overhead of {Python}",
journal = j-SCI-COMPUT-PROGRAM,
volume = "215",
number = "??",
pages = "??--??",
day = "1",
month = mar,
year = "2022",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2021.102759",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Tue Jan 25 06:43:25 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642321001520",
acknowledgement = ack-nhfb,
articleno = "102759",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Zolotov:2022:VPF,
author = "Oleg Zolotov and Yulia Romanovskaya and Maria
Knyazeva",
title = "Version 2.0-\pkg{pyFIRI} --- a free and open source
{Python} software package of the non-auroral {Earth}'s
lower ionosphere",
journal = j-SOFTWAREX,
volume = "20",
number = "??",
pages = "??--??",
month = dec,
year = "2022",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101263",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Fri Dec 9 06:06:58 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001819",
acknowledgement = ack-nhfb,
articleno = "101263",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Aguado:2023:QPP,
author = "Daniel G{\'o}mez Aguado and Vicent Gimeno and Julio
Jos{\'e} Moyano-Fern{\'a}ndez and Juan Carlos
Garcia-Escartin",
title = "\pkg{QOptCraft}: a {Python} package for the design and
study of linear optical quantum systems",
journal = j-COMP-PHYS-COMM,
volume = "282",
number = "??",
pages = "Article 108511",
month = jan,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108511",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Oct 27 09:04:37 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002302",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Alfadel:2023:EAS,
author = "Mahmoud Alfadel and Diego Elias Costa and Emad
Shihab",
title = "Empirical analysis of security vulnerabilities in
{Python} packages",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "3",
pages = "??--??",
month = may,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-022-10278-4",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Wed May 17 06:39:05 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-022-10278-4",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "59",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Aman:2023:ADC,
author = "Hirohisa Aman and Sousuke Amasaki and Tomoyuki
Yokogawa and Minoru Kawahara",
title = "An automated detection of confusing variable pairs
with highly similar compound names in {Java} and
{Python} programs",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "5",
pages = "??--??",
month = sep,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-023-10339-2",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Thu Aug 10 15:49:42 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-023-10339-2",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "108",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Ariza:2023:RLF,
author = "Jonathan {\'A}lvarez Ariza and Christian Nomesqui
Galvis",
title = "{RaspyControl Lab}: a fully open-source and real-time
remote laboratory for education in automatic control
systems using {Raspberry Pi} and {Python}",
journal = j-HARDWAREX,
volume = "13",
pages = "??--??",
month = mar,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.ohx.2023.e00396",
ISSN = "2468-0672",
bibdate = "Mon Dec 4 14:15:06 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/hardwarex.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2468067223000032",
acknowledgement = ack-nhfb,
articleno = "e00396",
fjournal = "HardwareX",
}
@Article{Arjona:2023:TSE,
author = "Aitor Arjona and Gerard Finol and Pedro Garc{\'\i}a
L{\'o}pez",
title = "Transparent serverless execution of {Python}
multiprocessing applications",
journal = j-FUT-GEN-COMP-SYS,
volume = "140",
number = "??",
pages = "436--449",
month = mar,
year = "2023",
CODEN = "FGSEVI",
DOI = "https://doi.org/10.1016/j.future.2022.10.038",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Mon Dec 5 09:29:56 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167739X22003612",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Baczkiewicz:2023:VCP,
author = "Aleksandra Baczkiewicz and Jaros{\l}aw Watr{\'o}bski
and Wojciech Sa{\l}abun",
title = "Version [1.1] --- [\pkg{Crispyn} --- a {Python}
library for determining criteria significance with
objective weighting methods]",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101541",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002376",
acknowledgement = ack-nhfb,
articleno = "101541",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Bao:2023:PEN,
author = "Nana Bao and Xingting Yan and Shiwen Wei and Zihao
Wang",
title = "\pkg{Py-EFIT}: a new {Python} package for plasma
equilibrium reconstruction on {EAST} tokamak",
journal = j-COMP-PHYS-COMM,
volume = "282",
number = "??",
pages = "Article 108549",
month = jan,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108549",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Oct 27 09:04:37 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002685",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Bernardi:2023:TEP,
author = "Simona Bernardi and Ra{\'u}l Javierre and Jos{\'e}
Merseguer",
title = "\pkg{tegdet}: an extensible {Python} library for
anomaly detection using time evolving graphs",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101363",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000596",
acknowledgement = ack-nhfb,
articleno = "101363",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Blackmore:2023:DPP,
author = "Jacob A. Blackmore and Philip D. Gregory and Jeremy M.
Hutson and Simon L. Cornish",
title = "\pkg{Diatomic-py}: a {Python} module for calculating
the rotational and hyperfine structure of {$^1 \Sigma
$} molecules",
journal = j-COMP-PHYS-COMM,
volume = "282",
number = "??",
pages = "Article 108512",
month = jan,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108512",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Oct 27 09:04:37 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002314",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Boelens:2023:SST,
author = "Arnout M. P. Boelens",
title = "\pkg{Stplanpy}: a sustainable transportation planner
for {Python}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101339",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000353",
acknowledgement = ack-nhfb,
articleno = "101339",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Brekel:2023:VPF,
author = "Josh Brekel and Kelly R. Thorp and Kendall C. DeJonge
and Thomas J. Trout",
title = "Version 1.1.0-\pkg{pyfao56}: {FAO-56}
evapotranspiration in {Python}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101336",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000328",
acknowledgement = ack-nhfb,
articleno = "101336",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Briegel:2023:PPP,
author = "Karl D. Briegel and Felix Riccius and Jakob Filser and
Alexander Bourgund and Robert Spitzenpfeil and Mirco
Panighel and Carlo Dri and Barbara A. J. Lechner and
Friedrich Esch",
title = "\pkg{PyfastSPM}: a {Python} package to convert {$1$D}
{FastSPM} data streams into publication quality
movies",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101269",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200187X",
acknowledgement = ack-nhfb,
articleno = "101269",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Brun:2023:BPJ,
author = "Yuriy Brun and Tian Lin and Jessie Elise Somerville
and Elisha M. Myers and Natalie Ebner",
title = "Blindspots in {Python} and {Java} {APIs} Result in
Vulnerable Code",
journal = j-TOSEM,
volume = "32",
number = "3",
pages = "76:1--76:??",
month = jul,
year = "2023",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3571850",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Fri Jun 9 06:39:39 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3571850",
abstract = "Blindspots in APIs can cause software engineers to
introduce vulnerabilities, but such blindspots are,
unfortunately, common. We study the effect APIs with
blindspots have on developers in two languages by
replicating a 109-developer, 24-Java-API \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Softw. Eng. Methodol.",
articleno = "76",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Caliskan:2023:STC,
author = "Murat {\c{C}}aliskan and Berk Anbaroglu",
title = "{Space Time Cube} analytics in {QGIS} and {Python} for
hot spot detection",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101498",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001942",
acknowledgement = ack-nhfb,
articleno = "101498",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Camino:2023:CPI,
author = "Bruno Camino and Huanyu Zhou and Eleonora Ascrizzi and
Alberto Boccuni and Filippo Bodo and Alessandro Cossard
and Davide Mitoli and Anna Maria Ferrari and Alessandro
Erba and Nicholas M. Harrison",
title = "\pkg{CRYSTALpytools}: a {Python} infrastructure for
the \pkg{Crystal} code",
journal = j-COMP-PHYS-COMM,
volume = "292",
number = "??",
pages = "Article 108853",
month = nov,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108853",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Sep 11 09:09:56 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523001984",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Cao:2023:TBD,
author = "Yulu Cao and Lin Chen and Wanwangying Ma and Yanhui Li
and Yuming Zhou and Linzhang Wang",
title = "Towards Better Dependency Management: a First Look at
Dependency Smells in {Python} Projects",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "49",
number = "4",
pages = "1741--1765",
month = apr,
year = "2023",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2022.3191353",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Fri Apr 21 11:17:27 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@Article{Caponi:2023:BPP,
author = "Francesco Caponi and David F. Vetsch and Davide
Vanzo",
title = "\pkg{BASEveg}: a {Python} package to model riparian
vegetation dynamics coupled with river morphodynamics",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101361",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000572",
acknowledgement = ack-nhfb,
articleno = "101361",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Caron:2023:PPM,
author = "Eddy Caron and Jean-Fran{\c{c}}ois Witz and Christophe
Cuvier and Arnaud Beaurain and Vincent Magnier and
Ahmed {El Bartali}",
title = "\pkg{PYCASO}: {Python} module for calibration of
cameras by {Soloff's} method",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101440",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102300136X",
acknowledgement = ack-nhfb,
articleno = "101440",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Cass:2023:HPS,
author = "Stephen Cass and Harry Goldstein",
title = "How {Python} Swallowed the World: Lessons from
Compiling Top Programming Languages",
journal = j-IEEE-SPECTRUM,
volume = "60",
number = "9",
pages = "2--2",
month = sep,
year = "2023",
CODEN = "IEESAM",
DOI = "https://doi.org/10.1109/MSPEC.2023.10234196",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Thu Sep 14 06:53:25 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Spectrum",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
}
@Article{Castillo-Felisola:2023:CPA,
author = "Oscar Castillo-Felisola and Dominic T. Price and
Mattia Scomparin",
title = "{Cadabra} and {Python} algorithms in general
relativity and cosmology {II}: Gravitational waves",
journal = j-COMP-PHYS-COMM,
volume = "289",
number = "??",
pages = "Article 108748",
month = aug,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108748",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri May 19 06:19:24 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523000930",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Chatelain:2023:PAP,
author = "Yohan Chatelain and Nigel Yong Sao Young and Gregory
Kiar and Tristan Glatard",
title = "{PyTracer}: Automatically Profiling Numerical
Instabilities in {Python}",
journal = j-IEEE-TRANS-COMPUT,
volume = "72",
number = "6",
pages = "1792--1803",
month = jun,
year = "2023",
CODEN = "ITCOB4",
DOI = "https://doi.org/10.1109/TC.2022.3224377",
ISSN = "0018-9340 (print), 1557-9956 (electronic)",
ISSN-L = "0018-9340",
bibdate = "Wed May 17 10:34:15 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranscomput2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Comput.",
fjournal = "IEEE Transactions on Computers",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=12",
}
@Article{Chaudhary:2023:PPP,
author = "Gaurav Chaudhary and Hicham Johra and Laurent Georges
and Bj{\o}rn Austb{\o}",
title = "\pkg{pymodconn}: a {Python} package for developing
modular sequence-to-sequence control-oriented deep
neural networks",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101599",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002959",
acknowledgement = ack-nhfb,
articleno = "101599",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Chen:2023:PBC,
author = "Jie Chen and Tao Jiang and Dongjin Yu and Haiyang Hu",
title = "Pattern-based circular reference detection in
{Python}",
journal = j-SCI-COMPUT-PROGRAM,
volume = "227",
number = "??",
pages = "??--??",
month = apr,
year = "2023",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2023.102932",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Wed Apr 5 08:58:27 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S016764232300014X",
acknowledgement = ack-nhfb,
articleno = "102932",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Chen:2023:RPO,
author = "Zhi Chen and Peng Xiong",
title = "{RSOME} in {Python}: An Open-Source Package for Robust
Stochastic Optimization Made Easy",
journal = j-INFORMS-J-COMPUT,
volume = "35",
number = "4",
pages = "717--724",
month = jul # "\slash " # aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1287/ijoc.2023.1291",
ISSN = "1091-9856 (print), 1526-5528 (electronic)",
ISSN-L = "1091-9856",
bibdate = "Thu Aug 3 06:01:03 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pubsonline.informs.org/doi/full/10.1287/ijoc.2023.1291",
acknowledgement = ack-nhfb,
ajournal = "INFORMS J. Comput.",
fjournal = "INFORMS Journal on Computing",
journal-URL = "https://pubsonline.informs.org/journal/ijoc",
onlinedate = "30 March 2023",
}
@Article{Czmil:2023:GPI,
author = "Anna Czmil and Jacek Kluska and Sylwester Czmil",
title = "\pkg{GPR}: a {Python} implementation of an extremely
simple classifier based on fuzzy logic and gene
expression programming",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101362",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000584",
acknowledgement = ack-nhfb,
articleno = "101362",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Dang:2023:LGP,
author = "Khanh Dang and Jie Chen and Brian Rodgers and Saryu
Fensin",
title = "\pkg{LAVA 1.0}: a general-purpose {Python} toolkit for
calculation of material properties with \pkg{LAMMPS}
and \pkg{VASP}",
journal = j-COMP-PHYS-COMM,
volume = "286",
number = "??",
pages = "Article 108667",
month = may,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108667",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 25 06:01:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523000127",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Daole:2023:OXF,
author = "Mattia Daole and Alessio Schiavo and Jos{\'e} Luis
Corcuera B{\'a}rcena and Pietro Ducange and Francesco
Marcelloni and Alessandro Renda",
title = "\pkg{OpenFL-XAI}: {Federated} learning of explainable
artificial intelligence models in {Python}",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101505",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002017",
acknowledgement = ack-nhfb,
articleno = "101505",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{dePuiseau:2023:SPF,
author = "Constantin Waubert de Puiseau and Jannik Peters and
Christian D{\"o}rpelkus and Hasan Tercan and Tobias
Meisen",
title = "\pkg{schlably}: a {Python} framework for deep
reinforcement learning based scheduling experiments",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101383",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000791",
acknowledgement = ack-nhfb,
articleno = "101383",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{DiDomenico:2023:NPB,
author = "Daniel {Di Domenico} and Jo{\~a}o V. F. Lima and
Gerson G. H. Cavalheiro",
title = "{NAS Parallel Benchmarks with Python}: a performance
and programming effort analysis focusing on {GPUs}",
journal = j-J-SUPERCOMPUTING,
volume = "79",
number = "8",
pages = "8890--8911",
month = may,
year = "2023",
CODEN = "JOSUED",
DOI = "https://doi.org/10.1007/s11227-022-04932-3",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Thu Apr 6 06:16:05 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s11227-022-04932-3",
acknowledgement = ack-nhfb,
ajournal = "J. Supercomputing",
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
}
@Article{Dorado-Rojas:2023:MMP,
author = "Sergio A. Dorado-Rojas and Fernando Fachini and
Tetiana Bogodorova and Giuseppe Laera and Marcelo de
Castro Fernandes and Luigi Vanfretti",
title = "\pkg{{ModelicaGridData}}: {Massive} power system
simulation data generation and labeling tool using
{Modelica} and {Python}",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101258",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001765",
acknowledgement = ack-nhfb,
articleno = "101258",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Elia:2023:PPL,
author = "Donatello Elia and Cosimo Palazzo and Sandro Fiore and
Alessandro D'Anca and Andrea Mariello and Giovanni
Aloisio",
title = "\pkg{PyOphidia}: a {Python} library for High
Performance Data Analytics at scale",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101538",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002340",
acknowledgement = ack-nhfb,
articleno = "101538",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Elsner:2023:TPP,
author = "Jean Elsner",
title = "Taming the {Panda} with {Python}: a powerful duo for
seamless robotics programming and integration",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101532",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002285",
acknowledgement = ack-nhfb,
articleno = "101532",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Escudero-Arnanz:2023:DPP,
author = "{\'O}scar Escudero-Arnanz and Antonio G. Marques and
Cristina Soguero-Ruiz and Inmaculada Mora-Jim{\'e}nez
and Gregorio Robles",
title = "\pkg{dtwParallel}: a {Python} package to efficiently
compute dynamic time warping between time series",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101364",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000602",
acknowledgement = ack-nhfb,
articleno = "101364",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ethier:2023:PGA,
author = "Jeffrey G. Ethier and Andr{\'e}s C{\'o}rdoba and Jay
D. Schieber",
title = "\pkg{pyDSM}: {GPU}-accelerated rheology predictions
for entangled polymers in {Python}",
journal = j-COMP-PHYS-COMM,
volume = "290",
number = "??",
pages = "Article 108786",
month = sep,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108786",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Jun 9 07:27:07 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523001315",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Ferreira-Saraiva:2023:PPP,
author = "Bruno D. Ferreira-Saraiva and Jo{\~a}o P.
Matos-Carvalho and Nuno Fachada and Manuel Pita",
title = "\pkg{ParShift}: a {Python} package to study order and
differentiation in group conversations",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101554",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002509",
acknowledgement = ack-nhfb,
articleno = "101554",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Funk:2023:CLC,
author = "Dan Funk",
title = "Creating a Low-Code Business Process Execution
Platform With {Python}, {BPMN}, and {DMN}",
journal = j-IEEE-SOFTWARE,
volume = "40",
number = "1",
pages = "9--17",
month = jan # "\slash " # feb,
year = "2023",
CODEN = "IESOEG",
DOI = "https://doi.org/10.1109/MS.2022.3212033",
ISSN = "0740-7459 (print), 1937-4194 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Tue May 2 07:37:09 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesoft2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Software",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
}
@Book{Gezerlis:2023:NMP,
author = "Alex Gezerlis",
title = "Numerical Methods in Physics with {Python}",
publisher = pub-CAMBRIDGE,
address = pub-CAMBRIDGE:adr,
edition = "Second",
pages = "700",
year = "2023",
ISBN = "1-009-30385-6 (hardcover), 1-009-30386-4 (paperback)",
ISBN-13 = "978-1-009-30385-9 (hardcover), 978-1-009-30386-6
(paperback)",
LCCN = "QC20.7.N86 G49 2023",
bibdate = "Tue Aug 1 06:54:48 MDT 2023",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/python.bib",
abstract = "Bringing together idiomatic Python programming,
foundational numerical methods, and physics
applications, this is an ideal standalone textbook for
courses on computational physics. All the frequently
used numerical methods in physics are explained,
including foundational techniques and hidden gems on
topics such as linear algebra, differential equations,
root-finding, interpolation, and integration. The
second edition of this introductory book features
several new codes and 140 new problems (many on physics
applications), as well as new sections on the
singular-value decomposition, derivative-free
optimization, Bayesian linear regression, neural
networks, and partial differential equations. The last
section in each chapter is an in-depth project,
tackling physics problems that cannot be solved without
the use of a computer. Written primarily for students
studying computational physics, this textbook brings
the non-specialist quickly up to speed with Python
before looking in detail at the numerical methods often
used in the subject.",
acknowledgement = ack-nhfb,
subject = "Mathematical physics; Data processing; Numerical
analysis; Python (Computer program language); Data
processing.; Python (Computer program language)",
tableofcontents = "Preface \\
1. Idiomatic Python \\
2. Numbers \\
3. Derivatives \\
4. Matrices \\
5. Zeroes and minima \\
6. Approximation \\
7. Integrals \\
8. Differential equations \\
Appendix A. Installation and setup \\
Appendix B. Number representations \\
Appendix C. Math background \\
Bibliography \\
Index",
}
@Article{Gharari:2023:EPP,
author = "Shervan Gharari and Kasra Keshavarz and Wouter J. M.
Knoben and Gouqiang Tang and Martyn P. Clark",
title = "\pkg{EASYMORE}: a {Python} package to streamline the
remapping of variables for {Earth System} models",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101547",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002431",
acknowledgement = ack-nhfb,
articleno = "101547",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@InProceedings{Godoy:2023:EPP,
author = "William F. Godoy and Pedro Valero-Lara and T. Elise
Dettling and Christian Trefftz and Ian Jorquera and
Thomas Sheehy and Ross G. Miller and Marc
Gonzalez-Tallada and Jeffrey S. Vetter and Valentin
Churavy",
editor = "{IEEE}",
booktitle = "{2023 IEEE International Parallel and Distributed
Processing Symposium Workshops (IPDPSW)}",
title = "Evaluating performance and portability of high-level
programming models: {Julia}, {Python\slash Numba}, and
{Kokkos} on exascale nodes",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "373--382",
year = "2023",
DOI = "https://doi.org/10.1109/IPDPSW59300.2023.00068",
bibdate = "Mon Dec 18 08:06:55 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Article{Goldstein:2023:RRG,
author = "Harrison Goldstein and Samantha Frohlich and Meng Wang
and Benjamin C. Pierce",
title = "Reflecting on Random Generation",
journal = j-PACMPL,
volume = "7",
number = "ICFP",
pages = "200:1--200:??",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3607842",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3607842",
abstract = "Expert users of property-based testing often labor to
craft random generators that encode detailed knowledge
about what it means for a test input to be valid and
interesting. Fortunately, the fruits of this labor can
also be put to other uses. In the bidirectional
programming literature, for example, generators have
been repurposed as validity checkers, while Python's
Hypothesis library uses the same structures for
shrinking and mutating test inputs.\par
To unify and generalize these uses and many others, we
propose reflective generators, a new foundation for
random data generators that can ``reflect'' on an input
value to calculate the random choices that could have
been made to produce it. Reflective generators combine
ideas from two existing abstractions: free generators
and partial monadic profunctors. They can be used to
implement and enhance the aforementioned shrinking and
mutation algorithms, generalizing them to work for any
values that can be produced by the generator, not just
ones for which a trace of the generator's execution is
available. Beyond shrinking and mutation, reflective
generators generalize a published algorithm for
example-based generation, and they can also be used as
checkers, partial value completers, and other kinds of
test data producers.",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "200",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Gomes:2023:PPT,
author = "Eduardo Gomes and Lucas Pereira and Augusto Esteves
and Hugo Morais",
title = "\pkg{PyECOM}: a {Python} tool for analyzing and
simulating {Energy Communities}",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101580",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002765",
acknowledgement = ack-nhfb,
articleno = "101580",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gonzalez-Cely:2023:RPB,
author = "Aura Ximena Gonzalez-Cely and Cristian Felipe
Blanco-Diaz and Camilo A. R. Diaz and Teodiano Freire
Bastos-Filho",
title = "\pkg{Roborueda}: {Python}-based {GUI} to control a
wheelchair and monitor user posture",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101555",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002510",
acknowledgement = ack-nhfb,
articleno = "101555",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Goona:2023:DOS,
author = "Nithin Kumar Goona and Shraddha M. Naik and Saidi
Reddy Parne and Anand Paul",
title = "\pkg{DssPyLib}: an open-source {Python} {FEM} software
to solve {Poisson} equation in {2-D} using distributed
source scheme",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101308",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000043",
acknowledgement = ack-nhfb,
articleno = "101308",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Guo:2023:OPP,
author = "Junjun Guo and Aijun Ye and Xiaowei Wang and Zhongguo
Guan",
title = "\pkg{{OpenSeesPyView}}: {Python} programming-based
visualization and post-processing tool for
{OpenSeesPy}",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101278",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001960",
acknowledgement = ack-nhfb,
articleno = "101278",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hacihabiboglu:2023:SPP,
author = "H{\"u}seyin Hacihabiboglu",
title = "\pkg{sphstat}: a {Python} package for inferential
statistics on vectorial data on the unit sphere",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101514",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002108",
acknowledgement = ack-nhfb,
articleno = "101514",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Hahn:2023:BRB,
author = "P. Richard Hahn",
title = "Book Review: {{\booktitle{{Bayesian} Modeling and
Computation in Python}}}",
journal = j-AMER-STAT,
volume = "77",
number = "4",
pages = "450--451",
year = "2023",
CODEN = "ASTAAJ",
DOI = "https://doi.org/10.1080/00031305.2023.2261818",
ISSN = "0003-1305 (print), 1537-2731 (electronic)",
ISSN-L = "0003-1305",
bibdate = "Wed Aug 14 09:33:35 MDT 2024",
bibsource = "http://www.tandfonline.com/toc/utas20/77/4;
https://www.math.utah.edu/pub/tex/bib/amstat2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.tandfonline.com/doi/full/10.1080/00031305.2023.2261818",
acknowledgement = ack-nhfb,
fjournal = "The American Statistician",
journal-URL = "http://amstat.tandfonline.com/loi/utas20",
}
@Article{Hanasaki:2023:IRT,
author = "Kota Hanasaki and Zulfikhar A. Ali and Min Choi and
Mauro {Del Ben} and Bryan M. Wong",
title = "Implementation of real-time {TDDFT} for periodic
systems in the open-source \pkg{PySCF} software
package",
journal = j-J-COMPUT-CHEM,
volume = "44",
number = "9",
pages = "980--987",
day = "5",
month = apr,
year = "2023",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.27058",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Aug 25 09:22:21 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "23 December 2022",
}
@Article{Hernandez-Olivan:2023:MPL,
author = "Carlos Hernandez-Olivan and Jose R. Beltran",
title = "\pkg{Musicaiz}: a {Python} library for symbolic music
generation, analysis and visualization",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101365",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000614",
acknowledgement = ack-nhfb,
articleno = "101365",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Himpe:2023:EEG,
author = "Christian Himpe",
title = "\pkg{emgr} --- {EMpirical GRamian} Framework Version
5.99",
journal = j-TOMS,
volume = "49",
number = "3",
pages = "31:1--31:??",
month = sep,
year = "2023",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3609860",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Fri Sep 29 08:05:09 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3609860",
abstract = "Version 5.99 of the empirical Gramian framework ---
emgr --- completes a development cycle which focused on
parametric model order reduction of gas network models
while preserving compatibility to the previous
development for the application of combined state and
parameter reduction for neuroscience network models.
Second, new features concerning empirical Gramian
types, perturbation design, and trajectory
post-processing, as well as a Python version in
addition to the default MATLAB / Octave implementation,
have been added. This work summarizes these changes,
particularly since emgr version 5.4, see Himpe, 2018
[Algorithms 11(7): 91], and gives recent as well as
future applications, such as parameter identification
in systems biology, based on the current feature set.",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Math. Softw.",
articleno = "31",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Horn:2023:PTD,
author = "Logan Bishop-Van Horn",
title = "{pyTDGL}: Time-dependent {Ginzburg--Landau} in
{Python}",
journal = j-COMP-PHYS-COMM,
volume = "291",
number = "??",
pages = "Article 108799",
month = oct,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108799",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Aug 10 07:51:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523001443",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Hu:2023:ESP,
author = "Mingzhe Hu and Yu Zhang",
title = "An empirical study of the {Python\slash C API} on
evolution and bug patterns",
journal = j-J-SOFTW-EVOL-PROC,
volume = "35",
number = "2",
pages = "e2507:1--e2507:??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2507",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Wed Mar 15 07:34:36 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Softw. Evol. Proc.",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "06 September 2022",
}
@Article{Hussain:2023:PPP,
author = "Md. Manjurul Hussain and Ishtiak Mahmud and Sheikh
Hefzul Bari",
title = "\pkg{pyHomogeneity}: a {Python} Package for
Homogeneity Test of Time Series Data",
journal = j-J-OPEN-RES-SOFT,
volume = "11",
number = "1",
pages = "??--??",
month = "????",
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.427",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Tue Jun 13 08:02:36 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.427",
acknowledgement = ack-nhfb,
articleno = "4",
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
onlinedate = "14 Feb 2023",
}
@Article{Ito:2023:SPF,
author = "Yuma Ito and Masanori Hirose and Makio Tokunaga",
title = "\pkg{Slitflow}: a {Python} framework for
single-molecule dynamics and localization analysis",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101462",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001589",
acknowledgement = ack-nhfb,
articleno = "101462",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Jalowiecki:2023:PPL,
author = "Konrad Ja{\l}owiecki and Paulina Lewandowska and
Lukasz Pawela",
title = "\pkg{PyQBench}: a {Python} library for benchmarking
gate-based quantum computers",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101558",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002546",
acknowledgement = ack-nhfb,
articleno = "101558",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Jin:2023:PEP,
author = "Gan Jin and Hongsheng Pang and Yuyang Ji and Zujian
Dai and Lixin He",
title = "{PYATB}: an efficient {Python} package for electronic
structure calculations using ab initio tight-binding
model",
journal = j-COMP-PHYS-COMM,
volume = "291",
number = "??",
pages = "Article 108844",
month = oct,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108844",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Aug 10 07:51:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523001893",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Joswig:2023:PPF,
author = "Fabian Joswig and Simon Kuberski and Justus T.
Kuhlmann and Jan Neuendorf",
title = "\pkg{pyerrors}: a {Python} framework for error
analysis of {Monte Carlo} data",
journal = j-COMP-PHYS-COMM,
volume = "288",
number = "??",
pages = "Article 108750",
month = jul,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108750",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon May 8 10:42:24 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523000954",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Karakoc:2023:BPC,
author = "Mesut Karako{\c{c}}",
title = "\pkg{BiFold}: a {Python} code for the calculation of
double-folded (bifold) potentials with density-in\slash
dependent nucleon--nucleon interactions",
journal = j-COMP-PHYS-COMM,
volume = "284",
number = "??",
pages = "Article 108613",
month = mar,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108613",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 25 06:01:54 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522003320",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Kaufmann:2023:APP,
author = "Josef Kaufmann and Karsten Held",
title = "\pkg{ana\_cont}: {Python} package for analytic
continuation",
journal = j-COMP-PHYS-COMM,
volume = "282",
number = "??",
pages = "Article 108519",
month = jan,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108519",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Oct 27 09:04:37 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002387",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Khatami:2023:CCP,
author = "Siamak Khatami and Christopher Frantz",
title = "\pkg{Copatrec}: a correlation pattern recognizer
{Python} package for nonlinear relations",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101456",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001528",
acknowledgement = ack-nhfb,
articleno = "101456",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Khuat:2023:HBP,
author = "Thanh Tung Khuat and Bogdan Gabrys",
title = "\pkg{hyperbox-brain}: a {Python} toolbox for
hyperbox-based machine learning algorithms",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101425",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001218",
acknowledgement = ack-nhfb,
articleno = "101425",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Kim:2023:FPL,
author = "Taewon D. Kim and M. Richer and Gabriela
S{\'a}nchez-D{\'\i}az and Ram{\'o}n Alain
Miranda-Quintana and Toon Verstraelen and Farnaz
Heidar-Zadeh and Paul W. Ayers",
title = "\pkg{Fanpy}: a {Python} library for prototyping
multideterminant methods in {\em ab initio\/} quantum
chemistry",
journal = j-J-COMPUT-CHEM,
volume = "44",
number = "5",
pages = "697--709",
day = "15",
month = feb,
year = "2023",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.27034",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Fri Aug 25 09:22:19 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "28 November 2022",
}
@Article{Koot:2023:PVP,
author = "Paul Koot and Miguel Angel Mendoza-Lugo and Dominik
Paprotny and Oswaldo Morales-N{\'a}poles and Elisa
Ragno and Dani{\"e}l T. H. Worm",
title = "\pkg{PyBanshee} version (1.0): a {Python}
implementation of the {MATLAB} toolbox {BANSHEE} for
{Non-Parametric Bayesian Networks} with updated
features",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101279",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022001972",
acknowledgement = ack-nhfb,
articleno = "101279",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Koutsellis:2023:CWB,
author = "Themistoklis Koutsellis and Georgios Xexakis and
Konstantinos Koasidis and Natasha Frilingou and
Anastasios Karamaneas and Alexandros Nikas and Haris
Doukas",
title = "In-Cognitive: a web-based {Python} application for
fuzzy cognitive map design, simulation, and uncertainty
analysis based on the {Monte Carlo} method",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101513",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002091",
acknowledgement = ack-nhfb,
articleno = "101513",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lalor:2023:PIS,
author = "John Patrick Lalor and Pedro Rodriguez",
title = "\pkg{py-irt}: a Scalable Item Response Theory Library
for {Python}",
journal = j-INFORMS-J-COMPUT,
volume = "35",
number = "1",
pages = "5--13",
month = jan # "\slash " # feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1287/ijoc.2022.1250",
ISSN = "1091-9856 (print), 1526-5528 (electronic)",
ISSN-L = "1091-9856",
bibdate = "Tue Feb 7 06:06:38 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pubsonline.informs.org/doi/full/10.1287/ijoc.2022.1250",
acknowledgement = ack-nhfb,
ajournal = "INFORMS J. Comput.",
fjournal = "INFORMS Journal on Computing",
journal-URL = "https://pubsonline.informs.org/journal/ijoc",
onlinedate = "15 November 2022",
}
@Article{LeBrigant:2023:PIG,
author = "Alice {Le Brigant} and Jules Deschamps and Antoine
Collas and Nina Miolane",
title = "Parametric Information Geometry with the Package
\pkg{Geomstats}",
journal = j-TOMS,
volume = "49",
number = "4",
pages = "34:1--34:??",
month = dec,
year = "2023",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3627538",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Sat Dec 23 05:40:24 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3627538",
abstract = "We introduce the information geometry module of the
Python package Geomstats. The module first implements
Fisher--Rao Riemannian manifolds of widely used
parametric families of probability distributions, such
as normal, gamma, beta, Dirichlet distributions, and
more. The module further gives the Fisher Rao
Riemannian geometry of any parametric family of
distributions of interest, given a parameterized
probability density function as input. The implemented
Riemannian geometry tools allow users to compare,
average, interpolate between distributions inside a
given family. Importantly, such capabilities open the
door to statistics and machine learning on probability
distributions. We present the object-oriented
implementation of the module along with illustrative
examples and show how it can be used to perform
learning on manifolds of parametric probability
distributions.",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Math. Softw.",
articleno = "34",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Ledee:2023:EOP,
author = "Fran{\c{c}}ois L{\'e}d{\'e}e and Pierryves Padey and
Kyriaki Goulouti and S{\'e}bastien Lasvaux and Didier
Beloin-Saint-Pierre",
title = "\pkg{EcoDynElec}: {Open Python} package to create
historical profiles of environmental impacts from
regional electricity mixes",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101485",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001814",
acknowledgement = ack-nhfb,
articleno = "101485",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lee:2023:PPP,
author = "Kyunghoon Lee and Jun Hyeong Kim and Woo Youn Kim",
title = "{pyMCD}: {Python} package for searching transition
states via the multicoordinate driven method",
journal = j-COMP-PHYS-COMM,
volume = "291",
number = "??",
pages = "Article 108831",
month = oct,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108831",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Aug 10 07:51:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523001765",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Li:2023:APA,
author = "Yipeng Li and Xiangmin Jiao",
title = "{ARPIST}: Provably accurate and stable numerical
integration over spherical triangles",
journal = j-J-COMPUT-APPL-MATH,
volume = "420",
number = "??",
pages = "??--??",
day = "1",
month = mar,
year = "2023",
CODEN = "JCAMDI",
DOI = "https://doi.org/10.1016/j.cam.2022.114822",
ISSN = "0377-0427 (print), 1879-1778 (electronic)",
ISSN-L = "0377-0427",
bibdate = "Tue Nov 1 08:45:04 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputapplmath2020.bib;
https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0377042722004204",
acknowledgement = ack-nhfb,
articleno = "114822",
fjournal = "Journal of Computational and Applied Mathematics",
journal-URL = "http://www.sciencedirect.com/science/journal/03770427",
remark = "Open-source implementation in MATLAB and Python.",
}
@Article{Li:2023:MPM,
author = "Yunguo Li and Huaiwei Ni",
title = "\pkg{MD2D}: a {Python} module for accurate
determination of diffusion coefficient from molecular
dynamics",
journal = j-COMP-PHYS-COMM,
volume = "284",
number = "??",
pages = "Article 108599",
month = mar,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108599",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 25 06:01:54 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522003186",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Li:2023:PTP,
author = "Ye Li and Hongxiang Ren and Haijiang Li",
title = "\pkg{PyVT}: a toolkit for preprocessing and analysis
of vessel spatio-temporal trajectories",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101316",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000122",
acknowledgement = ack-nhfb,
articleno = "101316",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Liegeois:2023:PPI,
author = "Kim Liegeois and Mauro Perego and Tucker Hartland",
title = "{PyAlbany}: a {Python} interface to the {C++}
multiphysics solver {Albany}",
journal = j-J-COMPUT-APPL-MATH,
volume = "425",
number = "??",
pages = "??--??",
month = jun,
year = "2023",
CODEN = "JCAMDI",
DOI = "https://doi.org/10.1016/j.cam.2022.115037",
ISSN = "0377-0427 (print), 1879-1778 (electronic)",
ISSN-L = "0377-0427",
bibdate = "Fri Feb 17 08:25:58 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputapplmath2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0377042722006355",
acknowledgement = ack-nhfb,
articleno = "115037",
fjournal = "Journal of Computational and Applied Mathematics",
journal-URL = "http://www.sciencedirect.com/science/journal/03770427",
}
@Article{Liu:2023:TUB,
author = "Di Liu and Yang Feng and Yanyan Yan and Baowen Xu",
title = "Towards understanding bugs in {Python} interpreters",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "1",
pages = "??--??",
month = jan,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-022-10239-x",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Wed May 17 06:39:04 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-022-10239-x",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "19",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Lukasczyk:2023:ESA,
author = "Stephan Lukasczyk and Florian Kroi{\ss} and Gordon
Fraser",
title = "An empirical study of automated unit test generation
for {Python}",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "2",
pages = "??--??",
month = mar,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-022-10248-w",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Wed May 17 06:39:05 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-022-10248-w",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "36",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Lukyanenko:2023:PAS,
author = "Dmitry Lukyanenko",
title = "Parallel Algorithm for Solving Overdetermined Systems
of Linear Equations, Taking into Account Round-Off
Errors",
journal = j-ALGORITHMS-BASEL,
volume = "16",
number = "5",
month = may,
year = "2023",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a16050242",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Thu Jun 1 07:31:19 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-4893/16/5/242",
abstract = "The paper proposes a parallel algorithm for solving
large overdetermined systems of linear algebraic
equations with a dense matrix. This algorithm is based
on the use of a modification of the conjugate gradient
method, which is able to take into account rounding
errors accumulated during calculations when making a
decision to terminate the iterative process. The
parallel algorithm is constructed in such a way that it
takes into account the capabilities of the message
passing interface (MPI) parallel programming
technology, which is used for the software
implementation of the proposed algorithm. The
programming examples are shown using the Python
programming language and the mpi4py package, but all
programs are built in such a way that they can be
easily rewritten using the C/C++/Fortran programming
languages. The advantage of using the modern MPI-4.0
standard is demonstrated.",
acknowledgement = ack-nhfb,
articleno = "242",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
pagecount = "??",
}
@Article{Ma:2023:PPT,
author = "Jinfeng Ma and Hua Zheng and Ruonan Li and Kaifeng Rao
and Yanzheng Yang and Weifeng Li",
title = "\pkg{PyVecContour}: a {Python} toolkit for vectorized
isosurface mapping",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101317",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000134",
acknowledgement = ack-nhfb,
articleno = "101317",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Maina:2023:BRS,
author = "Ezio Maina",
title = "Book Review: {{\booktitle{A student's guide to Python
for physical modeling}}, 2nd edition by Jesse M. Kinder
and Philip Nelson, Princeton, NJ, Princeton University
Press, 2021, 240 pp., \$26.95 (paperback), ISBN
978-0-691-22365-0. Scope: textbook. Level:
undergraduate}",
journal = j-CONTEMP-PHYS,
volume = "64",
number = "3",
pages = "247--248",
year = "2023",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2023.2297735",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Thu Sep 26 15:39:33 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
onlinedate = "05 Jan 2024",
}
@Article{Mardan:2023:PPP,
author = "Amir Mardan and Bernard Giroux and Gabriel
Fabien-Ouellet",
title = "\pkg{PyFWI}: a {Python} package for full-waveform
inversion and reservoir monitoring",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101384",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000808",
acknowledgement = ack-nhfb,
articleno = "101384",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Menvouta:2023:DPP,
author = "Emmanuel Jordy Menvouta and Sven Serneels and Tim
Verdonck",
title = "\pkg{direpack}: a {Python 3} package for
state-of-the-art statistical dimensionality reduction
methods",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101282",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102200200X",
acknowledgement = ack-nhfb,
articleno = "101282",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Muller:2023:PSC,
author = "Matthias M{\"u}ller",
title = "\pkg{PyblioNet} --- Software for the creation,
visualization and analysis of bibliometric networks",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101565",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002613",
acknowledgement = ack-nhfb,
articleno = "101565",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Nino-Ruiz:2023:ADA,
author = "El{\'\i}as D. Nino-Ruiz and Randy Consuegra",
title = "\pkg{AMLCS-DA}: a data assimilation package in
{Python} for {Atmospheric General Circulation Models}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101374",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000705",
acknowledgement = ack-nhfb,
articleno = "101374",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Niskanen:2023:CPB,
author = "Matti Niskanen and Timo L{\"a}hivaara",
title = "\pkg{COMPOSTI}: a {Python}-based program for seismic
trans-dimensional inversion",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101298",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022002163",
acknowledgement = ack-nhfb,
articleno = "101298",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Nolp:2023:SNC,
author = "Klaus N{\"o}lp and Lena Oden",
title = "Simplifying non-contiguous data transfer with {MPI}
for {Python}",
journal = j-J-SUPERCOMPUTING,
volume = "79",
number = "17",
pages = "20019--20040",
month = nov,
year = "2023",
CODEN = "JOSUED",
DOI = "https://doi.org/10.1007/s11227-023-05398-7",
ISSN = "0920-8542 (print), 1573-0484 (electronic)",
ISSN-L = "0920-8542",
bibdate = "Tue Oct 3 05:58:52 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsuper2020.bib;
https://www.math.utah.edu/pub/tex/bib/pvm.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s11227-023-05398-7",
acknowledgement = ack-nhfb,
ajournal = "J. Supercomputing",
fjournal = "The Journal of Supercomputing",
journal-URL = "http://link.springer.com/journal/11227",
}
@Article{Obonna:2023:DMM,
author = "Ugochukwu Onyekachi Obonna and Felix Kelechi Opara and
Christian Chidiebere Mbaocha and Jude-Kennedy Chibuzo
Obichere and Isdore Onyema Akwukwaegbu and Miriam
Mmesoma Amaefule and and Cosmas Ifeanyi Nwakanma",
title = "Detection of Man-in-the-Middle {(MitM)} Cyber-Attacks
in Oil and Gas Process Control Networks Using Machine
Learning Algorithms",
journal = j-FUTURE-INTERNET,
volume = "15",
number = "8",
pages = "280",
day = "21",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi15080280",
ISSN = "1999-5903",
bibdate = "Sat Aug 26 11:22:50 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/15/8/280",
abstract = "Recently, the process control network (PCN) of oil and
gas installation has been subjected to amorphous
cyber-attacks. Examples include the denial-of-service
(DoS), distributed denial-of-service (DDoS), and
man-in-the-middle (MitM) attacks, and this may have
largely been caused by the integration of open network
to operation technology (OT) as a result of low-cost
network expansion. The connection of OT to the internet
for firmware updates, third-party support, or the
intervention of vendors has exposed the industry to
attacks. The inability to detect these unpredictable
cyber-attacks exposes the PCN, and a successful attack
can lead to devastating effects. This paper reviews the
different forms of cyber-attacks in PCN of oil and gas
installations while proposing the use of machine
learning algorithms to monitor data exchanges between
the sensors, controllers, processes, and the final
control elements on the network to detect anomalies in
such data exchanges. Python 3.0 Libraries,
Deep-Learning Toolkit, MATLAB, and Allen Bradley
RSLogic 5000 PLC Emulator software were used in
simulating the process control. The outcomes of the
experiments show the reliability and functionality of
the different machine learning algorithms in detecting
these anomalies with significant precise attack
detections identified using tree algorithms (bagged or
coarse ) for man-in-the-middle (MitM) attacks while
taking note of accuracy-computation complexity
trade-offs.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Overberg:2023:EOS,
author = "Florian A. Overberg and Philipp C. B{\"o}ttcher and
Dirk Witthaut and Simon Morgenthaler",
title = "\pkg{Emipy}: an open-source {Python}-based tool to
analyze industrial emissions in {Europe}",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101458",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023001541",
acknowledgement = ack-nhfb,
articleno = "101458",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Padmavathi:2023:WCE,
author = "P. Padmavathi and J. Harikiran",
title = "Wireless Capsule Endoscopy Infected Images Detection
and Classification Using {MobileNetV2-BiLSTM} Model",
journal = j-INT-J-IMAGE-GRAPHICS,
volume = "23",
number = "05",
pages = "??--??",
month = sep,
year = "2023",
DOI = "https://doi.org/10.1142/S0219467823500419",
ISSN = "0219-4678",
ISSN-L = "0219-4678",
bibdate = "Fri Oct 13 07:20:29 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijig.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.worldscientific.com/doi/10.1142/S0219467823500419",
abstract = "An efficient tool to execute painless imaging and
examine gastrointestinal tract illnesses of the
intestine is also known as wireless capsule endoscopy
(WCE). Performance, safety, tolerance, and efficacy are
the several concerns that make adaptation challenging
and wide applicability. In addition, to detect
abnormalities, the great importance is the automatic
analysis of the WCE dataset. These issues are resolved
by numerous vision-based and computer-aided solutions.
But, they want further enhancements and do not give the
accuracy at the desired level. In order to solve these
issues, this paper presents the detection and
classification of WCE infected images by a deep neural
network and utilizes a bleed image recognizer (BIR)
that associates the MobileNetV2 design to classify the
images of WCE infected. For the opening-level
evaluation, the BIR uses the MobileNetV2 model for its
minimum computation power necessity, and then the
outcome is sent to the CNN for more processing. Then,
Bi-LSTM with an attention mechanism is used to improve
the performance level of the model. Hybrid attention
Bi-LSTM design yields more accurate classification
outcomes. The proposed scheme is implemented in the
Python platform and the performance is evaluated by
Cohen's kappa, F1-score, recall, accuracy, and
precision. The implementation outcomes show that the
introduced scheme achieved maximum accuracy of 0.996
with data augmentation with the dataset of WCE images
which provided higher outcomes than the others.",
acknowledgement = ack-nhfb,
articleno = "2350041",
fjournal = "International Journal of Image and Graphics (IJIG)",
journal-URL = "http://www.worldscientific.com/worldscinet/ijig",
}
@Article{Pandey:2023:PNI,
author = "Vivek Pandey and Sudhir K. Pandey",
title = "\pkg{PY-Nodes}: an {\em ab-initio} {Python} code for
searching nodes in a material using {{\em
Nelder--Mead\/}}'s simplex approach",
journal = j-COMP-PHYS-COMM,
volume = "283",
number = "??",
pages = "Article 108570",
month = feb,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108570",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Dec 5 09:16:39 MST 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002892",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Paramitha:2023:TLA,
author = "Ranindya Paramitha and Fabio Massacci",
title = "Technical leverage analysis in the {Python}
ecosystem",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "6",
pages = "??--??",
month = nov,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-023-10355-2",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Thu Feb 1 06:51:17 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-023-10355-2",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "139",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Raj:2023:FPT,
author = "Surbhi Raj and Jimson Mathew and Arijit Mondal",
title = "\pkg{FDT}: a {Python} toolkit for fake image and video
detection",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101395",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000912",
acknowledgement = ack-nhfb,
articleno = "101395",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ramalhinho:2023:FSP,
author = "Jo{\~a}o Ramalhinho and Thomas Dowrick and Ester
Bonmati and Matthew J. Clarkson",
title = "\pkg{Fan-Slicer}: a {Pycuda} Package for Fast
Reslicing of Ultrasound Shaped Planes",
journal = j-J-OPEN-RES-SOFT,
volume = "11",
number = "1",
pages = "??--??",
month = "????",
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.5334/jors.422",
ISSN = "2049-9647",
ISSN-L = "2049-9647",
bibdate = "Tue Jun 13 08:02:36 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jors.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://openresearchsoftware.metajnl.com/articles/10.5334/jors.422",
acknowledgement = ack-nhfb,
articleno = "3",
fjournal = "Journal of Open Research Software",
journal-URL = "https://openresearchsoftware.metajnl.com/issue/archive/",
onlinedate = "8 Feb 2023",
}
@Article{Ramos-Carreno:2023:DDC,
author = "Carlos Ramos-Carre{\~n}o and Jos{\'e} L. Torrecilla",
title = "\pkg{dcor}: {Distance} correlation and energy
statistics in {Python}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101326",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000225",
acknowledgement = ack-nhfb,
articleno = "101326",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ren:2023:PSA,
author = "Xiquan Ren",
title = "{Python} shared atomic data types",
journal = j-SPE,
volume = "53",
number = "12",
pages = "2393--2407",
month = dec,
year = "2023",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3259",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Tue Jan 9 09:41:57 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "26 August 2023",
}
@Article{Roald:2023:MLC,
author = "Marie Roald",
title = "\pkg{{MatCoupLy}}: {Learning} coupled matrix
factorizations with {Python}",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101292",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022002102",
acknowledgement = ack-nhfb,
articleno = "101292",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Rodriguez:2023:SPN,
author = "Jose S. Rodriguez and Robert B. Parker and Carl D.
Laird and Bethany L. Nicholson and John D. Siirola and
Michael L. Bynum",
title = "Scalable Parallel Nonlinear Optimization with
{PyNumero} and {Parapint}",
journal = j-INFORMS-J-COMPUT,
volume = "35",
number = "2",
pages = "509--517",
month = mar # "\slash " # apr,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1287/ijoc.2023.1272",
ISSN = "1091-9856 (print), 1526-5528 (electronic)",
ISSN-L = "1091-9856",
bibdate = "Tue May 2 07:01:41 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pubsonline.informs.org/doi/full/10.1287/ijoc.2023.1272",
acknowledgement = ack-nhfb,
ajournal = "INFORMS J. Comput.",
fjournal = "INFORMS Journal on Computing",
journal-URL = "https://pubsonline.informs.org/journal/ijoc",
onlinedate = "15 March 2023",
}
@Article{Rozas:2023:PDP,
author = "Gladys M. Cavero Rozas and Jose M. Cisneros Mandujano
and Yomali A. Ferreyra Chombo and Daniela V. Moreno
Rencoret and Yerko M. Ortiz Mora and Mart{\'\i}n E.
Guti{\'e}rrez Pescarmona and Alberto J. Donayre
Torres",
title = "\pkg{pyBrick-DNA}: a {Python}-Based Environment for
Automated Genetic Component Assembly",
journal = j-J-COMPUT-BIOL,
volume = "30",
number = "12",
pages = "1315--1321",
month = dec,
year = "2023",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2023.0008",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Tue May 28 16:00:58 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2023.0008;
https://www.liebertpub.com/doi/reader/10.1089/cmb.2023.0008",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Biol.",
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "20 November 2023",
}
@Article{Saadah:2023:BRA,
author = "Aminatus Sa'adah",
title = "Book Review: {{\booktitle{Artificial Intelligence with
Python}}, Teik Toe Teoh and Zheng Rong, Springer, 2022,
336 pp., EUR 16.99, ISBN 978-981-16-8615-3}",
journal = j-TECHNOMETRICS,
volume = "65",
number = "3",
pages = "451--452",
year = "2023",
CODEN = "TCMTA2",
DOI = "https://doi.org/10.1080/00401706.2023.2237826",
ISSN = "0040-1706 (print), 1537-2723 (electronic)",
ISSN-L = "0040-1706",
bibdate = "Fri Oct 13 11:19:16 MDT 2023",
bibsource = "http://www.tandf.co.uk/journals/titles/00401706.html;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/technometrics2020.bib",
acknowledgement = ack-nhfb,
fjournal = "Technometrics",
journal-URL = "http://www.tandfonline.com/loi/utch20",
onlinedate = "22 Aug 2023",
}
@Article{Sauter:2023:BRF,
author = "Roger Sauter",
title = "Book Review: {{\booktitle{Foundations of Statistics
for Data Scientists: With R and Python}} by Alan
Agresti and Maria Kateri, Boca Raton, FL: Chapman and
Hall\slash CRC, 2022, xv + 453 pp., \$136.46 (hcb)}",
journal = j-TECHNOMETRICS,
volume = "65",
number = "1",
pages = "132--133",
year = "2023",
CODEN = "TCMTA2",
DOI = "https://doi.org/10.1080/00401706.2022.2163806",
ISSN = "0040-1706 (print), 1537-2723 (electronic)",
ISSN-L = "0040-1706",
bibdate = "Wed Mar 22 15:30:00 MDT 2023",
bibsource = "http://www.tandf.co.uk/journals/titles/00401706.html;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/technometrics2020.bib",
acknowledgement = ack-nhfb,
fjournal = "Technometrics",
journal-URL = "http://www.tandfonline.com/loi/utch20",
onlinedate = "01 Feb 2023",
}
@Article{Savage:2023:NRP,
author = "Neil Savage",
title = "News: Revamping {Python} for an {AI} World",
journal = j-CACM,
volume = "66",
number = "12",
pages = "13--14",
month = dec,
year = "2023",
CODEN = "CACMA2",
DOI = "https://doi.org/10.1145/3624987",
ISSN = "0001-0782 (print), 1557-7317 (electronic)",
ISSN-L = "0001-0782",
bibdate = "Tue Nov 21 15:04:34 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cacm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3624987",
abstract = "Mojo has the same syntax as Python, but runs up to
35,000 times faster.",
acknowledgement = ack-nhfb,
ajournal = "Commun. ACM",
fjournal = "Communications of the ACM",
journal-URL = "https://dl.acm.org/loi/cacm",
}
@Article{Schoedl:2023:PMA,
author = "Nathan W. Schoedl and Emma J. MacKie and Michael J.
Field and Eric A. Stubbs and Allan Zhang and Matthew
Hibbs and Mathieu Gravey",
title = "A {Python} Multiprocessing Approach for Fast
Geostatistical Simulations of Subglacial Topography",
journal = j-COMPUT-SCI-ENG,
volume = "25",
number = "3",
pages = "42--49",
month = mar,
year = "2023",
CODEN = "CSENFA",
DOI = "https://doi.org/10.1109/MCSE.2023.3317773",
ISSN = "1521-9615 (print), 1558-366X (electronic)",
ISSN-L = "1521-9615",
bibdate = "Sat Mar 16 11:42:40 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computscieng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Computing in Science and Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=5992",
keywords = "Computational modeling; Data models; Ice surface; Ice
thickness; Mathematical models; Program processors;
Scalability; Stochastic processes; Terrain mapping;
Uncertainty; Weight measurement",
}
@Article{Shah:2023:QPB,
author = "S. A. Shah and Hao Li and Eric R. Bittner and Carlos
Silva and Andrei Piryatinski",
title = "\pkg{QuDPy}: a {Python}-based tool for computing
ultrafast non-linear optical responses",
journal = j-COMP-PHYS-COMM,
volume = "292",
number = "??",
pages = "Article 108891",
month = nov,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108891",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Sep 11 09:09:56 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523002369",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@InProceedings{Shajii:2023:CCH,
author = "Ariya Shajii and Gabriel Ramirez and Haris
Smajlovi{\'c} and Jessica Ray and Bonnie Berger and
Saman Amarasinghe and Ibrahim Numanagi{\'c}",
booktitle = "Proceedings of the {32nd ACM SIGPLAN International
Conference on Compiler Construction}",
title = "{Codon}: A Compiler for High-Performance {Pythonic}
Applications and {DSLs}",
publisher = pub-ACM,
address = pub-ACM:adr,
month = feb,
year = "2023",
DOI = "https://doi.org/10.1145/3578360.3580275",
bibdate = "Sat Apr 8 14:38:50 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://docs.exaloop.io/codon/;
https://github.com/exaloop/codon;
https://github.com/exaloop/codon.git",
abstract = "Domain-specific languages (DSLs) are able to provide
intuitive high-level abstractions that are easy to work
with while attaining better performance than
general-purpose languages. Yet, implementing new DSLs
is a burdensome task. As a result, new DSLs are usually
embedded in general-purpose languages. While low-level
languages like C or C++ often provide better
performance as a host than high-level languages like
Python, high-level languages are becoming more
prevalent in many domains due to their ease and
flexibility. Here, we present Codon, a
domain-extensible compiler and DSL framework for
high-performance DSLs with Python's syntax and
semantics. Codon builds on previous work on
ahead-of-time type checking and compilation of Python
programs and leverages a novel intermediate
representation to easily incorporate domain-specific
optimizations and analyses. We showcase and evaluate
several compiler extensions and DSLs for Codon
targeting various domains, including bioinformatics,
secure multi-party computation, block-based data
compression and parallel programming, showing that
Codon DSLs can provide benefits of familiar high-level
languages and achieve performance typically only seen
with low-level languages, thus bridging the gap between
performance and usability.",
acknowledgement = ack-nhfb,
keywords = "domain-specific languages; intermediate
representation; optimization; Python; Python
compilation; type checking",
}
@Article{Shekhovtsov:2023:VPU,
author = "Andrii Shekhovtsov and Bart{\l}omiej Kizielewicz and
Wojciech Sa{\l}abun",
title = "Version [1.1] --- [\pkg{pymcdm} --- The universal
library for solving multi-criteria decision-making
problems]",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101519",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002157",
acknowledgement = ack-nhfb,
articleno = "101519",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Shen:2023:VAO,
author = "Yang Shen and Robert H. Moore and Ankit Deo",
title = "Visualizing {Abaqus} output database in {ParaView}: a
universal converter in {Python} and {C++}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101331",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000274",
acknowledgement = ack-nhfb,
articleno = "101331",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Sihi:2023:TPC,
author = "Antik Sihi and Sudhir K. Pandey",
title = "\pkg{TRACK}: a {Python} code for calculating the
transport properties of correlated electron systems
using {Kubo} formalism",
journal = j-COMP-PHYS-COMM,
volume = "285",
number = "??",
pages = "Article 108640",
month = apr,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108640",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 25 06:01:55 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522003599",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Singh:2023:BEC,
author = "Raman Singh and Sean Sturley and Hitesh Tewari",
title = "Blockchain-Enabled {Chebyshev} Polynomial-Based Group
Authentication for Secure Communication in an {Internet
of Things} Network",
journal = j-FUTURE-INTERNET,
volume = "15",
number = "3",
pages = "96",
day = "28",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi15030096",
ISSN = "1999-5903",
bibdate = "Wed Mar 29 11:12:24 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/bitcoin.bib;
https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/15/3/96",
abstract = "The utilization of Internet of Things (IoT) devices in
various smart city and industrial applications is
growing rapidly. Within a trusted authority (TA), such
as an industry or smart city, all IoT devices are
closely monitored in a controlled infrastructure.
However, in cases where an IoT device from one TA needs
to communicate with another IoT device from a different
TA, the trust establishment between these devices
becomes extremely important. Obtaining a digital
certificate from a certificate authority for each IoT
device can be expensive. To solve this issue, a group
authentication framework is proposed that can establish
trust between group IoT devices owned by different
entities. The Chebyshev polynomial has many important
properties, semigroup is one of the most important.
These properties make the Chebyshev polynomial a good
candidate for the proposed group authentication
mechanism. The secure exchange of information between
trusted authorities is supported by Blockchain
technology. The proposed framework was implemented and
tested using Python and deployed on Blockchain using
Ethereum's Goerli's testnet. The results show that the
proposed framework can reasonably use Chebyshev
polynomials with degrees up to four digits in length.
The values of various parameters related to Blockchain
are also discussed to understand the usability of the
proposed framework.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Sipper:2023:EKE,
author = "Moshe Sipper and Tomer Halperin and Itai Tzruia and
Achiya Elyasaf",
title = "\pkg{EC-KitY}: {Evolutionary} computation tool kit in
{Python} with seamless machine learning integration",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101381",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000778",
acknowledgement = ack-nhfb,
articleno = "101381",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Song:2023:PPC,
author = "Shanshan Song and Mingyu Zhu and Hongcheng Ni and Jian
Wu",
title = "\pkg{PyStructureFactor}: a {Python} code for the
molecular structure factor in tunneling ionization
rates",
journal = j-COMP-PHYS-COMM,
volume = "292",
number = "??",
pages = "Article 108882",
month = nov,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108882",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Sep 11 09:09:56 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523002278",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Souza:2023:EPB,
author = "Paulo S. Souza and Tiago Ferreto and Rodrigo N.
Calheiros",
title = "{EdgeSimPy}: {Python}-based modeling and simulation of
edge computing resource management policies",
journal = j-FUT-GEN-COMP-SYS,
volume = "148",
number = "??",
pages = "446--459",
month = nov,
year = "2023",
CODEN = "FGSEVI",
DOI = "https://doi.org/10.1016/j.future.2023.06.013",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Wed Sep 13 17:21:29 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167739X23002340",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Sun:2023:UUG,
author = "Yiming Sun and Daniel German and Stefano Zacchiroli",
title = "Using the uniqueness of global identifiers to
determine the provenance of {Python} software source
code",
journal = j-EMPIR-SOFTWARE-ENG,
volume = "28",
number = "5",
pages = "??--??",
month = sep,
year = "2023",
CODEN = "ESENFW",
DOI = "https://doi.org/10.1007/s10664-023-10317-8",
ISSN = "1382-3256 (print), 1573-7616 (electronic)",
ISSN-L = "1382-3256",
bibdate = "Thu Aug 10 15:49:42 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/empir-software-eng.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://link.springer.com/article/10.1007/s10664-023-10317-8",
acknowledgement = ack-nhfb,
ajournal = "Empir. Software. Eng.",
articleno = "107",
fjournal = "Empirical Software Engineering",
journal-URL = "http://link.springer.com/journal/10664",
}
@Article{Szustak:2023:POP,
author = "Lukasz Szustak and Marcin Lawenda and Sebastian Arming
and Gregor Bankhamer and Christoph Schweimer and Robert
Els{\"a}sser",
title = "Profiling and optimization of {Python}-based social
sciences applications on {HPC} systems by means of task
and data parallelism",
journal = j-FUT-GEN-COMP-SYS,
volume = "148",
number = "??",
pages = "623--635",
month = nov,
year = "2023",
CODEN = "FGSEVI",
DOI = "https://doi.org/10.1016/j.future.2023.07.005",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Wed Sep 13 17:21:29 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167739X23002571",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Tadj:2023:EID,
author = "Timothy Tadj and Reza Arablouei and Volkan Dedeoglu",
title = "On Evaluating {IoT} Data Trust via Machine Learning",
journal = j-FUTURE-INTERNET,
volume = "15",
number = "9",
pages = "309",
day = "12",
month = sep,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.3390/fi15090309",
ISSN = "1999-5903",
bibdate = "Thu Sep 28 13:55:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/future-internet.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-5903/15/9/309",
abstract = "Data trust in IoT is crucial for safeguarding privacy,
security, reliable decision-making, user acceptance,
and complying with regulations. Various approaches
based on supervised or unsupervised machine learning
(ML) have recently been proposed for evaluating IoT
data trust. However, assessing their real-world
efficacy is hard mainly due to the lack of related
publicly available datasets that can be used for
benchmarking. Since obtaining such datasets is
challenging, we propose a data synthesis method, called
random walk infilling (RWI), to augment IoT time-series
datasets by synthesizing untrustworthy data from
existing trustworthy data. Thus, RWI enables us to
create labeled datasets that can be used to develop and
validate ML models for IoT data trust evaluation. We
also extract new features from IoT time-series sensor
data that effectively capture its autocorrelation as
well as its cross-correlation with the data of the
neighboring (peer) sensors. These features can be used
to learn ML models for recognizing the trustworthiness
of IoT sensor data. Equipped with our synthesized
ground-truth-labeled datasets and informative
correlation-based features, we conduct extensive
experiments to critically examine various approaches to
evaluating IoT data trust via ML. The results reveal
that commonly used ML-based approaches to IoT data
trust evaluation, which rely on unsupervised cluster
analysis to assign trust labels to unlabeled data,
perform poorly. This poor performance is due to the
underlying assumption that clustering provides reliable
labels for data trust, which is found to be untenable.
The results also indicate that ML models, when trained
on datasets augmented via RWI and using the proposed
features, generalize well to unseen data and surpass
existing related approaches. Moreover, we observe that
a semi-supervised ML approach that requires only about
10\% of the data labeled offers competitive performance
while being practically more appealing compared to the
fully supervised approaches. The related Python code
and data are available online.",
acknowledgement = ack-nhfb,
journal-URL = "https://www.mdpi.com/journal/futureinternet",
}
@Article{Tesse:2023:GMP,
author = "Robin Tesse and C{\'e}dric Hernalsteens and Eustache
Gnacadja and Nicolas Pauly and Eliott Ramoisiaux and
Marion Vanwelde",
title = "\pkg{Georges}: a modular {Python} library for seamless
beam dynamics simulations and optimization",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101579",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002753",
acknowledgement = ack-nhfb,
articleno = "101579",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Thieu:2023:MOS,
author = "Nguyen Van Thieu and Diego Oliva and Marco
P{\'e}rez-Cisneros",
title = "\pkg{MetaCluster}: an open-source {Python} library for
metaheuristic-based clustering problems",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101597",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002935",
acknowledgement = ack-nhfb,
articleno = "101597",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Thorp:2023:VPF,
author = "Kelly R. Thorp and Josh Brekel and Kendall C.
DeJonge",
title = "Version 1.2.0 --- \pkg{pyfao56}: {FAO-56}
evapotranspiration in {Python}",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101518",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002145",
acknowledgement = ack-nhfb,
articleno = "101518",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Thrussell:2023:EPL,
author = "Jasper Thrussell and Jim Michael Ferguson",
title = "\pkg{ExactPack}: a {Python} library of exact analytic
solutions",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101560",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102300256X",
acknowledgement = ack-nhfb,
articleno = "101560",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Toriyama:2023:VPT,
author = "Michael Y. Toriyama and Jiaxing Qu and L{\'\i}dia C.
Gomes and Elif Ertekin",
title = "{VTAnDeM}: a {Python} toolkit for simultaneously
visualizing phase stability, defect energetics, and
carrier concentrations of materials",
journal = j-COMP-PHYS-COMM,
volume = "287",
number = "??",
pages = "Article 108691",
month = jun,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108691",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Mar 17 07:49:53 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552300036X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Toth:2023:VBP,
author = "R{\'o}bert T{\'o}th and B{\'a}lint T{\'o}th and
Mikl{\'o}s Hoffmann and Marianna Zichar",
title = "\pkg{viskillz-blender} --- a {Python} package to
generate assets of {Mental Cutting Test} exercises
using {Blender}",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101328",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000249",
acknowledgement = ack-nhfb,
articleno = "101328",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Tritt:2023:SGO,
author = "Alex Tritt and Joshua Morris and Joel Hochstetter and
R. P. Anderson and James Saunderson and L. D. Turner",
title = "\pkg{Spinsim}: a {GPU} optimized {Python} package for
simulating spin-half and spin-one quantum systems",
journal = j-COMP-PHYS-COMM,
volume = "287",
number = "??",
pages = "Article 108701",
month = jun,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108701",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Mar 17 07:49:53 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523000462",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Tsapetis:2023:UVU,
author = "Dimitrios Tsapetis and Michael D. Shields and Dimitris
G. Giovanis and Audrey Olivier and Lukas Novak and
Promit Chakroborty and Himanshu Sharma and Mohit
Chauhan and Katiana Kontolati and Lohit Vandanapu and
Dimitrios Loukrezis and Michael Gardner",
title = "\pkg{UQpy v4.1}: Uncertainty quantification with
{Python}",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101561",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002571",
acknowledgement = ack-nhfb,
articleno = "101561",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Velasquez:2023:TAB,
author = "Juan D. Velasquez",
title = "\pkg{TechMiner}: {Analysis} of bibliographic datasets
using {Python}",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101457",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S235271102300153X",
acknowledgement = ack-nhfb,
articleno = "101457",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Velichko:2023:NNE,
author = "Andrei Velichko and Maksim Belyaev and Yuriy Izotov
and Murugappan Murugappan and Hanif Heidari",
title = "Neural Network Entropy ({NNetEn}): Entropy-Based {EEG}
Signal and Chaotic Time Series Classification, {Python}
Package for {NNetEn} Calculation",
journal = j-ALGORITHMS-BASEL,
volume = "16",
number = "5",
month = may,
year = "2023",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a16050255",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Thu Jun 1 07:31:19 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-4893/16/5/255",
acknowledgement = ack-nhfb,
articleno = "255",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
pagecount = "??",
}
@Article{Vergara:2023:SSP,
author = "J. M. Vergara and M. E. Mora-Ramos and E. Fl{\'o}rez
and J. D. Correa",
title = "\pkg{SPIN}: {P[S]imple [P]ython [I]pywidgets
[N]otebook} interface to obtain the optoelectronic
properties of materials employing {DFT}",
journal = j-COMP-PHYS-COMM,
volume = "284",
number = "??",
pages = "Article 108614",
month = mar,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108614",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Sat Feb 25 06:01:54 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522003332",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Wang:2023:PPP,
author = "Hongjin Wang and Jingyi Zhuang and Zhen Zhang and Qi
Zhang and Renata M. Wentzcovitch",
title = "{pgm}: a {Python} package for free energy calculations
within the phonon gas model",
journal = j-COMP-PHYS-COMM,
volume = "291",
number = "??",
pages = "Article 108845",
month = oct,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108845",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Aug 10 07:51:47 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552300190X",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Wieckowski:2023:HDM,
author = "Jakub Wieckowski and Bart{\l}omiej Kizielewicz and
Wojciech Sa{\l}abun",
title = "Handling decision-making in {Intuitionistic Fuzzy}
environment: {PyIFDM} package",
journal = j-SOFTWAREX,
volume = "22",
number = "??",
pages = "??--??",
month = may,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101344",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000407",
acknowledgement = ack-nhfb,
articleno = "101344",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Xu:2023:PPT,
author = "Jiachen Xu and Moritz Grosse-Wentrup",
title = "{PyTES}: a {Python} toolbox for closed-loop
transcranial electrical stimulation",
journal = j-SOFTWAREX,
volume = "23",
number = "??",
pages = "??--??",
month = jul,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101403",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Oct 5 12:03:02 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023000997",
acknowledgement = ack-nhfb,
articleno = "101403",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Yaacov:2023:BBP,
author = "Tom Yaacov",
title = "\pkg{BPpy}: Behavioral programming in {Python}",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101556",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002522",
acknowledgement = ack-nhfb,
articleno = "101556",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Yamazaki:2023:CCG,
author = "Tetsuro Yamazaki and Tomoki Nakamaru and Ryota Shioya
and Tomoharu Ugawa and Shigeru Chiba",
title = "Collecting Cyclic Garbage across Foreign Function
Interfaces: Who Takes the Last Piece of Cake?",
journal = j-PACMPL,
volume = "7",
number = "PLDI",
pages = "130:1--130:??",
month = jun,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3591244",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3591244",
abstract = "A growing number of libraries written in managed
languages, such as Python and JavaScript, are bringing
about new demand for a foreign language \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "130",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yang:2023:JPP,
author = "Xuerui Yang and Jianxin Pan",
title = "\pkg{jmcm}: a {Python} package for analyzing
longitudinal data using joint mean-covariance models",
journal = j-COMMUN-STAT-SIMUL-COMPUT,
volume = "52",
number = "11",
pages = "5446--5461",
year = "2023",
CODEN = "CSSCDB",
DOI = "https://doi.org/10.1080/03610918.2021.1990324",
ISSN = "0361-0918",
ISSN-L = "0361-0918",
bibdate = "Sat May 18 14:28:30 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/communstatsimulcomput2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Communications in Statistics: Simulation and
Computation",
journal-URL = "http://www.tandfonline.com/loi/lssp20",
onlinedate = "14 Oct 2021",
}
@Article{Ye:2023:CTI,
author = "Fangke Ye and Jisheng Zhao and Jun Shirako and Vivek
Sarkar",
title = "Concrete Type Inference for Code Optimization using
Machine Learning with {SMT} Solving",
journal = j-PACMPL,
volume = "7",
number = "OOPSLA2",
pages = "249:1--249:??",
month = oct,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3622825",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:32 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3622825",
abstract = "Despite the widespread popularity of dynamically typed
languages such as Python, it is well known that they
pose significant challenges to code \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "249",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Yoon:2023:PFO,
author = "Tae Jun Yoon and Katie A. Maerzke and Robert P.
Currier and Alp T. Findikoglu",
title = "\pkg{PyOECP}: a flexible open-source software library
for estimating and modeling the complex permittivity
based on the open-ended coaxial probe {(OECP)}
technique",
journal = j-COMP-PHYS-COMM,
volume = "282",
number = "??",
pages = "Article 108517",
month = jan,
year = "2023",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2022.108517",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Oct 27 09:04:37 MDT 2022",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465522002363",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Yu:2023:REP,
author = "Jiaxin Yu and Tapan Mukerji and Per Avseth",
title = "\pkg{rockphypy}: an extensive {Python} library for
rock physics modeling",
journal = j-SOFTWAREX,
volume = "24",
number = "??",
pages = "??--??",
month = dec,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101567",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Sat Dec 16 07:45:56 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023002637",
acknowledgement = ack-nhfb,
articleno = "101567",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhang:2023:PPI,
author = "Chihao Zhang and Shihua Zhang and Jingyi Jessica Li",
title = "A {Python} Package \pkg{itca} for
Information-Theoretic Classification Accuracy: a
Criterion That Guides Data-Driven Combination of
Ambiguous Outcome Labels in Multiclass Classification",
journal = j-J-COMPUT-BIOL,
volume = "30",
number = "11",
pages = "1246--1249",
month = nov,
year = "2023",
CODEN = "JCOBEM",
DOI = "https://doi.org/10.1089/cmb.2023.0191",
ISSN = "1066-5277 (print), 1557-8666 (electronic)",
ISSN-L = "1066-5277",
bibdate = "Tue May 28 16:00:56 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputbiol.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.liebertpub.com/doi/abs/10.1089/cmb.2023.0191;
https://www.liebertpub.com/doi/reader/10.1089/cmb.2023.0191",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Biol.",
fjournal = "Journal of Computational Biology",
journal-URL = "https://www.liebertpub.com/loi/cmb/",
onlinedate = "6 November 2023",
}
@Article{Zhang:2023:RRB,
author = "Qiang Zhang and Lei Xu and Baowen Xu",
title = "{RegCPython}: a Register-based {Python} Interpreter
for Better Performance",
journal = j-TACO,
volume = "20",
number = "1",
pages = "14:1--14:??",
month = mar,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1145/3568973",
ISSN = "1544-3566 (print), 1544-3973 (electronic)",
ISSN-L = "1544-3566",
bibdate = "Fri Feb 17 06:54:21 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/taco.bib",
URL = "https://dl.acm.org/doi/10.1145/3568973",
abstract = "Interpreters are widely used in the implementation of
many programming languages, such as Python, Perl, and
Java. Even though various JIT compilers emerge in an
endless stream, interpretation efficiency still plays a
critical role in program performance. Does a
stack-based interpreter or a register-based interpreter
perform better? The pros and cons of the pair of
architectures have long been discussed. The stack
architecture is attractive for its concise model and
compact bytecode, but our study finds that the
register-based interpreter can also be implemented
easily and that its bytecode size only grows by a small
margin. Moreover, the latter turns out to be
appreciably faster. Specifically, we implemented an
open source Python interpreter named RegCPython based
on CPython v3.10.1. The former is register based, while
the latter is stack based. Without changes in syntax,
Application Programming Interface, and Application
Binary Interface, RegCPython is excellently compatible
with CPython, as it does not break existing syntax or
interfaces. It achieves a speedup of 1.287 on the most
favorable benchmark and 0.977 even on the most
unfavorable benchmark. For all Python-intensive
benchmarks, the average speedup reaches 1.120 on x86
and 1.130 on ARM. Our evaluation work, which also
serves as an empirical study, provides a detailed
performance survey of both interpreters on modern
hardware. It points out that the register-based
interpreters are more efficient mainly due to the
elimination of machine instructions needed, while
changes in branch mispredictions and cache misses have
a limited impact on performance. Additionally, it
confirms that the register-based implementation is also
satisfactory in terms of memory footprint, compilation
cost, and implementation complexity.",
acknowledgement = ack-nhfb,
articleno = "14",
fjournal = "ACM Transactions on Architecture and Code Optimization
(TACO)",
journal-URL = "https://dl.acm.org/loi/taco",
}
@Article{Zhao:2023:CMP,
author = "Yang Zhao and Qing Liu",
title = "Causal {ML}: {Python} package for causal inference
machine learning",
journal = j-SOFTWAREX,
volume = "21",
number = "??",
pages = "??--??",
month = feb,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2022.101294",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Thu Jun 1 09:21:01 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
ttp://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711022002126",
acknowledgement = ack-nhfb,
articleno = "101294",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhao:2023:PFE,
author = "Yanli Zhao and Andrew Gu and Rohan Varma and Liang Luo
and Chien-Chin Huang and Min Xu and Less Wright and
Hamid Shojanazeri and Myle Ott and Sam Shleifer and
Alban Desmaison and Can Balioglu and Pritam Damania and
Bernard Nguyen and Geeta Chauhan and Yuchen Hao and
Ajit Mathews and Shen Li",
title = "{PyTorch FSDP}: Experiences on Scaling Fully Sharded
Data Parallel",
journal = j-PROC-VLDB-ENDOWMENT,
volume = "16",
number = "12",
pages = "3848--3860",
month = aug,
year = "2023",
CODEN = "????",
DOI = "https://doi.org/10.14778/3611540.3611569",
ISSN = "2150-8097",
ISSN-L = "2150-8097",
bibdate = "Mon Sep 18 10:22:20 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/vldbe.bib",
URL = "https://dl.acm.org/doi/10.14778/3611540.3611569",
abstract = "It is widely acknowledged that large models have the
potential to deliver superior performance across a
broad range of domains. Despite the remarkable
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. VLDB Endowment",
fjournal = "Proceedings of the VLDB Endowment",
journal-URL = "https://dl.acm.org/loi/pvldb",
}
@Article{Zutt:2023:BRO,
author = "Nicholas Zutt",
title = "Book Review: {{\booktitle{An object-oriented Python
cookbook in quantum information theory and quantum
computing}} by M. S. Ramkarthik and Pranay Barkataki,
Boca Raton, FL, CRC Press, Taylor \& {Francis} Group,
2023, 220 pp., 104 USD (hardback), ISBN:
978-1-032-25607-8}. {Scope}: handbook. Level:
postgraduate.",
journal = j-CONTEMP-PHYS,
volume = "64",
number = "1",
pages = "84--85",
year = "2023",
CODEN = "CTPHAF",
DOI = "https://doi.org/10.1080/00107514.2023.2217790",
ISSN = "0010-7514 (print), 1366-5812 (electronic)",
ISSN-L = "0010-7514",
bibdate = "Wed May 29 10:04:39 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/contempphys.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "Contemporary Physics",
journal-URL = "http://www.tandfonline.com/loi/tcph20",
onlinedate = "09 May 2023",
}
@Article{Abdullahi:2024:DPB,
author = "Asli M. Abdullahi and Jaime Hoefken Zink and Matheus
Hostert and Daniele Massaro and Silvia Pascoli",
title = "{DarkNews}: a {Python}-based event generator for heavy
neutral lepton production in neutrino-nucleus
scattering",
journal = j-COMP-PHYS-COMM,
volume = "297",
number = "??",
pages = "Article 109075",
month = apr,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.109075",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Feb 2 15:31:02 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523004204",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Ahirwar:2024:HBE,
author = "Mini Bharati Ahirwar and Subodh S. Khire and Shridhar
R. Gadre and Milind M. Deshmukh",
title = "Hydrogen bond energy estimation ({H-BEE}) in large
molecular clusters: a {Python} program for quantum
chemical investigations",
journal = j-J-COMPUT-CHEM,
volume = "45",
number = "5",
pages = "274--283",
day = "15",
month = feb,
year = "2024",
CODEN = "JCCHDD",
DOI = "https://doi.org/10.1002/jcc.27237",
ISSN = "0192-8651 (print), 1096-987X (electronic)",
ISSN-L = "0192-8651",
bibdate = "Sat May 25 08:38:30 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputchem2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Chem.",
fjournal = "Journal of Computational Chemistry",
journal-URL = "http://www.interscience.wiley.com/jpages/0192-8651",
onlinedate = "04 October 2023",
}
@Article{Amaral:2024:TPP,
author = "Miguel Amaral and Gabriel Signoretti and Marianne
Silva and Ivanovitch Silva",
title = "\pkg{TAC}: a {Python} package for {IoT}-focused {Tiny
Anomaly Compression}",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101747",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001183",
acknowledgement = ack-nhfb,
articleno = "101747",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Aoyama:2024:HWP,
author = "Tatsumi Aoyama and Kazuyoshi Yoshimi and Kota Ido and
Yuichi Motoyama and Taiki Kawamura and Takahiro Misawa
and Takeo Kato and Akito Kobayashi",
title = "{H-wave} --- a {Python} package for the
{Hartree--Fock} approximation and the random phase
approximation",
journal = j-COMP-PHYS-COMM,
volume = "298",
number = "??",
pages = "Article 109087",
month = may,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109087",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Mar 20 08:40:04 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524000109",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Arenas-Guerrero:2024:RFM,
author = "Juli{\'a}n Arenas-Guerrero and Paola Espinoza-Arias
and Jos{\'e} Antonio Bernab{\'e}-Diaz and Prashant
Deshmukh and Jos{\'e} Luis S{\'a}nchez-Fern{\'a}ndez
and Oscar Corcho",
title = "An \pkg{RML-FNML} module for {Python} user-defined
functions in \pkg{Morph-KGC}",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101709",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000803",
acknowledgement = ack-nhfb,
articleno = "101709",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Arnaudon:2024:APM,
author = "Alexis Arnaudon and Dominik J. Schindler and Robert L.
Peach and Adam Gosztolai and Maxwell Hodges and Michael
T. Schaub and Mauricio Barahona",
title = "{Algorithm 1044: PyGenStability}, a Multiscale
Community Detection with Generalized {Markov}
Stability",
journal = j-TOMS,
volume = "50",
number = "2",
pages = "15:1--15:??",
month = jun,
year = "2024",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3651225",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Jul 2 07:51:57 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3651225",
abstract = "We present PyGenStability, a general-use Python
software package that provides a suite of analysis and
visualization tools for unsupervised multiscale
community detection in graphs. PyGenStability finds
optimized partitions of a graph at different levels
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Math. Softw.",
articleno = "15",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Arya:2024:PSS,
author = "Deeksha M. Arya and Jin L. C. Guo and Martin P.
Robillard",
title = "Properties and Styles of Software Technology
Tutorials",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "2",
pages = "159--172",
month = feb,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2023.3332568",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Fri Feb 16 07:34:28 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "Codes; Documentation; documentation design;
documentation search; Java; Python; Software; Software
documentation; software tutorials; Task analysis;
tutorial properties; Tutorials",
}
@Article{Ataei:2024:XDM,
author = "Mohammadmehdi Ataei and Hesam Salehipour",
title = "\pkg{XLB}: a differentiable massively parallel lattice
{Boltzmann} library in {Python}",
journal = j-COMP-PHYS-COMM,
volume = "300",
number = "??",
pages = "??--??",
month = jul,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109187",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon May 6 07:51:16 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524001103",
acknowledgement = ack-nhfb,
articleno = "109187",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Awasthi:2024:DLB,
author = "Amruta Awasthi and Lenka Krpalkova and Joseph Walsh",
title = "Deep Learning-Based {Boolean}, Time Series, Error
Detection, and Predictive Analysis in Container Crane
Operations",
journal = j-ALGORITHMS-BASEL,
volume = "17",
number = "8",
year = "2024",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a17080333",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Fri Aug 30 05:57:31 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-4893/17/8/333",
abstract = "Deep learning is crucial in marine logistics and
container crane error detection, diagnosis, and
prediction. A novel deep learning technique using Long
Short-Term Memory (LSTM) detected and anticipated
errors in a system with imbalanced data. The LSTM model
was trained on real operational error data from
container cranes. The custom algorithm employs the
Synthetic Minority Oversampling TEchnique (SMOTE) to
balance the imbalanced data for operational data errors
(i.e., too few minority class samples). Python was used
to program. Pearson, Spearman, and Kendall correlation
matrices and covariance matrices are presented. The
model's training and validation loss is shown, and the
remaining data are predicted. The test set (30\% of
actual data) and forecasted data had RMSEs of 0.065. A
heatmap of a confusion matrix was created using
Matplotlib and Seaborn. Additionally, the error outputs
for the time series for the next n seconds were
projected, with the n seconds input by the user.
Accuracy was 0.996, precision was 1.00, recall was
0.500, and f1 score was 0.667, according to the
evaluation criteria that were produced. Experiments
demonstrated that the technique is capable of
identifying critical elements. Thus, future attempts
will improve the model's structure to forecast
industrial big data errors. However, the advantage is
that it can handle imbalanced data, which is usually
what most industries have. With additional data, the
model can be further improved.",
acknowledgement = ack-nhfb,
articleno = "333",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
}
@Article{Bakker:2024:HPH,
author = "Wim Bakker and Frank van Ruitenbeek and Harald van der
Werff and Christoph Hecker and Arjan Dijkstra and Freek
van der Meer",
title = "Hyperspectral {Python}: {HypPy}",
journal = j-ALGORITHMS-BASEL,
volume = "17",
number = "8",
year = "2024",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a17080337",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Fri Aug 30 05:57:31 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-4893/17/8/337",
abstract = "This paper describes the design, implementation, and
usage of a Python package called Hyperspectral Python
(HypPy). Proprietary software for processing
hyperspectral images is expensive, and tools developed
using these packages cannot be freely distributed. The
idea of HypPy is to be able to process hyperspectral
images using free and open-source software. HypPy was
developed using Python and relies on the
array-processing capabilities of packages like NumPy
and SciPy. HypPy was designed with practical imaging
spectrometry in mind and has implemented a number of
novel ideas. To name a few of these ideas, HypPy has
BandMath and SpectralMath tools for processing images
and spectra using Python statements, can process
spectral libraries as if they were images, and can
address bands by wavelength rather than band number. We
expect HypPy to be beneficial for research, education,
and projects using hyperspectral data because it is
flexible and versatile.",
acknowledgement = ack-nhfb,
articleno = "337",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
}
@Article{Belenchia:2024:LPL,
author = "Matteo Belenchia and Flavio Corradini and Michela
Quadrini and Michele Loreti",
title = "{libmg}: a {Python} library for programming graph
neural networks in {$ \mu {\cal G} $}",
journal = j-SCI-COMPUT-PROGRAM,
volume = "238",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2024.103165",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Tue Aug 27 08:33:19 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642324000881",
acknowledgement = ack-nhfb,
articleno = "103165",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Article{Blanco:2024:AAQ,
author = "Alison Fernandez Blanco and Araceli Queirolo
C{\'o}rdova and Alexandre Bergel and Juan Pablo
Sandoval Alcocer",
title = "Asking and Answering Questions During Memory
Profiling",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "5",
pages = "1096--1117",
month = may,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2024.3377127",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Sat Aug 24 08:23:19 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "Codes; Data mining; experimental design; Libraries;
memory management; Memory management; Program analysis;
Python; Resource management; Software",
}
@Article{Bodory:2024:EDM,
author = "Hugo Bodory and Federica Mascolo and Michael Lechner",
title = "Enabling Decision Making with the Modified Causal
Forest: Policy Trees for Treatment Assignment",
journal = j-ALGORITHMS-BASEL,
volume = "17",
number = "7",
year = "2024",
CODEN = "ALGOCH",
DOI = "https://doi.org/10.3390/a17070318",
ISSN = "1999-4893 (electronic)",
ISSN-L = "1999-4893",
bibdate = "Fri Aug 30 05:57:31 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/algorithms.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.mdpi.com/1999-4893/17/7/318",
abstract = "Decision making plays a pivotal role in shaping
outcomes across various disciplines, such as medicine,
economics, and business. This paper provides
practitioners with guidance on implementing a decision
tree designed to optimise treatment assignment policies
through an interpretable and non-parametric algorithm.
Building upon the method proposed by Zhou, Athey, and
Wager (2023), our policy tree introduces three key
innovations: a different approach to policy score
calculation, the incorporation of constraints, and
enhanced handling of categorical and continuous
variables. These innovations enable the evaluation of a
broader class of policy rules, all of which can be
easily obtained using a single module. We showcase the
effectiveness of our policy tree in managing multiple,
discrete treatments using datasets from diverse fields.
Additionally, the policy tree is implemented in the
open-source Python package mcf (modified causal
forest), facilitating its application in both
randomised and observational research settings.",
acknowledgement = ack-nhfb,
articleno = "318",
fjournal = "Algorithms (Basel)",
journal-URL = "https://www.mdpi.com/journal/algorithms",
}
@Article{Boguslawski:2024:PIF,
author = "Katharina Boguslawski and Filip Brz{\k{e}}k and Rahul
Chakraborty and Kacper Cie{\'s}lak and Seyedehdelaram
Jahani and Aleksandra Leszczyk and Artur Nowak and Emil
Sujkowski and Julian {\'S}wierczy{\'n}ski and Somayeh
Ahmadkhani and Dariusz K{\k{e}}dziera and Maximilian H.
Kriebel and Piotr Szymon {\.Z}uchowski and Pawe{\l}
Tecmer",
title = "{PyBEST}: Improved functionality and enhanced
performance",
journal = j-COMP-PHYS-COMM,
volume = "297",
number = "??",
pages = "Article 109049",
month = apr,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.109049",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Feb 2 15:31:02 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523003946",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Boris:2024:TCY,
author = "Alan Boris",
title = "Take Control of Your Home: Escape Proprietary
Smart-Home Tech with This {DIY} Panel",
journal = j-IEEE-SPECTRUM,
volume = "61",
number = "9",
pages = "16--18",
month = sep,
year = "2024",
CODEN = "IEESAM",
DOI = "https://doi.org/10.1109/MSPEC.2024.10669242",
ISSN = "0018-9235 (print), 1939-9340 (electronic)",
ISSN-L = "0018-9235",
bibdate = "Mon Sep 9 17:36:16 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeespectrum2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Spectrum",
fjournal = "IEEE Spectrum",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6",
keywords = "Browsers; Containers; Control system security; Control
systems; Electric variables measurement; Home
appliances; Home automation; Monitoring; Operating
systems; Python; Smart homes; Touch sensitive screens;
Web servers",
}
@Article{Bota:2024:BPT,
author = "Patr{\'\i}cia Bota and Rafael Silva and Carlos
Carreiras and Ana Fred and Hugo Pl{\'a}cido da Silva",
title = "\pkg{BioSPPy}: a {Python} toolbox for physiological
signal processing",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101712",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000839",
acknowledgement = ack-nhfb,
articleno = "101712",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Bour:2024:APP,
author = "Charline Bour and Abir Elbeji and Luigi {De Giovanni}
and Adrian Ahne and Guy Fagherazzi",
title = "{ALTRUIST}: a {Python} Package to Emulate a Virtual
Digital Cohort Study Using Social Media Data",
journal = j-IEEE-TRANS-BIG-DATA,
volume = "10",
number = "4",
pages = "568--575",
month = aug,
year = "2024",
DOI = "https://doi.org/10.1109/TBDATA.2024.3362193",
ISSN = "2332-7790",
ISSN-L = "2332-7790",
bibdate = "Sat Aug 24 07:37:49 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetransbigdata.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Big Data",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=6687317",
keywords = "Blogs; Cohort; Computational modeling; digital health;
Diseases; natural language processing; python;
Recruitment; social media; Social networking (online);
Sociology; Statistics",
}
@Article{Branthome:2024:PDE,
author = "Matthieu Branth{\^o}me",
title = "{Pyrates}: Design and Evaluation of a Serious Game
Aimed at Introducing {Python} Programming and Easing
the Transition from Blocks",
journal = j-TOCE,
volume = "24",
number = "1",
pages = "12:1--12:??",
month = mar,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3639061",
ISSN = "1946-6226",
ISSN-L = "1946-6226",
bibdate = "Mon May 13 06:43:27 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toce.bib",
URL = "https://dl.acm.org/doi/10.1145/3639061",
abstract = "This article reports on a design-based research study
centered on the conception and the assessment of the
Pyrates application. This online serious game aims at
introducing Python programming to K--12 students while
easing the transition from block-based \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Comp. Educ.",
articleno = "12",
fjournal = "ACM Transactions on Computing Education",
journal-URL = "https://dl.acm.org/loi/toce",
}
@Article{Castano:2024:QPL,
author = "Alberto Casta{\~n}o and Jaime Alonso and Pablo
Gonz{\'a}lez and Pablo P{\'e}rez and Juan Jos{\'e} del
Coz",
title = "\pkg{QuantificationLib}: a {Python} library for
quantification and prevalence estimation",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101728",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000992",
acknowledgement = ack-nhfb,
articleno = "101728",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Castro:2024:LHP,
author = "Oscar Castro and Pierrick Bruneau and
Jean-S{\'e}bastien Sottet and Dario Torregrossa",
title = "Landscape of High-Performance {Python} to Develop Data
Science and Machine Learning Applications",
journal = j-COMP-SURV,
volume = "56",
number = "3",
pages = "65:1--65:??",
month = mar,
year = "2024",
CODEN = "CMSVAN",
DOI = "https://doi.org/10.1145/3617588",
ISSN = "0360-0300 (print), 1557-7341 (electronic)",
ISSN-L = "0360-0300",
bibdate = "Fri Nov 3 15:05:35 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compsurv.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3617588",
abstract = "Python has become the prime language for application
development in the data science and machine learning
domains. However, data scientists are not necessarily
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Comput. Surv.",
articleno = "65",
fjournal = "ACM Computing Surveys",
journal-URL = "https://dl.acm.org/loi/csur",
}
@Article{Chabib:2024:GGA,
author = "Ahmed Chabib and Jean-Fran{\c{c}}ois Witz and Pierre
Gosselet and Vincent Magnier",
title = "\pkg{GCPU\_OpticalFlow}: a {GPU} accelerated {Python}
software for strain measurement",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101688",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000591",
acknowledgement = ack-nhfb,
articleno = "101688",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Chen:2024:RDT,
author = "Zhifei Chen and Lin Chen and Yibiao Yang and Qiong
Feng and Xuansong Li and Wei Song",
title = "Risky Dynamic Typing-related Practices in {Python}: an
Empirical Study",
journal = j-TOSEM,
volume = "33",
number = "6",
pages = "140:1--140:??",
month = jul,
year = "2024",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3649593",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Mon Sep 30 08:52:15 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3649593",
abstract = "Python's dynamic typing nature provides developers
with powerful programming abstractions. However, many
type-related bugs are accumulated in code bases of
Python due to the misuse of dynamic typing. The goal of
this article is to aid in the understanding \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Softw. Eng. Methodol.",
articleno = "140",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Cheng:2024:RKB,
author = "Wei Cheng and Wei Hu and Xiaoxing Ma",
title = "Revisiting Knowledge-Based Inference of {Python}
Runtime Environments: a Realistic and Adaptive
Approach",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "2",
pages = "258--279",
month = feb,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2023.3346474",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Fri Feb 16 07:34:28 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "Codes; configuration management; Feature extraction;
Knowledge based systems; knowledge graph;
knowledge-based inference; Python; Python runtime
environment; Runtime environment; Syntactics; Task
analysis",
}
@Article{Choudhuri:2024:CPP,
author = "Souradipto Choudhuri and Keya Sau",
title = "{CodonU}: a {Python} Package for Codon Usage
Analysis",
journal = j-TCBB,
volume = "21",
number = "1",
pages = "36--44",
year = "2024",
CODEN = "ITCBCY",
DOI = "https://doi.org/10.1109/TCBB.2023.3335823",
ISSN = "1545-5963 (print), 1557-9964 (electronic)",
ISSN-L = "1545-5963",
bibdate = "Fri May 31 09:09:21 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tcbb.bib",
URL = "https://dl.acm.org/doi/10.1109/TCBB.2023.3335823",
abstract = "Codon Usage Analysis (CUA) has been accompanied by
several web servers and independent programs written in
several programming languages. Also this diversity
speaks for the need of a reusable software that can be
helpful in reading, manipulating and \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "IEEE/ACM Trans. Comput. Biol. Bioinform.",
fjournal = "IEEE/ACM Transactions on Computational Biology and
Bioinformatics",
journal-URL = "https://dl.acm.org/loi/tcbb",
}
@Article{Chowdhary:2024:PES,
author = "Abhijit Chowdhary and Shady E. Ahmed and Ahmed Attia",
title = "{PyOED}: an Extensible Suite for Data Assimilation and
Model-Constrained Optimal Design of Experiments",
journal = j-TOMS,
volume = "50",
number = "2",
pages = "11:1--11:??",
month = jun,
year = "2024",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/3653071",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
bibdate = "Tue Jul 2 07:51:57 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/toms.bib",
URL = "https://dl.acm.org/doi/10.1145/3653071",
abstract = "This article describes PyOED, a highly extensible
scientific package that enables developing and testing
model-constrained optimal experimental design (OED) for
inverse problems. Specifically, PyOED aims to be a
comprehensive Python toolkit for model-. \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Math. Softw.",
articleno = "11",
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "https://dl.acm.org/loi/toms",
}
@Article{Cunha:2024:PMD,
author = "Joao Cunha and Jos{\'e} Queiroz and Carlos Silva and
Fabio Gentile and Diogo E. Aguiam",
title = "\pkg{pyMOE}: Mask design and modeling for micro
optical elements and flat optics",
journal = j-COMP-PHYS-COMM,
volume = "305",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109331",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 11 14:54:24 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524002546",
acknowledgement = ack-nhfb,
articleno = "109331",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{DAquino:2024:PPI,
author = "Zachary D'Aquino and Sylwester Arabas and Jeffrey H.
Curtis and Akshunna Vaishnav and Nicole Riemer and
Matthew West",
title = "\pkg{PyPartMC}: a {Pythonic} interface to a
particle-resolved, {Monte Carlo} aerosol simulation
framework",
journal = j-SOFTWAREX,
volume = "25",
number = "??",
pages = "??--??",
month = feb,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101613",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023003096",
acknowledgement = ack-nhfb,
articleno = "101613",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Du:2024:JWE,
author = "Dou Du and Taylor J. Baird and Kristjan Eimre and Sara
Bonella and Giovanni Pizzi",
title = "\pkg{Jupyter} widgets and extensions for education and
research in computational physics and chemistry",
journal = j-COMP-PHYS-COMM,
volume = "305",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109353",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 11 14:54:24 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524002765",
acknowledgement = ack-nhfb,
articleno = "109353",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Dyczkowski:2024:PLI,
author = "Krzysztof Dyczkowski and Piotr Grochowalski and Dawid
Kosior and Dorota Gil and Wojciech Kozio{\l} and
Barbara P{\k{e}}kala and Uzay Kaymak and Caro Fuchs and
Marco S. Nobile",
title = "\pkg{Python} library for interval-valued fuzzy
inference",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101730",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001018",
acknowledgement = ack-nhfb,
articleno = "101730",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Ehrenberg:2024:PSC,
author = "Melanie Ehrenberg and Shahram Sarkani and Thomas A.
Mazzuchi",
title = "{Python} source code vulnerability detection with
named entity recognition",
journal = j-COMPUT-SECUR,
volume = "140",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "CPSEDU",
DOI = "https://doi.org/10.1016/j.cose.2024.103802",
ISSN = "0167-4048 (print), 1872-6208 (electronic)",
ISSN-L = "0167-4048",
bibdate = "Sat Apr 6 10:17:19 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/computsecur2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167404824001032",
acknowledgement = ack-nhfb,
articleno = "103802",
fjournal = "Computers \& Security",
journal-URL = "http://www.sciencedirect.com/science/journal/01674048",
}
@Article{Errami:2024:VPL,
author = "Najib Errami and Eduardo Queiroga and Ruslan Sadykov
and Eduardo Uchoa",
title = "{VRPSolverEasy}: a {Python} Library for the Exact
Solution of a Rich Vehicle Routing Problem",
journal = j-INFORMS-J-COMPUT,
volume = "36",
number = "4",
pages = "956--965",
month = "Fall",
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1287/ijoc.2023.0103",
ISSN = "1091-9856 (print), 1526-5528 (electronic)",
ISSN-L = "1091-9856",
bibdate = "Wed Sep 4 06:43:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pubsonline.informs.org/doi/full/10.1287/ijoc.2023.0103",
acknowledgement = ack-nhfb,
ajournal = "INFORMS J. Comput.",
fjournal = "INFORMS Journal on Computing",
journal-URL = "https://pubsonline.informs.org/journal/ijoc",
onlinedate = "28 December 2023",
}
@Article{Escribano:2024:PPP,
author = "Nicolas Escribano and Jos{\'e} Manuel Bielsa and
Francisco Lahuerta",
title = "\pkg{pymetamodels}: a {Python} package for
metamodeling and design automation",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101735",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001067",
acknowledgement = ack-nhfb,
articleno = "101735",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Fakhoury:2024:LBT,
author = "Sarah Fakhoury and Aaditya Naik and Georgios Sakkas
and Saikat Chakraborty and Shuvendu K. Lahiri",
title = "{LLM}-Based Test-Driven Interactive Code Generation:
User Study and Empirical Evaluation",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "9",
pages = "2254--2268",
month = sep,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2024.3428972",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Wed Oct 23 14:46:33 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "Accuracy; Artificial intelligence; Benchmark testing;
code generation; Codes; cognitive load; human factors;
Intent disambiguation; LLMs; Natural languages; Python;
Task analysis; test generation",
}
@Article{Fernandez-Candel:2024:ULU,
author = "Carlos Javier Fern{\'a}ndez-Candel and Paula Mu{\~n}oz
and Javier Troya and Antonio Vallecillo",
title = "\pkg{UTypes}: a library for uncertain datatypes in
{Python}",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101676",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000475",
acknowledgement = ack-nhfb,
articleno = "101676",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Fischer:2024:BRI,
author = "Daniel Fischer",
title = "Book Review: {{\booktitle{An Introduction to R and
Python for Data Analysis: a Side-by-Side Approach}}
Taylor R. Brown Chapman and Hall\slash CRC, 2023, 246
pages (hardback \$99.95, ebook \$74.96) ISBN
978-10322032-56}",
journal = j-INT-STAT-REV,
volume = "92",
number = "1",
pages = "132--134",
month = apr,
year = "2024",
CODEN = "ISTRDP",
DOI = "https://doi.org/10.1111/insr.12568",
ISSN = "0306-7734 (print), 1751-5823 (electronic)",
ISSN-L = "0306-7734",
bibdate = "Tue May 28 13:00:02 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/intstatrev.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
acknowledgement = ack-nhfb,
ajournal = "Int. Stat. Rev.",
fjournal = "International Statistical Review",
journal-URL = "http://www.jstor.org/journals/03067734.html;
https://onlinelibrary.wiley.com/loi/17515823",
onlinedate = "06 March 2024",
}
@Article{Fitzpatrick:2024:DPP,
author = "Paxton C. Fitzpatrick and Jeremy R. Manning",
title = "\pkg{Davos}: a {Python} package ``smuggler'' for
constructing lightweight reproducible notebooks",
journal = j-SOFTWAREX,
volume = "25",
number = "??",
pages = "??--??",
month = feb,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101614",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023003102",
acknowledgement = ack-nhfb,
articleno = "101614",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Frantz:2024:MBD,
author = "Miles Frantz and Ya Xiao and Tanmoy Sarkar Pias and Na
Meng and Danfeng Yao",
title = "Methods and Benchmark for Detecting Cryptographic
{API} Misuses in {Python}",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "5",
pages = "1118--1129",
month = may,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2024.3377182",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Sat Aug 24 08:23:19 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/cryptography2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "benchmark; Benchmark testing; Ciphers; Codes;
cryptographic API misuses; Cryptography; Encryption;
Libraries; Python; Static code analysis",
}
@Article{Fraszczak:2024:NCP,
author = "Damian Fraszczak and Edyta Fraszczak",
title = "\pkg{NetCenLib}: a comprehensive {Python} library for
network centrality analysis and evaluation",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101699",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000700",
acknowledgement = ack-nhfb,
articleno = "101699",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Freeborn:2024:UDR,
author = "Todd J. Freeborn and Jacob A. Mota",
title = "\pkg{Ultrasound DICOM Renamer}: a {MATLAB} graphical
user interface for workflow improvement for {DICOM}
ultrasound renaming",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101743",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/matlab.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001146",
acknowledgement = ack-nhfb,
articleno = "101743",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gamallo-Fernandez:2024:VPL,
author = "Pedro Gamallo-Fernandez and Efr{\'e}n Rama-Maneiro and
Juan C. Vidal and Manuel Lama",
title = "\pkg{VERONA}: a {Python} library for benchmarking deep
learning in business process monitoring",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101734",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001055",
acknowledgement = ack-nhfb,
articleno = "101734",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Gao:2024:CDL,
author = "Kai Gao and Runzhi He and Bing Xie and Minghui Zhou",
title = "Characterizing Deep Learning Package Supply Chains in
{PyPI}: Domains, Clusters, and Disengagement",
journal = j-TOSEM,
volume = "33",
number = "4",
pages = "97:1--97:??",
month = may,
year = "2024",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3640336",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Wed Apr 24 13:33:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3640336",
abstract = "Deep learning (DL) frameworks have become the
cornerstone of the rapidly developing DL field. Through
installation dependencies specified in the distribution
metadata, numerous packages directly or transitively
depend on DL frameworks, layer after layer, \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Softw. Eng. Methodol.",
articleno = "97",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Guo:2024:GPT,
author = "Yimeng Guo and Zhifei Chen and Lin Chen and Wenjie Xu
and Yanhui Li and Yuming Zhou and Baowen Xu",
title = "Generating {Python} Type Annotations from Type
Inference: How Far Are We?",
journal = j-TOSEM,
volume = "33",
number = "5",
pages = "123:1--123:??",
month = jun,
year = "2024",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3652153",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Fri Jun 7 08:54:10 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3652153",
abstract = "In recent years, dynamic languages such as Python have
become popular due to their flexibility and
productivity. The lack of static typing makes programs
face the challenges of fixing type errors, early bug
detection, and code understanding. To alleviate
\ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Softw. Eng. Methodol.",
articleno = "123",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Guo:2024:PLD,
author = "Juncai Guo and Jin Liu and Xiao Liu and Yao Wan and
Yanjie Zhao and Li Li and Kui Liu and Jacques Klein and
Tegawend{\'e} F. Bissyand{\'e}",
title = "\pkg{PyScribe} --- Learning to describe {Python}
code",
journal = j-SPE,
volume = "54",
number = "3",
pages = "501--527",
month = mar,
year = "2024",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3291",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Fri May 24 08:43:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "09 December 2023",
}
@Article{Heinrich:2024:NSA,
author = "G. Heinrich and S. P. Jones and M. Kerner and V.
Magerya and A. Olsson and J. Schlenk",
title = "Numerical scattering amplitudes with {pySecDec}",
journal = j-COMP-PHYS-COMM,
volume = "295",
number = "??",
pages = "Article 108956",
month = feb,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108956",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Dec 21 14:15:33 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523003016",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Huang:2024:RUA,
author = "Qing Huang and Zhiwen Luo and Zhenchang Xing and
Jinshan Zeng and Jieshan Chen and Xiwei Xu and Yong
Chen",
title = "Revealing the Unseen: {AI} Chain on {LLMs} for
Predicting Implicit Dataflows to Generate Dataflow
Graphs in Dynamically Typed Code",
journal = j-TOSEM,
volume = "33",
number = "7",
pages = "183:1--183:??",
month = sep,
year = "2024",
CODEN = "ATSMER",
DOI = "https://doi.org/10.1145/3672458",
ISSN = "1049-331X (print), 1557-7392 (electronic)",
ISSN-L = "1049-331X",
bibdate = "Mon Sep 30 08:52:18 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/tosem.bib",
URL = "https://dl.acm.org/doi/10.1145/3672458",
abstract = "Dataflow graphs (DFGs) capture definitions (defs) and
uses across program blocks, which is a fundamental
program representation for program analysis, testing
and maintenance. However, dynamically typed programming
languages like Python present implicit \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Softw. Eng. Methodol.",
articleno = "183",
fjournal = "ACM Transactions on Software Engineering and
Methodology",
journal-URL = "https://dl.acm.org/loi/tosem",
}
@Article{Jha:2024:GAT,
author = "Raghav G. Jha and Abhishek Samlodia",
title = "{GPU}-acceleration of tensor renormalization with
{PyTorch} using {CUDA}",
journal = j-COMP-PHYS-COMM,
volume = "294",
number = "??",
pages = "Article 108941",
month = jan,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.108941",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Tue Oct 31 06:41:24 MDT 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523002862",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Jin:2024:GCP,
author = "Yuyang Jin and Haojie Wang and Runxin Zhong and Chen
Zhang and Xia Liao and Feng Zhang and Jidong Zhai",
title = "Graph-Centric Performance Analysis for Large-Scale
Parallel Applications",
journal = j-IEEE-TRANS-PAR-DIST-SYS,
volume = "35",
number = "7",
pages = "1221--1238",
month = jul,
year = "2024",
CODEN = "ITDSEO",
DOI = "https://doi.org/10.1109/TPDS.2024.3396849",
ISSN = "1045-9219 (print), 1558-2183 (electronic)",
ISSN-L = "1045-9219",
bibdate = "Wed Jun 19 16:27:44 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranspardistsys2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Parallel and Distributed
Systems",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=71",
keywords = "Analytical models; Codes; Computer bugs; dataflow
abstraction; graph analysis; Libraries; Parallel
applications; Performance analysis; performance
analysis; Python; Task analysis",
}
@Article{Juge:2024:ASS,
author = "Vincent Jug{\'e}",
title = "Adaptive Shivers Sort: an Alternative Sorting
Algorithm",
journal = j-TALG,
volume = "20",
number = "4",
pages = "31:1--31:55",
month = oct,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3664195",
ISSN = "1549-6325 (print), 1549-6333 (electronic)",
ISSN-L = "1549-6325",
bibdate = "Sat Oct 12 11:56:24 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/java2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/talg.bib",
URL = "https://dl.acm.org/doi/10.1145/3664195",
abstract = "We present a new sorting algorithm, called adaptive
ShiversSort, that exploits the existence of monotonic
runs for sorting efficiently partially sorted data.
This algorithm is a variant of the well-known algorithm
TimSort, which is the sorting algorithm used in
standard libraries of programming languages, such as
Python or Java (for non-primitive types). More
precisely, adaptive ShiversSort is a so-called
$k$-aware merge-sort algorithm, a class that captures
TimSort-like algorithms and that was introduced by Buss
and Knop.\par
In this article, we prove that, although adaptive
ShiversSort is simple to implement and differs only
slightly from TimSort, its computational cost, in
number of comparisons performed, is optimal within the
class of natural merge-sort algorithms, up to a small
additive linear term. This makes adaptive ShiversSort
the first $k$-aware algorithm to benefit from this
property, which is also a 33\% improvement over
TimSort's worst-case. This suggests that adaptive
ShiversSort could be a strong contender for being used
instead of TimSort.\par
Then, we investigate the optimality of $k$-aware
algorithms. We give lower and upper bounds on the best
approximation factors of such algorithms, compared to
optimal stable natural merge-sort algorithms. In
particular, we design generalisations of adaptive
ShiversSort whose computational costs are optimal up to
arbitrarily small multiplicative factors.",
acknowledgement = ack-nhfb,
ajournal = "ACM Trans. Algorithms",
articleno = "31",
fjournal = "ACM Transactions on Algorithms (TALG)",
journal-URL = "https://dl.acm.org/loi/talg",
}
@Article{Kim:2024:EPB,
author = "Minhyo Kim and Pilsung Kim and Riccardo Bassiri and
Kiran Prasai and Martin M. Fejer and Kyung-ha Lee",
title = "\pkg{ePDFpy}: a {Python}-based interactive {GUI} tool
for electron pair distribution function analysis of
amorphous materials",
journal = j-COMP-PHYS-COMM,
volume = "299",
number = "??",
pages = "??--??",
month = jun,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109137",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon May 6 07:51:16 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524000602",
acknowledgement = ack-nhfb,
articleno = "109137",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Klein:2024:ROS,
author = "Patrick S. Klein and Maximilian Schiffer",
title = "{RoutingBlocks}: an Open-Source {Python} Package for
Vehicle Routing Problems with Intermediate Stops",
journal = j-INFORMS-J-COMPUT,
volume = "36",
number = "4",
pages = "966--973",
month = "Fall",
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1287/ijoc.2023.0104",
ISSN = "1091-9856 (print), 1526-5528 (electronic)",
ISSN-L = "1091-9856",
bibdate = "Wed Sep 4 06:43:31 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/informs-j-comput.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://pubsonline.informs.org/doi/full/10.1287/ijoc.2023.0104",
acknowledgement = ack-nhfb,
ajournal = "INFORMS J. Comput.",
fjournal = "INFORMS Journal on Computing",
journal-URL = "https://pubsonline.informs.org/journal/ijoc",
onlinedate = "29 January 2024",
}
@Article{Klesk:2024:FEC,
author = "Przemys{\l}aw Klesk",
title = "\pkg{FastRealBoostBins}: an ensemble classifier for
fast predictions implemented in {Python} via
\pkg{numba.jit} and \pkg{numba.cuda}",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101644",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000153",
acknowledgement = ack-nhfb,
articleno = "101644",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lahdour:2024:EOP,
author = "M. Lahdour and T. {El Bardouni} and O. {El Hajjaji}
and J. {El Bakkali} and J. Al-Zain and S.
Oulad-Belayachi and H. Ziani and Abdelghani Idrissi and
S. El Maliki {El Hlaibi}",
title = "\pkg{ERSN-OpenMC-Py}: a {Python}-based open-source
software for {OpenMC} {Monte Carlo} code",
journal = j-COMP-PHYS-COMM,
volume = "299",
number = "??",
pages = "??--??",
month = jun,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109121",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon May 6 07:51:16 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524000444",
acknowledgement = ack-nhfb,
articleno = "109121",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Lang:2024:EPN,
author = "Logan Lang and Pedram Tavadze and Andres Tellez and
Eric Bousquet and He Xu and Francisco Mu{\~n}oz and
Nicolas Vasquez and Uthpala Herath and Aldo H. Romero",
title = "Expanding {PyProcar} for new features,
maintainability, and reliability",
journal = j-COMP-PHYS-COMM,
volume = "297",
number = "??",
pages = "Article 109063",
month = apr,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.109063",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Feb 2 15:31:02 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523004083",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Lavanya:2024:ECM,
author = "V. Lavanya and P. Chandra Sekhar",
title = "Efficient Cybersecurity Model Using Wavelet Deep {CNN}
and Enhanced Rain Optimization Algorithm",
journal = j-INT-J-IMAGE-GRAPHICS,
volume = "24",
number = "04",
pages = "??--??",
month = jul,
year = "2024",
DOI = "https://doi.org/10.1142/S0219467824500487",
ISSN = "0219-4678",
ISSN-L = "0219-4678",
bibdate = "Sat Oct 19 15:24:03 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ijig.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://www.worldscientific.com/doi/10.1142/S0219467824500487",
abstract = "Cybersecurity has received greater attention in modern
times due to the emergence of IoT (Internet-of-Things)
and CNs (Computer Networks). Because of the massive
increase in Internet access, various malicious malware
have emerged and pose significant computer security
threats. The numerous computing processes across the
network have a high risk of being tampered with or
exploited, which necessitates developing effective
intrusion detection systems. Therefore, it is essential
to build an effective cybersecurity model to detect the
different anomalies or cyber-attacks in the network.
This work introduces a new method known as {\em Wavelet
Deep Convolutional Neural Network (WDCNN)\/} to
classify cyber-attacks. The presented network combines
WDCNN with Enhanced Rain Optimization Algorithm (EROA)
to minimize the loss in the network. This proposed
algorithm is designed to detect attacks in large-scale
data and reduces the complexities of detection with
maximum detection accuracy. The proposed method is
implemented in PYTHON. The classification process is
completed with the help of the two most famous
datasets, KDD cup 1999 and CICMalDroid 2020. The
performance of WDCNN\_EROA can be assessed using
parameters like specificity, accuracy, precision
F-measure and recall. The results showed that the
proposed method is about 98.72\% accurate for the first
dataset and 98.64\% for the second dataset.",
acknowledgement = ack-nhfb,
articleno = "2450048",
fjournal = "International Journal of Image and Graphics (IJIG)",
journal-URL = "http://www.worldscientific.com/worldscinet/ijig",
}
@Article{LeClercq:2024:APP,
author = "Louis-St{\'e}phane {Le Clercq}",
title = "{ABCal}: a {Python} package for author bias
computation and scientometric plotting for reviews and
meta-analyses",
journal = j-SCIENTOMETRICS,
volume = "129",
number = "1",
pages = "581--600",
month = jan,
year = "2024",
CODEN = "SCNTDX",
DOI = "https://doi.org/10.1007/s11192-023-04880-6",
ISSN = "0138-9130 (print), 1588-2861 (electronic)",
ISSN-L = "0138-9130",
bibdate = "Wed Feb 14 09:29:16 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scientometrics2020.bib",
URL = "https://link.springer.com/article/10.1007/s11192-023-04880-6",
acknowledgement = ack-nhfb,
ajournal = "Scientometrics",
fjournal = "Scientometrics",
journal-URL = "http://link.springer.com/journal/11192",
}
@Article{Li:2024:NLR,
author = "Bo Li and Haowei Quan and Jiawei Wang and Pei Liu and
Haipeng Cai and Yuan Miao and Yun Yang and Li Li",
title = "Neural Library Recommendation by Embedding
Project-Library Knowledge Graph",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "6",
pages = "1620--1638",
month = jun,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2024.3393504",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Sat Aug 24 08:23:19 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "graph neural network; Graph neural networks; knowledge
graph; Knowledge graphs; Libraries; Mobile
applications; Python; recommendation; Software;
Third-party library; Vectors",
}
@Article{Li:2024:PPV,
author = "Chunfang Li and Yuchen Pei and Yushi Shen and Junli Lu
and Yalv Fan and Xiaoyu Linghu and Yuanzhi Tian and Kun
Wang",
title = "\pkg{PyVisVue3D3}: {Python} visualization from
hierarchy tree to call graph",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101689",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000608",
acknowledgement = ack-nhfb,
articleno = "101689",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lin:2024:MPB,
author = "Jian-Hao Lin and Yu-Juan Quan and Bo-Ping Han",
title = "\pkg{MetaIBM}: a {Python}-based library for
individual-based modelling of eco-evolutionary dynamics
in spatial-explicit metacommunities",
journal = j-ECOL-MODELL,
volume = "492",
number = "??",
pages = "??--??",
month = jun,
year = "2024",
CODEN = "ECMODT",
DOI = "https://doi.org/10.1016/j.ecolmodel.2024.110730",
ISSN = "0304-3800 (print), 1872-7026 (electronic)",
ISSN-L = "0304-3800",
bibdate = "Mon May 6 11:12:46 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ecolmodell2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0304380024001182",
acknowledgement = ack-nhfb,
ajournal = "Ecol. Modell.",
articleno = "110730",
fjournal = "Ecological Modelling: International Journal on
Ecological Modelling and Systems Ecology",
journal-URL = "https://www.journals.elsevier.com/ecological-modelling",
}
@Article{Lopez-Fernandez:2024:BNP,
author = "Aurelio L{\'o}pez-Fern{\'a}ndez and Francisco A.
G{\'o}mez-Vela and Jorge Gonzalez-Dominguez and
Parameshachari Bidare-Divakarachari",
title = "\pkg{bioScience}: a new {Python} science library for
high-performance computing bioinformatics analytics",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101666",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000372",
acknowledgement = ack-nhfb,
articleno = "101666",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Lopez:2024:DRA,
author = "Alvaro Lorenzo Lopez and Ashley Morris and Owain Jones
and Alexander B. Phillips and Francisco Mario
Hern{\'a}ndez Tejera and Adrian Penate-Sanchez",
title = "Developing a Reconfigurable Architecture for the
Remote Operation of Marine Autonomous Systems",
journal = j-IEEE-SOFTWARE,
volume = "41",
number = "4",
pages = "160--170",
month = apr,
year = "2024",
CODEN = "IESOEG",
DOI = "https://doi.org/10.1109/MS.2023.3317065",
ISSN = "0740-7459 (print), 1937-4194 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Tue Oct 15 14:23:25 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesoft2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Softw.",
fjournal = "IEEE Software",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
keywords = "Autonomous robots; Autonomous vehicles; Logic gates;
Marine technology; Microservice architectures;
Oceanography; Performance evaluation; Python;
Reconfigurable architectures; Remote handling
equipment; Robots; Software architecture; Web
services",
}
@Article{Manzano:2024:TPP,
author = "Mart{\'\i} Manzano and Claudia Ayala and Cristina
G{\'o}mez",
title = "\pkg{TrustML}: a {Python} package for computing the
trustworthiness of {ML} models",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101740",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001110",
acknowledgement = ack-nhfb,
articleno = "101740",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Maurer:2024:PPT,
author = "Valentin J. Maurer and Marc Siggel and Jan Kosinski",
title = "\pkg{PyTME} ({Python Template Matching Engine}): a
fast, flexible, and multi-purpose template matching
library for cryogenic electron microscopy data",
journal = j-SOFTWAREX,
volume = "25",
number = "??",
pages = "??--??",
month = feb,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101636",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000074",
acknowledgement = ack-nhfb,
articleno = "101636",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Mitura:2024:MIC,
author = "Jakub Mitura and Beata E. Chrapko and Oliwia
Bachanek-Mitura",
title = "\pkg{MedVoxelHD}: Improved {CUDA-accelerated}
morphological {Hausdorff} distances in medical image
analysis",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101744",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001158",
acknowledgement = ack-nhfb,
articleno = "101744",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Molner:2024:SPB,
author = "Antonio Molner and Francisco Carrillo-Perez and
Alberto Guill{\'e}n",
title = "\pkg{SnapperML}: a {Python}-based framework to improve
machine learning operations",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101648",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000190",
acknowledgement = ack-nhfb,
articleno = "101648",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Natella:2024:ACG,
author = "Roberto Natella and Pietro Liguori and Cristina
Improta and Bojan Cukic and Domenico Cotroneo",
title = "{AI} Code Generators for Security: Friend or Foe?",
journal = j-IEEE-SEC-PRIV,
volume = "22",
number = "5",
pages = "73--81",
month = sep # "\slash " # oct,
year = "2024",
DOI = "https://doi.org/10.1109/MSEC.2024.3355713",
ISSN = "1540-7993 (print), 1558-4046 (electronic)",
ISSN-L = "1540-7993",
bibdate = "Sat Sep 21 07:05:53 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesecpriv.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Security \& Privacy",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=8013",
keywords = "Artificial intelligence; Benchmark testing; Codes;
Computer security; Large language models; Natural
languages; Performance evaluation; Python; Security;
Writing",
}
@Article{Nazarov:2024:HLG,
author = "N. A. Nazarov and V. V. Terekhov",
title = "High level {GPU}-accelerated {$2$D} {PIV} framework in
{Python}",
journal = j-COMP-PHYS-COMM,
volume = "295",
number = "??",
pages = "Article 109009",
month = feb,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.109009",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Thu Dec 21 14:15:33 MST 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523003545",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Pandey:2024:PND,
author = "Prakash Pandey and Sudhir K. Pandey",
title = "\pkg{PH-NODE}: a {DFPT} and finite displacement
supercell based {Python} code for searching nodes in
topological phononic materials",
journal = j-COMP-PHYS-COMM,
volume = "303",
number = "??",
pages = "??--??",
month = oct,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109281",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Aug 7 06:48:28 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524002042",
acknowledgement = ack-nhfb,
articleno = "109281",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Pinon:2024:BRH,
author = "Adelson Pi{\~n}{\'o}n",
title = "Book Review: {{\booktitle{Handbook of Regression
Modeling in People Analytics, With Examples in R and
Python}}, by Keith McNulty, 1st edition, CRC Press.
2021. 255 pp. ISBN: 978-1-032-04174-2, \pounds 59.99
(hbk)}",
journal = j-J-R-STAT-SOC-SER-A-STAT-SOC,
volume = "187",
number = "2",
pages = "544--545",
month = apr,
year = "2024",
CODEN = "JSSAEF",
DOI = "https://doi.org/10.1093/jrsssa/qnad116",
ISSN = "0964-1998 (print), 1467-985X (electronic)",
ISSN-L = "0964-1998",
bibdate = "Tue Apr 23 08:47:43 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jrss-a-2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://academic.oup.com/jrsssa/article/187/2/544/7256154",
acknowledgement = ack-nhfb,
fjournal = "Journal of the Royal Statistical Society. Series A
(Statistics in Society)",
journal-URL = "https://academic.oup.com/jrsssa/;
http://www.jstor.org/journals/09641998.html",
}
@Article{Pinon:2024:HRM,
author = "Adelson Pi{\~n}{\'o}n",
title = "Handbook of Regression Modeling in People Analytics,
With Examples in {R} and {Python}",
journal = j-J-R-STAT-SOC-SER-A-STAT-SOC,
volume = "187",
number = "2",
pages = "544--545",
month = apr,
year = "2024",
CODEN = "JSSAEF",
DOI = "https://doi.org/10.1093/jrsssa/qnad116",
ISSN = "0964-1998 (print), 1467-985X (electronic)",
ISSN-L = "0964-1998",
bibdate = "Tue Apr 23 08:47:43 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jrss-a-2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/s-plus.bib",
URL = "http://academic.oup.com/jrsssa/article/187/2/544/7256154",
acknowledgement = ack-nhfb,
fjournal = "Journal of the Royal Statistical Society. Series A
(Statistics in Society)",
journal-URL = "https://academic.oup.com/jrsssa/;
http://www.jstor.org/journals/09641998.html",
}
@Article{Podgorski:2024:BRG,
author = "Krzysztof Podg{\'o}rski",
title = "Book Review: {{\booktitle{-Geographic Data Science
With Python}}, Sergio Rey, Dani Arribas-Bel, Levi John
Wolf CRC Press, 2023, xiv + 410 pages, 119 Color \& 4
B/W Illustrations, \pounds 39.19\slash \$89.95,
paperback ISBN: 978-1-032-44595-3 (pbk)}",
journal = j-INT-STAT-REV,
volume = "92",
number = "1",
pages = "134--135",
month = apr,
year = "2024",
CODEN = "ISTRDP",
DOI = "https://doi.org/10.1111/insr.12569",
ISSN = "0306-7734 (print), 1751-5823 (electronic)",
ISSN-L = "0306-7734",
bibdate = "Tue May 28 13:00:02 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/intstatrev.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "Int. Stat. Rev.",
fjournal = "International Statistical Review",
journal-URL = "http://www.jstor.org/journals/03067734.html;
https://onlinelibrary.wiley.com/loi/17515823",
onlinedate = "28 February 2024",
}
@Article{Potvliege:2024:MCP,
author = "R. M. Potvliege",
title = "\pkg{mqdtfit}: a collection of {Python} functions for
empirical multichannel quantum defect calculations",
journal = j-COMP-PHYS-COMM,
volume = "300",
number = "??",
pages = "??--??",
month = jul,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109172",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon May 6 07:51:16 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S001046552400095X",
acknowledgement = ack-nhfb,
articleno = "109172",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Rak-amnouykit:2024:PPS,
author = "Ingkarat Rak-amnouykit and Ana Milanova and Guillaume
Baudart and Martin Hirzel and Julian Dolby",
title = "Principled and practical static analysis for {Python}:
{Weakest} precondition inference of hyperparameter
constraints",
journal = j-SPE,
volume = "54",
number = "3",
pages = "363--393",
month = mar,
year = "2024",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3279",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Fri May 24 08:43:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "22 November 2023",
}
@Article{Reyes:2024:SPL,
author = "Axel Reyes and Marcelo Mendoza and Camila Vera and
Francesca Lucchini and Jan Dimter and Felipe
Guti{\'e}rrez and Naim Bro and Hans Lobel and Ariel
Reyes",
title = "\pkg{SpatialCluster}: a {Python} library for urban
clustering",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101739",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001109",
acknowledgement = ack-nhfb,
articleno = "101739",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Shalabh:2024:AUB,
author = "Shalabh",
title = "Applied Univariate, Bivariate, and Multivariate
Statistics Using {Python}: a {Beginner}'s Guide to
Advanced Data Analysis",
journal = j-J-R-STAT-SOC-SER-A-STAT-SOC,
volume = "187",
number = "2",
pages = "548--548",
month = apr,
year = "2024",
CODEN = "JSSAEF",
DOI = "https://doi.org/10.1093/jrsssa/qnad122",
ISSN = "0964-1998 (print), 1467-985X (electronic)",
ISSN-L = "0964-1998",
bibdate = "Tue Apr 23 08:47:43 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jrss-a-2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://academic.oup.com/jrsssa/article/187/2/548/7282112",
acknowledgement = ack-nhfb,
fjournal = "Journal of the Royal Statistical Society. Series A
(Statistics in Society)",
journal-URL = "https://academic.oup.com/jrsssa/;
http://www.jstor.org/journals/09641998.html",
}
@Article{Shalabh:2024:BRA,
author = "Shalabh",
title = "Book Review: {{\booktitle{Applied Univariate,
Bivariate, and Multivariate Statistics Using Python: a
Beginner's Guide to Advanced Data Analysis}}, by Daniel
J. Denis, Wiley. 2021. 278 + xx pp. \pounds 89.99 (hard
cover). ISBN 978-1-119-57814-7}",
journal = j-J-R-STAT-SOC-SER-A-STAT-SOC,
volume = "187",
number = "2",
pages = "548--548",
month = apr,
year = "2024",
CODEN = "JSSAEF",
DOI = "https://doi.org/10.1093/jrsssa/qnad122",
ISSN = "0964-1998 (print), 1467-985X (electronic)",
ISSN-L = "0964-1998",
bibdate = "Sat Oct 12 10:04:53 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jrss-a-2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://academic.oup.com/jrsssa/article/187/2/548/7282112",
acknowledgement = ack-nhfb,
fjournal = "Journal of the Royal Statistical Society. Series A
(Statistics in Society)",
journal-URL = "https://academic.oup.com/jrsssa/;
http://www.jstor.org/journals/09641998.html",
}
@Article{Sharma:2024:HDM,
author = "Pankajeshwara Nand Sharma and Bastin Tony Roy
Savarimuthu and Nigel Stanger",
title = "How are decisions made in open source software
communities? --- {Uncovering} rationale from {Python}
email repositories",
journal = j-J-SOFTW-EVOL-PROC,
volume = "36",
number = "4",
pages = "e2526:1--e2526:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1002/smr.2526",
ISSN = "2047-7473 (print), 2047-7481 (electronic)",
ISSN-L = "2047-7473",
bibdate = "Sat May 25 07:47:43 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jsoftwevolproc.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "J. Softw. Evol. Proc.",
fjournal = "Journal of Software: Evolution and Process",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)2047-7481",
onlinedate = "26 January 2023",
}
@Article{Sheikh-Mohammad-Zadeh:2024:SPG,
author = "Abbas Sheikh-Mohammad-Zadeh and Nicolas Saunier and E.
O. D. Waygood",
title = "\pkg{STUDIO}: a {Python} graphical tool for analyzing
street user observations from video data",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101742",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001134",
acknowledgement = ack-nhfb,
articleno = "101742",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Singh:2024:PIW,
author = "Nitig Singh and Vaibhav Tyagi and Saurabh Das and
Udaya Kumar Sahoo and Shyam Sundar Kundu",
title = "{Python Indian Weather Radar Toolkit (pyiwr)}: an
open-source {Python} library for processing, analyzing
and visualizing weather radar data",
journal = j-J-COMPUT-SCI,
volume = "81",
number = "??",
pages = "??--??",
month = sep,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.jocs.2024.102363",
ISSN = "1877-7503 (print), 1877-7511 (electronic)",
ISSN-L = "1877-7503",
bibdate = "Wed Aug 28 10:41:44 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/jcomputsci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S187775032400156X",
acknowledgement = ack-nhfb,
ajournal = "J. Comput. Sci.",
articleno = "102363",
fjournal = "Journal of Computational Science",
journal-URL = "https://www.sciencedirect.com/journal/journal-of-computational-science",
}
@Article{Sisniega:2024:FOS,
author = "Jaime C{\'e}spedes Sisniega and {\'A}lvaro L{\'o}pez
Garc{\'\i}a",
title = "\pkg{Frouros}: an open-source {Python} library for
drift detection in machine learning systems",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101733",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024001043",
acknowledgement = ack-nhfb,
articleno = "101733",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Spinellis:2024:EDP,
author = "Diomidis Spinellis",
title = "Engineering Data Processing Workflows",
journal = j-IEEE-SOFTWARE,
volume = "41",
number = "4",
pages = "25--29",
month = apr,
year = "2024",
CODEN = "IESOEG",
DOI = "https://doi.org/10.1109/MS.2024.3385665",
ISSN = "0740-7459 (print), 1937-4194 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Tue Oct 15 14:23:25 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeesoft2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Softw.",
fjournal = "IEEE Software",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
keywords = "Best practices; Codes; Data analysis; Data processing;
Machine learning; Metadata; Monitoring; Object
recognition; Performance evaluation; Prototypes;
Python; Software tools; Workflow management software",
}
@Article{Terezol:2024:OPP,
author = "Morgane T{\'e}r{\'e}zol and Ana{\"\i}s Baudot and Ozan
Ozisik",
title = "\pkg{ODAMNet}: a {Python} package to identify
molecular relationships between chemicals and rare
diseases using overlap, active module and random walk
approaches",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101701",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000724",
acknowledgement = ack-nhfb,
articleno = "101701",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Thieu:2024:FSU,
author = "Nguyen Van Thieu and Ngoc Hung Nguyen and Ali Asghar
Heidari",
title = "Feature selection using metaheuristics made easy: Open
source {MAFESE} library in {Python}",
journal = j-FUT-GEN-COMP-SYS,
volume = "160",
number = "??",
pages = "340--358",
month = nov,
year = "2024",
CODEN = "FGSEVI",
DOI = "https://doi.org/10.1016/j.future.2024.06.006",
ISSN = "0167-739X (print), 1872-7115 (electronic)",
ISSN-L = "0167-739X",
bibdate = "Mon Aug 12 06:41:13 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/futgencompsys2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167739X24003030",
acknowledgement = ack-nhfb,
fjournal = "Future Generation Computer Systems",
journal-URL = "http://www.sciencedirect.com/science/journal/0167739X",
}
@Article{Vitturi:2024:EPO,
author = "Mattia de' Michieli Vitturi and Andrea Bevilacqua and
Alessandro Tadini and Augusto Neri",
title = "\pkg{ELICIPY} 1.0: a {Python} online tool for expert
elicitation",
journal = j-SOFTWAREX,
volume = "25",
number = "??",
pages = "??--??",
month = feb,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101641",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000128",
acknowledgement = ack-nhfb,
articleno = "101641",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Wallin:2024:BRI,
author = "Gabriel Wallin",
title = "Book Review: {{\booktitle{An Introduction to R and
Python for Data Analysis: A Side-by-Side Approach}},
Taylor R. Brown. Boca Raton, FL: Chapman \& Hall\slash
CRC Press, 2023, xix + 246 pp., \$99.95(H), ISBN:
978-1-032-20325-6}.",
journal = j-AMER-STAT,
volume = "78",
number = "2",
pages = "265--265",
year = "2024",
CODEN = "ASTAAJ",
DOI = "https://doi.org/10.1080/00031305.2024.2320949",
ISSN = "0003-1305 (print), 1537-2731 (electronic)",
ISSN-L = "0003-1305",
bibdate = "Wed Aug 14 09:33:36 MDT 2024",
bibsource = "http://www.tandfonline.com/toc/utas20/78/2;
https://www.math.utah.edu/pub/tex/bib/amstat2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.tandfonline.com/doi/full/10.1080/00031305.2024.2320949",
acknowledgement = ack-nhfb,
fjournal = "The American Statistician",
journal-URL = "http://amstat.tandfonline.com/loi/utas20",
}
@Article{Wanzenbock:2024:CFS,
author = "Ralf Wanzenb{\"o}ck and Florian Buchner and P{\'e}ter
Kov{\'a}cs and Georg K. H. Madsen and Jes{\'u}s
Carrete",
title = "{Clinamen2}: Functional-style evolutionary
optimization in {Python} for atomistic structure
searches",
journal = j-COMP-PHYS-COMM,
volume = "297",
number = "??",
pages = "Article 109065",
month = apr,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2023.109065",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Fri Feb 2 15:31:02 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465523004101",
acknowledgement = ack-nhfb,
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Weber:2024:EJM,
author = "Thomas Weber and Janina Ehe and Sven Mayer",
title = "Extending {Jupyter} with Multi-Paradigm Editors",
journal = j-PACMHCI,
volume = "8",
number = "EICS",
pages = "245:1--245:??",
month = jun,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3660247",
ISSN = "2573-0142 (electronic)",
ISSN-L = "2573-0142",
bibdate = "Mon Oct 21 07:30:53 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmhci.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3660247",
abstract = "Computational notebooks like the Jupyter programming
environment have been popular, particularly for
developing data-driven applications. One of its main
benefits is that it easily supports different
programming languages with exchangeable kernels. Thus,
\ldots{}",
acknowledgement = ack-nhfb,
articleno = "245",
fjournal = "Proceedings of the ACM on Human-Computer Interaction
(PACMHCI)",
journal-URL = "https://dl.acm.org/loi/pacmhci",
}
@Article{Wieckowski:2024:VPP,
author = "Jakub Wieckowski and Wojciech Sa{\l}abun",
title = "Version [1.1]-[\pkg{pyFDM}: a {Python} library for
uncertainty decision analysis methods]",
journal = j-SOFTWAREX,
volume = "25",
number = "??",
pages = "??--??",
month = feb,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2023.101607",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711023003035",
acknowledgement = ack-nhfb,
articleno = "101607",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Xu:2024:MUI,
author = "Xiaoyan Xu and Filipe R. Cogo and Shane McIntosh",
title = "Mitigating the Uncertainty and Imprecision of
Log-Based Code Coverage Without Requiring Additional
Logging Statements",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "50",
number = "9",
pages = "2350--2362",
month = sep,
year = "2024",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.2024.3435067",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Wed Oct 23 14:46:33 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
ajournal = "IEEE Trans. Softw. Eng.",
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
keywords = "code coverage; Codes; Instruments; Python; Runtime;
Software; software logging; Source coding; Static
analysis; Uncertainty",
}
@Article{Xu:2024:PPP,
author = "Siyuan Xu and Zheng Liu and Xun Xu and Yuzheng Guo and
Su-Huai Wei and Xie Zhang",
title = "\pkg{PyArc}: a {Python} package for computing
absorption and radiative coefficients from first
principles",
journal = j-COMP-PHYS-COMM,
volume = "305",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109352",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 11 14:54:24 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524002753",
acknowledgement = ack-nhfb,
articleno = "109352",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Xu:2024:PUF,
author = "Yumeng Xu and Shubhanshu Tiwari and Marco Drago",
title = "\pkg{PycWB}: a user-friendly, modular, and
{Python}-based framework for gravitational wave
unmodelled search",
journal = j-SOFTWAREX,
volume = "26",
number = "??",
pages = "??--??",
month = may,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1016/j.softx.2024.101639",
ISSN = "2352-7110",
ISSN-L = "2352-7110",
bibdate = "Wed May 29 07:44:49 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/softwarex.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S2352711024000104",
acknowledgement = ack-nhfb,
articleno = "101639",
fjournal = "SoftwareX",
journal-URL = "https://www.sciencedirect.com/journal/softwarex/issues",
}
@Article{Zhang:2024:PMJ,
author = "Qiang Zhang and Lei Xu and Baowen Xu",
title = "{Python} meets {JIT} compilers: a simple
implementation and a comparative evaluation",
journal = j-SPE,
volume = "54",
number = "2",
pages = "225--256",
month = feb,
year = "2024",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.3267",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat Feb 3 11:19:12 MST 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "05 September 2023",
}
@Article{Zhang:2024:PRB,
author = "Jialu Zhang and Jos{\'e} Pablo Cambronero and Sumit
Gulwani and Vu Le and Ruzica Piskac and Gustavo Soares
and Gust Verbruggen",
title = "{PyDex}: Repairing Bugs in Introductory {Python}
Assignments using {LLMs}",
journal = j-PACMPL,
volume = "8",
number = "OOPSLA1",
pages = "133:1--133:??",
month = apr,
year = "2024",
CODEN = "????",
DOI = "https://doi.org/10.1145/3649850",
ISSN = "2475-1421 (electronic)",
ISSN-L = "2475-1421",
bibdate = "Fri May 10 10:23:37 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/pacmpl.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://dl.acm.org/doi/10.1145/3649850",
abstract = "Students often make mistakes in their introductory
programming assignments as part of their learning
process. Unfortunately, providing \ldots{}",
acknowledgement = ack-nhfb,
ajournal = "Proc. ACM Program. Lang.",
articleno = "133",
fjournal = "Proceedings of the ACM on Programming Languages
(PACMPL)",
journal-URL = "https://dl.acm.org/loi/pacmpl",
}
@Article{Zhemchugov:2024:LCP,
author = "E. V. Zhemchugov and S. I. Godunov and E. K. Karkaryan
and V. A. Novikov and A. N. Rozanov and M. I.
Vysotsky",
title = "\pkg{libepa} --- A {C++\slash Python} library for
calculations of cross sections of ultraperipheral
collisions",
journal = j-COMP-PHYS-COMM,
volume = "305",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109347",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Wed Sep 11 14:54:24 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524002704",
acknowledgement = ack-nhfb,
articleno = "109347",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Zhu:2024:JOS,
author = "Junyan Zhu and Jiang Cao and Chen Song and Bo Li and
Zhengsheng Han",
title = "\pkg{Jiezi}: an open-source {Python} software for
simulating quantum transport based on non-equilibrium
{Green}'s function formalism",
journal = j-COMP-PHYS-COMM,
volume = "302",
number = "??",
pages = "??--??",
month = sep,
year = "2024",
CODEN = "CPHCBZ",
DOI = "https://doi.org/10.1016/j.cpc.2024.109251",
ISSN = "0010-4655 (print), 1879-2944 (electronic)",
ISSN-L = "0010-4655",
bibdate = "Mon Jun 10 06:56:34 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/compphyscomm2020.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0010465524001747",
acknowledgement = ack-nhfb,
articleno = "109251",
fjournal = "Computer Physics Communications",
journal-URL = "http://www.sciencedirect.com/science/journal/00104655",
}
@Article{Zong:2024:GNG,
author = "Xing Zong and Shang Zheng and Haitao Zou and Hualong
Yu and Shang Gao",
title = "{GraphPyRec}: a novel graph-based approach for
fine-grained {Python} code recommendation",
journal = j-SCI-COMPUT-PROGRAM,
volume = "238",
number = "??",
pages = "??--??",
month = dec,
year = "2024",
CODEN = "SCPGD4",
DOI = "https://doi.org/10.1016/j.scico.2024.103166",
ISSN = "0167-6423 (print), 1872-7964 (electronic)",
ISSN-L = "0167-6423",
bibdate = "Tue Aug 27 08:33:19 MDT 2024",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
https://www.math.utah.edu/pub/tex/bib/scicomputprogram.bib",
URL = "http://www.sciencedirect.com/science/article/pii/S0167642324000893",
acknowledgement = ack-nhfb,
articleno = "103166",
fjournal = "Science of Computer Programming",
journal-URL = "http://www.sciencedirect.com/science/journal/01676423",
}
@Misc{Anonymous:20xx:PP,
author = "Anonymous",
title = "The {Python} Papers",
howpublished = "Web site",
year = "20xx",
ISSN = "1834-3147",
bibdate = "Thu Apr 16 09:01:00 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://pythonpapers.org/tpp.html",
acknowledgement = ack-nhfb,
}
@Misc{Anonymous:20xx:PPA,
author = "Anonymous",
title = "{Python} Papers Anthology",
howpublished = "Web site",
year = "20xx",
bibdate = "Thu Apr 16 09:01:00 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://pythonpapers.org/",
acknowledgement = ack-nhfb,
}
@Misc{Anonymous:20xx:PPM,
author = "Anonymous",
title = "{Python} Papers Monograph",
howpublished = "Web site",
year = "20xx",
bibdate = "Thu Apr 16 09:01:00 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://pythonpapers.org/tppm.html",
acknowledgement = ack-nhfb,
}
@Misc{Anonymous:20xx:PPS,
author = "Anonymous",
title = "{Python} Papers Source Codes",
howpublished = "Web site",
year = "20xx",
ISSN = "1836-621X",
bibdate = "Thu Apr 16 09:01:00 2009",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://pythonpapers.org/tppsc.html",
acknowledgement = ack-nhfb,
}
@Proceedings{EurOpen:1991:EUD,
editor = "{EurOpen}",
booktitle = "EurOpen. UNIX Distributed Open Systems in Perspective.
Proceedings of the Spring 1991 EurOpen Conference,
Troms{\o}, Norway, May 20--24, 1991",
title = "EurOpen. {UNIX} Distributed Open Systems in
Perspective. Proceedings of the Spring 1991 EurOpen
Conference, Troms{\o}, Norway, May 20--24, 1991",
publisher = pub-EUROPEN,
address = pub-EUROPEN:adr,
pages = "viii + 331",
year = "1991",
ISBN = "1-873611-00-5",
ISBN-13 = "978-1-873611-00-5",
LCCN = "????",
bibdate = "Fri May 22 11:28:47 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Proceedings{ACM:1992:PAC,
editor = "{ACM}",
booktitle = "Proceedings of the 1992 ACM Conference on Lisp and
Functional Programming: papers presented at the
conference, San Francisco, California, June 22--24,
1992",
title = "Proceedings of the 1992 {ACM} Conference on Lisp and
Functional Programming: papers presented at the
conference, San Francisco, California, June 22--24,
1992",
publisher = pub-ACM,
address = pub-ACM:adr,
pages = "viii + 357",
year = "1992",
ISBN = "0-89791-483-X, 0-89791-481-3",
ISBN-13 = "978-0-89791-483-3, 978-0-89791-481-9",
LCCN = "QA76.73.L23A26 1992",
bibdate = "Tue Nov 10 07:55:44 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "Also published as {{\em LISP Pointers}}, vol. {\bf V},
no. 1, January-March, 1992. ACM order no. 552920.",
acknowledgement = ack-nhfb,
classification = "721.1; 723.1; 723.1.1",
conftitle = "Proceedings of SIGPLAN Conference on Lisp and
Functional Programming",
corpsource = "Carnegie Mellon Univ., Pittsburgh, PA, USA",
keywords = "Data abstraction; Digital storage; Dynamic program
parallelization; Fixed point iteration; Formal logic;
Functional programming; Garbage collection; Lambda
tagging; Lazy pattern matching; Linear logic; lisp
(programming language); Parallel processing systems;
Program compilers; Programming theory",
sponsororg = "ACM",
treatment = "P Practical",
}
@Proceedings{Hunter:1995:PSB,
editor = "Lawrence Hunter and Teri E. Klein",
booktitle = "Pacific Symposium on Biocomputing '96: Hawaii, USA,
3--6 January, 1996",
title = "Pacific Symposium on Biocomputing '96: Hawaii, {USA},
3--6 January, 1996",
publisher = pub-WORLD-SCI,
address = pub-WORLD-SCI:adr,
pages = "xv + 757",
year = "1995",
ISBN = "981-02-2578-4",
ISBN-13 = "978-981-02-2578-0",
LCCN = "QH323.5.P33 1996",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.cgl.ucsf.edu/psb/psb96/",
acknowledgement = ack-nhfb,
conftitle = "Proceedings of Biocomputing '96",
corpsource = "Lab. of Comput. Graphics, California Univ., San
Francisco, CA, USA",
pubcountry = "Singapore",
treatment = "P Practical",
}
@Proceedings{Cabrera:1996:PFI,
editor = "L.-F. Cabrera and N. Islam",
booktitle = "Proceedings of the Fifth International Workshop on
Object-Orientation in Operating Systems: October
27--28, 1996, Seattle, Washington",
title = "Proceedings of the Fifth International Workshop on
Object-Orientation in Operating Systems: October
27--28, 1996, Seattle, Washington",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "x + 171",
year = "1996",
ISBN = "0-8186-7693-0",
ISBN-13 = "978-0-8186-7693-2",
LCCN = "QA 76.76 O63 I59 1996",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "IEEE catalog number 96TB100089.",
acknowledgement = ack-nhfb,
conflocation = "Seattle, WA, USA; 27-28 Oct. 1996",
conftitle = "Proceedings of the Fifth International Workshop on
Object- Orientation in Operating Systems",
corpsource = "Corporation for Nat. Res. Initiatives, Reston, VA,
USA",
sponsororg = "IEEE Comput. Soc. Tech. Committee on Oper. Syst.;
USENIX",
treatment = "P Practical",
}
@Proceedings{USENIX:1996:ATT,
editor = "{USENIX} Association",
booktitle = "4th Annual Tcl/Tk Workshop '96, July 10--13, 1996.
Monterey, CA",
title = "4th Annual Tcl/Tk Workshop '96, July 10--13, 1996.
Monterey, {CA}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "235",
day = "10--13",
month = jul,
year = "1996",
ISBN = "1-880446-78-2",
ISBN-13 = "978-1-880446-78-2",
LCCN = "QA76.73.T44 T44 1996",
bibdate = "Fri May 22 11:34:02 1998",
bibsource = "ftp://ftp.uu.net/library/bibliography;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
location = "Monterey, CA",
}
@Proceedings{USENIX:1996:PSUb,
editor = "{USENIX}",
booktitle = "Proceedings of the Second USENIX Conference on
Object-Oriented Technologies and Systems (COOTS), June
17--21, 1996, Toronto, Canada",
title = "Proceedings of the Second {USENIX} Conference on
Object-Oriented Technologies and Systems ({COOTS}),
June 17--21, 1996, Toronto, Canada",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "261",
year = "1996",
ISBN = "1-880446-77-4",
ISBN-13 = "978-1-880446-77-5",
LCCN = "QA76.64 .U85 1996",
bibdate = "Wed Oct 16 14:05:50 2002",
bibsource = "ftp://ftp.uu.net/library/bibliography;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.usenix.org/publications/library/proceedings/coots96/",
acknowledgement = ack-nhfb,
location = "Toronto, Canada",
}
@Proceedings{ACM:1997:PAS,
editor = "{ACM}",
booktitle = "Proceedings of the ACM Symposium on User Interface
Software and Technology. 10th Annual Symposium. UIST
'97: Banff, Alberta, Canada, 14--17 October 1997",
title = "Proceedings of the {ACM} Symposium on User Interface
Software and Technology. 10th Annual Symposium. {UIST}
'97: Banff, Alberta, Canada, 14--17 October 1997",
publisher = pub-ACM,
address = pub-ACM:adr,
pages = "x + 238",
year = "1997",
ISBN = "0-89791-881-9",
ISBN-13 = "978-0-89791-881-7",
LCCN = "????",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
conftitle = "Proceedings of Tenth Annual Symposium on User
Interface Software and Technology",
corpsource = "Dept. of Comput. Sci., Carnegie Mellon Univ.,
Pittsburgh, PA, USA",
sponsororg = "ACM",
treatment = "P Practical",
}
@Proceedings{Anonymous:1997:PIP,
editor = "Anonymous",
booktitle = "Proceedings of the 6th International Python
Conference: October 14--17, 1997, San Jose,
California",
title = "Proceedings of the 6th International Python
Conference: October 14--17, 1997, San Jose,
California",
publisher = pub-CNRI,
address = pub-CNRI:adr,
pages = "????",
year = "1997",
ISBN = "????",
ISBN-13 = "????",
LCCN = "????",
bibdate = "Wed Oct 28 07:23:05 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}
@Proceedings{Anonymous:1997:PWM,
editor = "Anonymous",
booktitle = "Proceedings of the Workshop on Management of
Semi-Structured Data: {Tucson, Arizona, May 16, 1997}",
title = "Proceedings of the Workshop on Management of
Semi-Structured Data: {Tucson, Arizona, May 16, 1997}",
publisher = "????",
address = "????",
pages = "vi + 99",
year = "1997",
ISBN = "????",
ISBN-13 = "????",
LCCN = "????",
bibdate = "Fri May 22 11:37:17 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib;
melvyl.cdlib.org:210/CDL90",
acknowledgement = ack-nhfb,
subject = "Data structures (Computer science); Congresses; World
Wide Web; Congresses",
}
@Proceedings{Heath:1997:PES,
editor = "Michael Heath and Virginia Torczon and Greg Astfalk
and Petter E. Bj{\o}rstad and Alan H. Karp and Charles
H. Koelbel and Vipin Kumar and Robert F. Lucas and
Layne T. Watson and David E. Womble",
booktitle = "Proceedings of the Eighth SIAM Conference on Parallel
Processing for Scientific Computing. Held in
Minneapolis, MN, March 14--17, 1997",
title = "Proceedings of the Eighth {SIAM} Conference on
Parallel Processing for Scientific Computing. Held in
Minneapolis, {MN}, March 14--17, 1997",
publisher = pub-SIAM,
address = pub-SIAM:adr,
pages = "????",
year = "1997",
CODEN = "PSSCFK",
ISBN = "0-89871-395-1",
ISBN-13 = "978-0-89871-395-4",
LCCN = "????",
MRclass = "65-06 (65Y05)",
MRnumber = "98h:65004",
bibdate = "Tue Oct 27 18:53:49 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "CD-ROM for Windows, Macintosh and UNIX; no paper form
published.",
acknowledgement = ack-nhfb,
}
@Proceedings{IEEE:1997:PAP,
editor = "{IEEE}",
booktitle = "Proceedings. Asia Pacific Software Engineering
Conference and International Computer Science
Conference: December 2--5, 1997, Hong Kong",
title = "Proceedings. Asia Pacific Software Engineering
Conference and International Computer Science
Conference: December 2--5, 1997, Hong Kong",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "xvi + 542",
year = "1997",
ISBN = "0-8186-8271-X",
ISBN-13 = "978-0-8186-8271-1",
LCCN = "QA76.758.A77 1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "IEEE catalog number 97TB100207. IEEE Computer Society
order number PR08271.",
acknowledgement = ack-nhfb,
conflocation = "Hong Kong; 2-5 Dec. 1997",
conftitle = "Proceedings of Joint 4th International Computer
Science Conference and 4th Asia Pacific Software
Engineering Conference",
corpsource = "Johannes Kepler Univ., Linz, Austria",
sponsororg = "Croucher Found.; UNU/IIST; IEEE Hong Kong Sect.
Comput. Chapter; ACM Hong Kong Chapter; Hong Kong
Comput. Soc",
treatment = "P Practical",
}
@Proceedings{IEEE:1997:PIP,
editor = "{IEEE}",
booktitle = "Proceedings. 11th International Parallel Processing
Symposium, April 1--5, 1997, Geneva, Switzerland",
title = "Proceedings. 11th International Parallel Processing
Symposium, April 1--5, 1997, Geneva, Switzerland",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "xxi + 765",
year = "1997",
ISBN = "0-8186-7793-7",
ISBN-13 = "978-0-8186-7793-9",
LCCN = "QA76.58 .I56 1997",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "IEEE catalog number 97TB100107. IEEE Computer Society
Press order number PR07792",
acknowledgement = ack-nhfb,
conftitle = "Proceedings 11th International Parallel Processing
Symposium",
corpsource = "Dept. of Comput. Sci., Utah Univ., Salt Lake City, UT,
USA",
sponsororg = "IEEE Comput. Soc. Tech. Committee on Parallel
Process.; ACM SIGARCH; Eur. Assoc. Theor. Comput. Sci.
(EATCS); Swiss Special Interest Group on Parallelism
(SIPAR); SPPEDUP Soc",
treatment = "P Practical",
}
@Proceedings{Ege:1998:PTO,
editor = "R. Ege and M. Singh and B. Meyer",
booktitle = "Proceedings. Technology of Object-Oriented Languages
and Systems, TOOLS-23",
title = "Proceedings. Technology of Object-Oriented Languages
and Systems, {TOOLS-23}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "xi + 406",
year = "1998",
ISBN = "0-8186-8383-X",
ISBN-13 = "978-0-8186-8383-1",
LCCN = "????",
bibdate = "Thu May 21 19:02:04 MDT 1998",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "IEEE catalog number 97TB100221.",
acknowledgement = ack-nhfb,
conflocation = "Santa Barbara, CA, USA; 28 July-1 Aug. 1997",
conftitle = "Proceedings of TOOLS USA 97. International Conference
on Technology of Object Oriented Systems and
Languages",
corpsource = "Lawrence Livermore Nat. Lab., CA, USA",
sponsororg = "Interactive Software Eng",
treatment = "P Practical 1 Steering object-oriented scientific
comput\ldots{} Yang, T.-Y.B. 1998 2 Alice: easy to use
interactive 3D graphics Pierce, J.S. 1997 3 A CGI
framework in Python Kuchling, A.M. 1998 4 XML
programming in Python McGrath, S. 1998 5 Template
processing classes for Python Howes, B. 1998 6 Design
by contract for Python Plosch, R. 1997 7 Design and
implementation of Web documents\ldots{} Hyeon Jong Kim
1997 8 Python: a GUI development tool Conway, M.J.
1995",
}
@Proceedings{USENIX:2000:PAL,
editor = "{USENIX}",
booktitle = "Proceedings of the 4th Annual Linux Showcase and
Conference, Atlanta, October 10--14, 2000, Atlanta,
Georgia, USA",
title = "Proceedings of the 4th Annual Linux Showcase and
Conference, Atlanta, October 10--14, 2000, Atlanta,
Georgia, {USA}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "394",
year = "2000",
ISBN = "1-880446-17-0",
ISBN-13 = "978-1-880446-17-1",
LCCN = "????",
bibdate = "Wed Oct 16 06:06:36 2002",
bibsource = "https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "http://www.usenix.org/publications/library/proceedings/als2000/",
acknowledgement = ack-nhfb,
}
@Proceedings{Langtangen:2003:ATC,
editor = "Hans Petter Langtangen and Aslak Tveito",
booktitle = "Advanced Topics in Computational Partial Differential
Equations: Numerical Methods and {Diffpack}
Programming",
title = "Advanced Topics in Computational Partial Differential
Equations: Numerical Methods and {Diffpack}
Programming",
volume = "33",
publisher = pub-SV,
address = pub-SV:adr,
bookpages = "xix + 658",
pages = "xix + 658",
year = "2003",
CODEN = "LNCSA6",
DOI = "https://doi.org/10.1007/978-3-642-18237-2",
ISBN = "3-540-01438-1 (print), 3-642-18237-2 (e-book)",
ISBN-13 = "978-3-540-01438-6 (print), 978-3-642-18237-2
(e-book)",
ISSN = "1439-7358",
ISSN-L = "1439-7358",
LCCN = "QA377 .A45 2003",
bibdate = "Thu Dec 20 14:35:38 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = ser-LNCSE,
URL = "http://link.springer.com/book/10.1007/978-3-642-18237-2;
http://www.diffpack.com/Book;
http://www.springerlink.com/content/978-3-642-18237-2",
acknowledgement = ack-nhfb,
series-URL = "http://link.springer.com/bookseries/3527",
tableofcontents = "X. Cai, E. Acklam, H. P. Langtangen, A. Tveito:
Parallel Computing \\
X. Cai: Overlapping Domain Decomposition Methods \\
K. A. Mardal, G. W. Zumbusch, H. P. Langtangen:
Software Tools for Multigrid Methods \\
K. A. Mardal, H. P. Langtangen: Mixed Finite Elements
\\
K. A. Mardal, J. Sundnes, H. P. Langtangen, A. Tveito:
Systems of PDEs and Block Preconditioning \\
{\AA}degard, H. P. Langtangen, A. Tveito:
Object-Oriented Implementation of Fully Implicit
Methods for Systems of PDEs \\
H. P. Langtangen, H. Osnes: Stochastic Partial
Differential Equations \\
H. P. Langtangen and K A. Mardal: Using Diffpack from
Python Scripts \\
X. Cai, A. M. Bruaset, H. P. Langtangen, G. T. Lines,
K. Samuelsson, W. Shen, A. Tveito, G. Zumbusch:
Performance Modeling of PDE Solvers \\
J. Sundnes, G. T. Lines, P. Grottum, A. Tveito:
Numerical Methods and Software for Modeling the
Electrical Activity in the Human Heart \\
O. Skavhaug, B. F. Nielsen, A. Tveito: Mathematical
Models of Financial Derivatives \\
O. Skavhaug, B. F. Nielsen, A. Tveito: Numerical
Methods for Financial Derivatives \\
T. Thorvaldsen, H. P. Langtangen, H. Osnes: Finite
Element Modeling of Elastic Structures \\
K. M. Okstad, T. Kvamsdal: Simulation of Aluminum
Extrusion \\
A. Kjeldstad, H. P. Langtangen, J. Skogseid, K.
Bjorlykke: Simulation of Deformations, Fluid Flow and
Heat Transfer in Sedimentary Basins",
}
@Book{Bruaset:2006:NSP,
editor = "Are Magnus Bruaset and Aslak Tveito",
booktitle = "Numerical Solution of Partial Differential Equations
on Parallel Computers",
title = "Numerical Solution of Partial Differential Equations
on Parallel Computers",
volume = "51",
publisher = pub-SV,
address = pub-SV:adr,
bookpages = "xii + 482",
pages = "xii + 482",
year = "2006",
CODEN = "LNCSA6",
ISBN = "3-540-29076-1 (print), 3-540-31619-1 (e-book)",
ISBN-13 = "978-3-540-29076-6 (print), 978-3-540-31619-0
(e-book)",
ISSN = "1439-7358",
ISSN-L = "1439-7358",
LCCN = "QA377 .N87 2006",
bibdate = "Thu Dec 20 12:25:17 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = ser-LNCSE,
URL = "http://link.springer.com/book/10.1007/3-540-31619-1",
acknowledgement = ack-nhfb,
series-URL = "http://link.springer.com/bookseries/3527",
}
@Book{Logg:2012:ASD,
editor = "Anders Logg and Kent-Andre Mardal and Garth Wells",
booktitle = "Automated Solution of Differential Equations by the
Finite Element Method: The {FEniCS} Book",
title = "Automated Solution of Differential Equations by the
Finite Element Method: The {FEniCS} Book",
volume = "84",
publisher = pub-SV,
address = pub-SV:adr,
bookpages = "xiii + 723",
pages = "xiii + 723",
year = "2012",
CODEN = "LNCSA6",
DOI = "https://doi.org/10.1007/978-3-642-23099-8",
ISBN = "3-642-23098-9 (print), 3-642-23099-7 (e-book)",
ISBN-13 = "978-3-642-23098-1 (print), 978-3-642-23099-8
(e-book)",
ISSN = "1439-7358",
ISSN-L = "1439-7358",
LCCN = "????",
bibdate = "Thu Dec 20 14:35:51 MST 2012",
bibsource = "https://www.math.utah.edu/pub/tex/bib/gnu.bib;
https://www.math.utah.edu/pub/tex/bib/lncse.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
note = "The software developed by the FEniCS Project is free
for all to use and modify (licensed under the GNU
(L)GPL), and so is this book.",
series = ser-LNCSE,
URL = "http://fenicsproject.org;
http://fenicsproject.org/book/;
http://link.springer.com/book/10.1007/978-3-642-23099-8;
http://www.springerlink.com/content/978-3-642-23099-8;
https://launchpad.net/fenics-book",
abstract = "This book is written by researchers and developers
behind the FEniCS Project and explores an advanced,
expressive approach to the development of mathematical
software. The presentation spans mathematical
background, software design and the use of FEniCS in
applications. Theoretical aspects are complemented with
computer code which is available as free/open source
software. The book begins with a tutorial for readers
who are new to the topic. Following the tutorial,
chapters in Part I address fundamental aspects of the
approach to automating the creation of finite element
solvers. Chapters in Part II address the design and
implementation of the FEnicS software. Chapters in Part
III present the application of FEniCS to a wide range
of applications, including fluid flow, solid mechanics,
electromagnetics and geophysics.",
acknowledgement = ack-nhfb,
series-URL = "http://link.springer.com/bookseries/3527",
subject = "Mathematics; Geography; Electronic data processing;
Computer science; Computer software; Engineering
mathematics; Mathematical Software; Theoretical,
Mathematical and Computational Physics; Numeric
Computing; Appl.Mathematics/Computational Methods of
Engineering; Computational Science and Engineering;
Earth Sciences, general",
tableofcontents = "1 A FEniCS tutorial / 1 \\
I Methodology / 75 \\
2 The finite element method / 77 \\
3 Common and unusual finite elements / 95 \\
4 Constructing general reference finite elements / 121
\\
5 Finite element variational forms / 133 \\
6 Finite element assembly / 141 \\
7 Quadrature representation of finite element
variational forms / 147 \\
8 Tensor representation of finite element variational
forms / 159 \\
9 Discrete optimization of finite element matrix
evaluation / 163 \\
II Implementation / 171 \\
10 DOLFIN: a C++/Python finite element library / 173
\\
11 FFC: the FEniCS form compiler / 227 \\
12 FErari: an optimizing compiler for variational forms
/ 239 \\
13 FIAT: numerical construction of finite element basis
functions / 247 \\
14 Instant: just-in-time compilation of C/C++ in Python
/ 257 \\
15 SyFi and SFC: symbolic finite elements and form
compilation / 273 \\
16 UFC: a finite element code generation interface /
283 \\
17 UFL: a finite element form language / 303 \\
18 Unicorn: a unified continuum mechanics solver / 339
\\
19 Lessons learned in mixed language programming / 363
\\
III Applications / 383 \\
20 Finite elements for incompressible fluids / 385 \\
21 A comparison of finite element schemes for the
incompressible Navier--Stokes equations / 399 \\
22 Simulation of transitional flows / 421 \\
23 Computational hemodynamics / 441 \\
24 Cerebrospinal fluid flow / 455 \\
25 Improved Boussinesq equations for surface water
waves / 471 \\
26 Applications in solid mechanics / 505 \\
27 A computational framework for nonlinear elasticity /
525 \\
28 Turbulent flow and fluid structure interaction / 543
\\
29 An adaptive finite element solver for fluid
structure interaction problems / 553 \\
30 Modeling evolving discontinuities / 571 \\
31 Dynamic simulations of convection in the Earth s
mantle / 585 \\
32 Automatic calibration of depositional models / 601
\\
33 A coupled stochastic and deterministic model of
Ca${2+}$ dynamics in the dyadic cleft / 611 \\
34 Electromagnetic waveguide analysis / 629 \\
35 Block preconditioning of systems of PDEs / 643 \\
36 Automated testing of saddle point stability
conditions / 657 \\
List of authors / 673 \\
GNU Free Documentation License / 681 \\
References / 689 \\
Index / 717",
}
@Book{Balbaert:2015:GSJ,
editor = "Ivo Balbaert and Kevin Colaco and Neeshma Ramakrishnan
and Rashmi Sawant",
title = "Getting started with {Julia} programming: enter the
exciting world of {Julia}, a high-performance language
for technical computing",
publisher = pub-PACKT,
address = pub-PACKT:adr,
pages = "214",
year = "2015",
ISBN = "1-78328-479-X, 1-78328-480-3 (e-book)",
ISBN-13 = "978-1-78328-479-5, 978-1-78328-480-1 (e-book)",
LCCN = "QA297 .B353 2015eb",
bibdate = "Thu Apr 8 10:48:12 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/julia.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
series = "Community Experience Distilled",
URL = "http://public.ebookcentral.proquest.com/choice/publicfullrecord.aspx?p=1973847;
http://site.ebrary.com/id/11025933;
http://www.vlebooks.com/vleweb/product/openreader?id=none\%26isbn=9781783284801",
abstract = "This book is for you if you are a data scientist or
working on any technical or scientific computation
projects. The book assumes you have a basic working
knowledge of high-level dynamic languages such as
MATLAB, R, Python, or Ruby.",
acknowledgement = ack-nhfb,
subject = "Numerical analysis; Computer programs; Mathematical
analysis; Reference; Questions and Answers; Computer
programs.",
tableofcontents = "Preface \\
The Rationale for Julia \\
1: Installing the Julia Platform \\
Installing Julia \\
Windows version \\
usable from Windows XP SP2 onwards \\
Ubuntu version \\
OS X \\
Building from source \\
Working with Julia's shell \\
Startup options and Julia scripts \\
Packages \\
Adding a new package \\
Installing and working with Julia Studio \\
Installing and working with IJulia \\
Installing Sublime-IJulia \\
Installing Juno \\
Other editors and IDEs \\
How Julia works \\
Summary \\
2: Variables, Types, and Operations \\
Variables, naming conventions, and comments \\
Types \\
Integers \\
Floating point numbers \\
Elementary mathematical functions and operations \\
Rational and complex numbers \\
Characters \\
Strings \\
Formatting numbers and strings \\
Regular expressions \\
Ranges and arrays \\
Other ways to create arrays \\
Some common functions for arrays \\
How to convert an array of chars to a string \\
Dates and times \\
Scope and constants \\
Summary \\
3: Functions \\
Defining functions \\
Optional and keyword arguments \\
Anonymous functions \\
First-class functions and closures \\
Recursive functions \\
Map, filter, and list comprehensions \\
Generic functions and multiple dispatch \\
Summary \\
4: Control Flow \\
Conditional evaluation \\
Repeated evaluation \\
The for loop \\
The while loop \\
The break statement \\
The continue statement \\
Exception handling \\
Scope revisited \\
Tasks \\
Summary \\
5: Collection Types \\
Matrices \\
Tuples \\
Dictionaries \\
Keys and values \\
looping \\
Sets \\
Making a set of tuples \\
Example project \\
word frequency \\
Summary \\
6: More on Types, Methods, and Modules \\
Type annotations and conversions \\
Type conversions and promotions \\
The type hierarchy \\
subtypes and supertypes \\
Concrete and abstract types \\
User-defined and composite types \\
When are two values or objects equal or identical? \\
Multiple dispatch example \\
Types and collections \\
inner constructors \\
Type unions \\
Parametric types and methods \\
Standard modules and paths \\
Summary \\
7: Metaprogramming in Julia \\
Expressions and symbols \\
Eval and interpolation \\
Defining macros \\
Built-in macros \\
Testing \\
Debugging \\
Benchmarking \\
Starting a task \\
Reflection capabilities \\
Summary \\
8: I/O, Networking, and Parallel Computing \\
Basic input and output \\
Working with files \\
Reading and writing CSV files \\
Using DataFrames \\
Other file formats \\
Working with TCP sockets and servers \\
Interacting with databases \\
Parallel operations and computing \\
Creating processes \\
Using low-level communications \\
Parallel loops and maps \\
Distributed arrays \\
Summary \\
9: Running External Programs \\
Running shell commands \\
Interpolation \\
Pipelining \\
Calling C and FORTRAN \\
Calling Python \\
Performance tips \\
Tools to use \\
Summary \\
10: The Standard Library and Packages \\
Digging deeper into the standard library \\
Julia's package manager",
}
@Proceedings{Cornea:2020:ISC,
editor = "Marius Cornea and Weiqiang Liu and Arnaud Tisserand",
booktitle = "{2020 27th IEEE Symposium on Computer Arithmetic:
ARITH 2020: proceedings: Portland, Oregon, USA, 7--10
June 2020}",
title = "{2020 27th IEEE Symposium on Computer Arithmetic:
ARITH 2020: proceedings: Portland, Oregon, USA, 7--10
June 2020}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
year = "2020",
DOI = "https://doi.org/10.1109/ARITH48897.2020",
ISBN = "1-72817-120-2, 1-72817-121-0",
ISBN-13 = "978-1-72817-120-3, 978-1-72817-121-0",
LCCN = "????",
bibdate = "Wed Jul 7 06:23:45 MDT 2021",
bibsource = "fsz3950.oclc.org:210/WorldCat;
https://www.math.utah.edu/pub/tex/bib/benfords-law.bib;
https://www.math.utah.edu/pub/tex/bib/fparith.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
URL = "https://ieeexplore.ieee.org/servlet/opac?punumber=9146973",
acknowledgement = ack-nhfb,
}
@Proceedings{IEEE:2020:SPI,
editor = "{IEEE}",
booktitle = "{SC'20: Proceedings of the International Conference
for High Performance Computing, Networking, Storage and
Analysis (Atlanta, Georgia, November 9--19, 2020)}",
title = "{SC'20: Proceedings of the International Conference
for High Performance Computing, Networking, Storage and
Analysis (Atlanta, Georgia, November 9--19, 2020)}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "????",
year = "2020",
DOI = "https://doi.org/10.1109/SC41405.2020",
ISBN = "1-72819-998-0, 1-72819-999-9 (printondemand)",
ISBN-13 = "978-1-72819-998-6, 978-1-72819-999-3 (printondemand)",
LCCN = "QA76.88",
bibdate = "Mon Sep 11 06:40:11 2023",
bibsource = "https://www.math.utah.edu/pub/tex/bib/fparith.bib;
https://www.math.utah.edu/pub/tex/bib/python.bib",
acknowledgement = ack-nhfb,
}