R
R
ritchie_kyoto2022-01-13 17:33:00
IT education
ritchie_kyoto, 2022-01-13 17:33:00

Is Kernighan-Ritchie applicable today to teaching undergraduate students (programmers and other engineering specialties)?

I consider the work “The C Programming Language” aka K&R to be monumental and classic, to be honest. At the university, moreover, I often heard from senior colleagues that it is impossible to find a better textbook on the C language (these colleagues, however, were just as self-taught as I am, since the profile of the graduating department is telecommunications).

When I was doing teaching practice, I ran into the problem of recommending suitable literature to first-year bachelors (also telecom operators, teaching C is the policy of the department).

I decided to give K & R, for reasons that if you really study, then immediately from serious literature. I even sprinkled a little navigation on topics, I'll add it at the end of the question, if anyone is interested. But, as it seemed to me, the process went slowly, either because of the language of presentation, or because of the complexity of the topics for a first-year student ...

Colleagues from the educational sphere who have come across:
- what books can you recommend?
- or is K&R quite an option, only you need to know the approach?

Navigating K&R by Topic


Переменные
"2.1 Имена переменных";
"2.2 Типы данных и их размеры";
"2.4 Объявления";
"1.10 Внешние переменные";
"4.5 Правила, определяющие область действия";
"4.6 Статические переменные".

Присваивание значений переменным

"2.10 Операции присваивания и выражения с ними";
"А.7.17 Выражения с присваиванием".

Логические операции

"2.6 Операции отношения и логические операции";
"А.7.10 Операция проверки равенства";

Арифметические действия

"1.2 Переменные и арифметические операции";
"2.5 Арифметические операции".

Функции

"1.7 Функции";
"1.8 Аргументы: передача по значению".

stdio.h

"4.5 Заголовочные файлы";
"4.11 Препроцессор С";
"7.1 Стандартные средства ввода-вывода";
"7.8 Форматированный вывод и функция printf";
"Б.1 Ввод-вывод: ".

Циклы
"1.3 Оператор for";
"2.8 Операция инкрементирования и декрементирования";
"3.5 Циклы while и for";
"3.7 Операторы break и continue"

Условные операторы

"2.6 Операции отношения и логические операции";
"3.2 Оператор if-else";
"3.4 Оператор switch";
"А.7.14 Операция логического И";
"А.7.15 Операция логического ИЛИ".

Указатели

"5.1 Указатели и адреса";
"5.2 Указатели и аргументы функций";
"5.11 Указатели на функции".

Массивы

"1.6 Массивы";
"5.3 Указатели и массивы";
"5.4 Адресная арифметика";
"5.6 Массивы указателей и указатели на указатели";
"5.7 Многомерные массивы";
"5.8 Инициализация массивов указателей";
"5.9 Указатели и многомерные массивы".

Строки
"1.9 Массивы символов";
"5.5 Символьные указатели и функции";
"5.10 Аргументы командной строки".

Структуры
"6.1 Основы работы со структурами";
"6.2 Структуры и функции";
"6.7 Определение новых типов".

Керниган, Б. and Ритчи, Д., 2007. Язык программирования Си= The C programming language.—2-е изд. М.: Вильямс, p.304.)

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Vladimir Olohtonov, 2022-01-14
@sgjurano

K&R is an excellent book, but it is still designed for those who already understand well what programming is and why it is needed, it became comfortable for me to read it somewhere in the third year of practice :)
You can try to look at Stolyarov's textbooks "Programming: an introduction to profession": www.stolyarov.info/books/programming_intro/e2
In theory, for your purposes, the first two volumes will be with a large margin.

A
AVKor, 2022-01-13
@AVKor

what books can you recommend?

None for C for the first course, since C should not be the first PL.
For those who already have programming experience (in other languages) - K & R is a great option.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question