LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Я бы советовал хорошо изучить Паскаль авторства Никлауса Вирта. Вам возможно преподают Borland Pascal, это расширение оригинального паскаля, чего-то интересного там нет и расширения изучать не нужно, ограничься оригинальным подмножеством. Думаю в интернете книги найти можно.

Как язык освоишь — возьми начальную книжку по алгоритмам и структурам данных и хорошенько изучи её. Можно взять одноименную книжку того же Вирта. Списки, деревья, хеш-таблицы, графы, алгоритмы на графах. Попутно можешь порешать несложные задания олимпиадного толка.

Следующий этап — язык ассемблера. Тут всё просто, есть 8086 ассемблер, который и сейчас работает на любом PC. Разберись с ним от корки до корки и реши какую-нибудь нетривиальную задачу без использования libc. Книжку не посоветую, поищи сам. Можешь изучить более поздние языки, вроде x86 или даже x64, но там значительно больший объём информации, весь изучить не получится, придётся выделять разумное подмножество, в то время как 8086 достаточно маленький и его можно изучить весь. Тут самое сложное будет разобраться с утилитами. В своё время использовали macro assembler (masm) под DOS, думаю и сейчас его можно завести под эмуляторами.

После этого можно изучить С и основы юникса (sh, make, vi, gdb). Тут K&R зайдёт идеально.

Ну а после всего этого уже можно изучать что угодно, хорошая база есть. Из интересных кандидатов — Java, Python, Scheme, Haskell, Prolog. Помимо этого можно прочитать более полную книжку по алгоритмам и структурам данных. Классика — Кнут, но есть и другие варианты.

Конечно на всех этапах как можно больше программировать. Решай задачи из учебников, решай придуманные задачи, делай свои микро-библиотеки (на выброс), пиши код. Нельзя стать программистом только по книгам.

Математика, физика к программированию отношения не имеют. Изучать их, конечно, стоит для общего развития. Вот английский язык это дело другое, на уровне чтения техдокументации его изучить обязательно стоит. В первое время можно ограничиться русским, но всё равно английский понадобится. Я бы скорее посоветовал налегать на литературу и сочинение. Умение чётко и грамотно выразить свои мысли куда более универсально, нежели знание определения сходимости числового ряда.

Исправление Legioner, :

Я бы советовал хорошо изучить Паскаль авторства Никлауса Вирта. Вам возможно преподают Borland Pascal, это расширение оригинального паскаля, чего-то интересного там нет и расширения изучать не нужно, ограничься оригинальным подмножеством. Думаю в интернете книги найти можно.

Как язык освоишь — возьми начальную книжку по алгоритмам и структурам данных и хорошенько изучи её. Можно взять одноименную книжку того же Вирта. Списки, деревья, хеш-таблицы, графы, алгоритмы на графах. Попутно можешь порешать несложные задания олимпиадного толка.

Следующий этап — язык ассемблера. Тут всё просто, есть 8086 ассемблер, который и сейчас работает на любом PC. Разберись с ним от корки до корки и реши какую-нибудь нетривиальную задачу без использования libc. Книжку не посоветую, поищи сам. Можешь изучить более поздние языки, вроде x86 или даже x64, но там значительно больший объём информации, весь изучить не получится, придётся выделять разумное подмножество, в то время как 8086 достаточно маленький и его можно изучить весь. Тут самое сложное будет разобраться с утилитами. В своё время использовали macro assembler (masm) под DOS, думаю и сейчас его можно завести под эмуляторами.

После этого можно изучить С и основы юникса (sh, make, vi, gdb). Тут K&R зайдёт идеально.

Ну а после всего этого уже можно изучать что угодно, хорошая база есть. Из интересных кандидатов — Java, Python, Scheme, Haskell, Prolog. Помимо этого можно прочитать более полную книжку по алгоритмам и структурам данных. Классика — Кнут, но есть и другие варианты.

Конечно на всех этапах как можно больше программировать. Решай задачи из учебников, решай придуманные задачи, делай свои микро-библиотеки (на выброс), пиши код. Нельзя стать программистом только по книгам.

Математика, физика к программированию отношения не имеют. Изучать их, конечно, стоит для общего развития. Вот английский язык это дело другое, на уровне чтения техдокументации его изучить обязательно стоит. В первое время можно ограничиться русским, но всё равно английский понадобится.

Исходная версия Legioner, :

Я бы советовал хорошо изучить Паскаль авторства Никлауса Вирта. Вам возможно преподают Borland Pascal, это расширение оригинального паскаля, чего-то интересного там нет и расширения изучать не нужно, ограничься оригинальным подмножеством. Думаю в интернете книги найти можно.

Как язык освоишь — возьми начальную книжку по алгоритмам и структурам данных и хорошенько изучи её. Можно взять одноименную книжку того же Вирта. Списки, деревья, хеш-таблицы, графы, алгоритмы на графах. Попутно можешь порешать несложные задания олимпиадного толка.

Следующий этап — язык ассемблера. Тут всё просто, есть 8086 ассемблер, который и сейчас работает на любом PC. Разберись с ним от корки до корки и реши какую-нибудь нетривиальную задачу без использования libc. Книжку не посоветую, поищи сам. Можешь изучить более поздние языки, вроде x86 или даже x64, но там значительно больший объём информации, весь изучить не получится, придётся выделять разумное подмножество, в то время как 8086 достаточно маленький и его можно изучить весь. Тут самое сложное будет разобраться с утилитами. В своё время использовали macro assembler (masm) под DOS, думаю и сейчас его можно завести под эмуляторами.

После этого можно изучить С и основы юникса (sh, make, vi, gdb). Тут K&R зайдёт идеально.

Ну а после всего этого уже можно изучать что угодно, хорошая база есть. Из интересных кандидатов — Java, Python, Scheme, Haskell, Prolog. Помимо этого можно прочитать более полную книжку по алгоритмам и структурам данных. Классика — Кнут, но есть и другие варианты.

Математика, физика к программированию отношения не имеют. Изучать их, конечно, стоит для общего развития. Вот английский язык это дело другое, на уровне чтения техдокументации его изучить обязательно стоит. В первое время можно ограничиться русским, но всё равно английский понадобится.