Articles tagged with basics

The Most Important Guideline

The most important guideline when writing code is to separate method implementations with several blank lines and a comment line. Despite modern IDEs’ capabilities for searching and structuring source code, visual orientation still plays an important role.

Consider the example below. There is an implementation of a class in Objective-C …

Plagiarism at the University

Time goes by, but the fashion for trashing teachers, universities, and education officials (in our case always just one — the minister) never passes. Like, the first are old farts who read lectures off a sheet of paper from 40 years ago and don’t know shit; the second are organizations …

How Do You Solve an Impossible Problem?

I’ve had cases like this in my practice: you ask a programmer to make some feature, and he answers, “It’s impossible to make it.” I ask, “Why?” and he replies, “I read such-and-such documentation, looked at such-and-such example, tried doing it this way and that way, and realized …

Omar Khayyam on laziness

To live life wisely, there is much one needs to know; For starters, remember two important rules: Better to go hungry than eat just anything, And better to be alone than together with just anyone.

(Translator: O. Rumer)

System-Level Design (Talk)

On Tuesday (06/23/09), I’ll be giving my talk on system-level design. It will present an overview of the current state of the field, some results from my dissertation, and various ideas.

On the program:

  1. A retrospective of design automation tools (since the 1950s).

  2. Modern approaches to design …

Lecture Notes on Optimization

There is good news and bad news.

The bad news is that the party committee of my department has decided that in the 2009/2010 academic year, third-year students will be left without a course on optimization. This is not because the course is difficult or useless to anyone. This …

Let’s Go Back to the Original Sources

In the introductory classes for the optimization course, the students and I discuss a question like “When should you start optimizing?” You can often hear the answer attributed to Donald Knuth: “Premature optimization is the root of all evil.”

Usually, this phrase (actually taken out of context) is interpreted this …

Cinder Blocks of Parallel Programming

There are several ways to get programmers to solve assigned tasks at high speed with a minimal number of errors.

The first way is to use high-level languages, for example, C++. Object-oriented programming makes it possible to create entities of various kinds in code, as well as define operations on …