Month: May 2020

00: Getting started, how to succeed

Getting started—an example program Always write for 2 audiences! people clients, customers teammates team leader, supervisor, project manager colleagues working on documentation, quality assurance, marketing, training your future self the computer First, do nothing well! Work in small steps. Check yourself at every stage. Get a working example from someone else, then type it yourself—learn…

Continue reading

01: What is special about C?

Evolution of programming languages first high level language was FORTRAN in 1954-1956 FORTRAN = “FORmula TRANslation”, created at IBM procedural languages (1960s) — FORTRAN, BASIC, COBOL, PL/I arithmetic and logical expressions, variables, assignment statements statements that define loops (repeated actions) statements that allow decisions (conditionally executed actions) short variable names (2 characters in early version…

Continue reading

Recommended Readings

My colleagues asked for articles that we might include in a seminar for all incoming students. Here are my suggestions: Fred Brooks led the effort to develop software for the IBM System/360 computer in the early 1960s. This was an early effort at developing software on a large scale. From that experience he drew lessons…

Continue reading

Our Elevator Speech

Our students often hear advice about how to find opportunities. “You never know whom might meet and who might be able to help you,” teachers and parents and people in the college’s career office tell them. “Be ready to explain your ambitions clearly and concisely.” Those of us who teach and study computer science might…

Continue reading

A Poem about Computer Science

In 1959, Dutch pioneer of computer science Edsger Dijkstra published an algorithm that now routes e-mail and gives directions to drivers in GPS-equipped cars. Many beginning students of computer science study his beautiful algorithm. Every Step Takes Us Closer When we take to the highway in a caror send encouraging words through the Internet,when UPS…

Continue reading

What does a computer look like?

In the 1950s, soon after Univac, IBM, and other companies first began manufacturing computers, audiences saw computers in movies like Desk Set and Forbidden Planet. They recognized a computer when they saw an enormous cabinet decorated with blinking lights. The big machines buzzed, clattered, and beeped. In the 1980s, soon after Apple, IBM, and other…

Continue reading

Computability

For which problems do algorithms that generate a solution exist? This question defines the study of computability. A programmer can direct a computer to repeat a series of arithmetic operations until some logical condition is satisfied. If the programmer fails to specify the terminating condition correctly, the computer will continue executing the instructions forever. Will…

Continue reading

Complexity

For computer scientists, the word complexity denotes the amount of work required to solve a problem using a given algorithm. An algorithm is the sequence of arithmetic and logical operations that lead to the solution of a problem. Computer scientists measure the complexity of an algorithm by comparing the number of instructions that a computer…

Continue reading