Teach yourself to program. We are entering the summer, the perfect time to improve yourself, you could go running or swimming, you could learn a new foreign language or perhaps you could learn to program.
Self-learning is not as hard as it sounds, and it’s much easier than self-learning Spanish or French. There are really wonderful sources to start learning these new languages, understanding the concept behind programming and giving it a try with some interesting problems. Basic Programming Via XKCD To learn a new programming language, it’s much easier if you already know the concepts because you can start learning the new structures in no time. Programming Concepts : This is a brief tutorial for new programmers from the City University of New York. Learning a Language Whether you already know some programming languages or you are moving forward, you should choose a language to work with.
Learning HTML Via Cyanide and Happiness HTML is quite a simple language that doesn't use variables or operations. Learning Python. If Windows users want to give themselves some lovin’ then you need Ninite : WinExtra. Solving Every Sudoku Puzzle. By Peter Norvig In this essay I tackle the problem of solving every Sudoku puzzle.
It turns out to be quite easy (about one page of code for the main idea and two pages for embellishments) using two ideas: constraint propagation and search. Sudoku Notation and Preliminary Notions First we have to agree on some notation. A Sudoku puzzle is a grid of 81 squares; the majority of enthusiasts label the columns 1-9, the rows A-I, and call a collection of nine squares (column, row, or box) a unit and the squares that share a unit the peers.
A puzzle is solved if the squares in each unit are filled with a permutation of the digits 1 to 9. That is, no digit can appear twice in a unit, and every digit must appear once. Every square has exactly 3 units and 20 peers. We can implement the notions of units, peers, and squares in the programming language Python (2.5 or later) as follows: def cross(A, B): "Cross product of elements in A and elements in B. " return [a+b for a in A for b in B] Search Results. 10 Puzzle Websites to Sharpen Your Programming Skills. Solving programming puzzles is a fun way to develop your logical and problem solving abilities.
Also, when you’re familiarizing yourself with a new programming language, solving puzzles for that language can help speed up the learning process. Here are the top 10 popular programming puzzle sites that will help test your thinking and improve your programming, problem solving, and logical thinking skills. 1. Programming Praxis Programming Praxis is a blog that includes a range of interesting problems with solutions usually available in several different programming languages. 2.
CodeKata is a blog of programming puzzles written by Dave Thomas, who’s most famous for the groundbreaking book, Pragmatic Programmer. 3. TopCoder is an active programming community of developers who love to solve puzzles. 4. 5. Facebook has a collection of very challenging programming puzzles that–should you manage to solve them–could result in you getting a job at Facebook! 6. 7. 8. 9. 10. 99 Prolog Problems.