Ответы пользователя по тегу Программирование
  • Что можно сделать с детьми на уроках информатики?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Очень сложное дело у вас =)
    Что касается меня, то именно информатика в школе определила мою теперешнюю профессию.
    Я думаю самое главное не ограничивать учеников какой-нибудь одной областью.
    Самый первый пример - это приложения под настольные компьютеры. Тут, наверное, проще всего замотивировать ребят созданием игр.
    Дальше: программирование под мобильные платформы. Опять же игры. Какие-нибудь полезные приложения, типа дневников, шпаргалок, редактора конспектов.
    Дальше: программирование под микроконтроллеры на базе всяких малин/ардуин. Роботы и домашняя автоматизация. Но тут нужно с физиком скооперироваться и с трудовиком. Что неплохо!
    Дальше: web-технологии. Более-менее сложные веб-приложения с продвинутой клиентской и серверной частью.
    Дальше: интересно скомбинировать это все. Сетевые игры. Мобильные приложения, которые могут работать с сетью. Роботы управляемые через интернет и др.

    Еще. Я думаю. Очень важно поначалу дать им повариться в собственном соку. Дать набить шишек. Столкнуть со сложностью поставленных задач. Пусть осознают иттеративность процесса разработки. Пусть возникнет необходимость в системах контроля версий. Пусть возникнут свои какие-то велосипеды/грабли/паттерны, а потом рассказывайте как это решается у профессионалов.
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Начинай писать какой-нибудь проект. Я в свое время, когда учился программировать (правда по другой книге: "С# для профессионалов" какая-то из редакций), тоже заскучал.....начал писать проекты (например, решение системы линейных уравнений с произвольным порядком, что-то с нейронными сетями еще делал, с СОМ-портом что-то)....появилась какая-то уверенность в своих силах.....появились вопросы....искал в "интернетах", возвращался к книжке....в итоге язык освоил, а книжку использую как справочник.
    Ответ написан
    Комментировать
  • Какую книгу/учебник Вы бы предложили для изучения C# от уровня новичка до профессионала?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    1. К.Нейгейл, Б.Ивьен, Дж.Глин, К.Уотсон, М.Скиннер "C#4 и платформа .NET4 для профессионалов" (хотя есть книги из этой серии и для С#2, и для С#3, и для С#4,5) подробно описаны основы языка.
    2. (через год) Дж.Скит, "С# для профессионалов. Тонкости программирования" (описаны различия С# разных версий и зачем они были введены)
    3. (и еще через год ) Дж.Рихтер, "CLR via C#"(более глубокое погружение в язык)


    Но на самом деле не обязательно читать их с таким большим промежутком. Их можно читать и параллельно. Лишь бы было понятно о чем речь. Обязательно параллельно книгам, разрабатывать какое-нибудь приложение (лучше несколько по очереди с усложнением), иначе обучение будет поверхностным. Книги толстые, информации много. Информацию нужно завязать в знания, выстроить свои какие-то связи. Это только через практику.

    Я время от времени возвращаюсь к этим книгам как к справочнику, а иногда открываю в них что-то новое для себя, то что раньше пропустил из-за того, что не был готов.
    Ответ написан
    Комментировать
  • Как решить данную задачу?

    DmitryITWorksMakarov
    @DmitryITWorksMakarov
    Еще один вариант со связанным списком
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    namespace throughOneKill
    {
        class Program
        {
            static void Main(string[] args)
            {
                int N = 10;
    
                var list = new LinkedList<int>(Enumerable.Range(1, N));
                Console.WriteLine(string.Join(" ", list));
                var currentItem = list.First;
                while (list.Count != 1)
                {
                    list.Remove(currentItem.Next ?? list.First);
                    currentItem = currentItem.Next ?? list.First;
                }
                Console.WriteLine(list.First.Value);
    
                Console.ReadKey();
            }
        }
    }
    Ответ написан
    Комментировать