background preloader

UW CSE Courses on the Internet

UW CSE Courses on the Internet
Related:  general knowledge

Great Works in Programming Languages In September, 2004, I posted a query to the Types list asking people to name the five most important papers ever written in the area of programming languages. This page collects the responses I received. (A few are missing because I am still tracking down bibliographic information.) Many thanks to Frank Atanassow, David Benson, Nick Benton, Karl Crary, Olivier Danvy, Mariangiola Dezani, Dan Friedman, Alwyn Goodloe, Pieter Hartel, Michael Hicks, Robert Irwin, Luis Lamb, Rod Moten, Rishiyur Nikhil, Tobias Nipkow, Jens Palsberg, and John Reynolds for contributing. Additional suggestions are welcome. The greatest of the great (mentioned by many people): C. Peter J. Robin Milner. Gordon Plotkin. John C. Pretty great works (mentioned by multiple people): Luca Cardelli. Luis Damas and Robin Milner. Edsger W. Edsger W. William A. Robert Kowalski. Peter J. John McCarthy. Eugenio Moggi. Greg Morrisett, David Walker, Karl Crary, and Neal Glew. George C. Gordon D. Gordon D. Jr. C. Alonzo Church. O.

30 game scripts you can write in PHP, Part 1: Creating 10 fundamental scripts Getting started As both a game master/storyteller and a developer, I frequently find myself writing little utilities and scripts to help me when running, planning, and playing games. Sometimes I need a quick idea. Other times, I just need a whole pile of names for Non-Player Characters (NPCs). This article will explore 10 fundamental scripts that can be used in various types of games. We will blaze through these scripts pretty quickly. Back to top A basic die roller Many games and game systems need dice. In many cases, that would be more or less fine. Listing 1. function roll () { return mt_rand(1,6); } echo roll(); Then we can pass the type of die we want to roll as a parameter to the function. Listing 2. function roll ($sides) { return mt_rand(1,$sides); } echo roll(6); // roll a six-sided die echo roll(10); // roll a ten-sided die echo roll(20); // roll a twenty-sided die Random name generator Listing 3. Listing 4. Listing 5. Scenario generator Listing 6. Deck builder and shuffler Mad Libber

The Top 10 Web Design Skills You WILL Need! Here are my top 10 web design skills that you WILL need to master to become an effective web designer. If you’re serious about mastering web design and marketing, check out the Pro Web Design Alliance. See how Jordan benefited from the course forum and Google hangout sessions to make his and his clients’ sites better. Look at Jordan’s site and the testimonials from his clients here. Your priorities may be different (and my priorities may be different a few months down the line). And I’d add that you don’t need all these skills in any particular measure to make it in web design. #1. I’m convinced the #1 most important skill for a web designer is the ability to use words effectively. If you can craft a series of web pages into a conversation that communicates what you need to communicate, informs, and calls your visitors to take the actions you want, your web site can be a great success, even if it’s graphically plain – hey, even if it’s ugly! #2. How can you develop this ability? #3.

Advanced Programming Languages Introduction Research Syntax Semantics Static Semantics ( Type Theory ) Dynamic Semantics Semantic Related Developments Abstract Interpretation Program Transformation Decompilation Partial Evaluation Pragmatics ( Software Patterns , Generic Programming , Visual Programming , Persistence , Reflectiveness , Hyperprogramming) Semiotics Implementation Techniques: Garbage collection , Abstract Machines Some Conferences (not updated) People and Groups Teaching Introduction to Programming Languages Selecting First Programming Language Courses about Programming Languages Courses about Foundations of Programming Languages Courses about Language Processors Paradigms Comparing Programming Languages Functional Programming ( Haskell, ML) Logic Programming (Prolog) Object Oriented Programming (Java, C++, Smalltalk, ...) Cross Paradigms : Logic-Functional , Object Oriented-Functional , Object Oriented-Logic My List of Programming Languages Selected Bibliography Selected Papers Selected Books Acknowledgments Backus Naur Form (BNF) C.

Log4j Intro — Javamazon The log4j is a library used for logging in a Java program. The library has been highly distributed and there are many applications, both open source and proprietary that I have found using the library. The library is provided and maintained by the Apache foundation and the lib has been around for quite a while. Levels Log4j works with something called logging level and there are a number of levels, these are DEBUG, INFO, WARN, ERROR, FATAL. Use Log4j is easy to use in your code and when you have defined your logger in a class like this, static Logger logger = Logger.getLogger (My.class); the only thing you have to do to log something is to call logger.info (“Message”); This will make our program log a message on the level info. Configuration and Appenders What really strikes me when using this library is the powerful logging configuration that you can do after you actually have done your programming. In the configuration you are also able to configure on what level the appender should log.

10 Technical Papers Every Programmer Should Read (At Least Twice) 10 Technical Papers Every Programmer Should Read (At Least Twice) this is the second entry in a series on programmer enrichment Inspired by a fabulous post by Michael Feathers along a similar vein, I’ve composed this post as a sequel to the original. That is, while I agree almost wholly with Mr. Feather’s1 choices, I tend to think that his choices are design-oriented2 and/or philosophical. In no way, do I disparage that approach, instead I think that there is room for another list that is more technical in nature, but the question remains, where to go next? All papers are freely available online (i.e. not pay-walled)They are technical (at times highly so)They cover a wide-range of topicsThe form the basis of knowledge that every great programmer should know, and may already Because of these constraints I will have missed some great papers, but for the most part I think this list is solid. A Visionary Flood of Alcohol Fundamental Concepts in Programming Languages (link to paper) by C.

Hallmarks of a Great Developer - Test Guide If you ask me, I'll tell you a great developer Plans before coding A great developer takes the time to plan an approach before designing or coding. A great developer knows that the time required to do so will be more than paid back by the time saved by getting it more right the first time. A great developer plans all scales of work, from envisioning multiple versions of a product to writing or modifying a small method. Always knows why A great developer always knows exactly why they wrote a particular line of code, and why they wrote it the way they did. Writes situation-appropriate code Any developer can write code. Deviates where and when necessary A great developer not only knows the canonical implementation but understands it is the canonical implementation. Knows when not to change code A great developer knows that changing code is sometimes worse than fixing it. Approaches debugging scientifically A great developer knows that debugging is a science not an art and approaches it as such.

Free Java Tutorials & Guide | Java programming source code The Basics of C Programming" The previous discussion becomes a little clearer if you understand how memory addresses work in a computer's hardware. If you have not read it already, now would be a good time to read How Bits and Bytes Work to fully understand bits, bytes and words. All computers have memory, also known as RAM (random access memory). For example, your computer might have 16 or 32 or 64 megabytes of RAM installed right now. RAM holds the programs that your computer is currently running along with the data they are currently manipulating (their variables and data structures). Memory can be thought of simply as an array of bytes. float f; This statement says, "Declare a location named f that can hold one floating point value." While you think of the variable f, the computer thinks of a specific address in memory (for example, 248,440). f = 3.14; The compiler might translate that into, "Load the value 3.14 into memory location 248,440." The output that you see from the program will probably look like this:

Related: