Предоставление презентации проекта программного обеспечения [закрытым] непрограммистам

Путем взятия струны до C++ 03 std::fstream класс уменьшил зависимость от std::string класс. В C++ 11, однако, std::fstream класс действительно позволяет передавать std::string для его параметра конструктора.

Теперь, можно ли задаться вопросом, почему не там прозрачное преобразование из std:string к струне до, таким образом, класс, который ожидает струну до, мог все еще взять std::string точно так же, как класс, который ожидает std::string, может взять струну до.

причина состоит в том, что это вызвало бы цикл преобразования, который в свою очередь может привести к проблемам. Например, предположите std::string, было бы конвертируемо к струне до так, чтобы Вы могли использовать std::string с с [1 110] с. Предположим также, что струна до конвертируема к [1 111] с, как состояние в текущем стандарте. Теперь, рассмотрите следующее:

void f(std::string str1, std::string str2);
void f(char* cstr1, char* cstr2);

void g()
{
    char* cstr = "abc";
    std::string str = "def";
    f(cstr, str);  // ERROR:  ambiguous
}

, поскольку можно преобразовать так или иначе между std::string и струна до, которую вызов к [1 113] мог разрешить к любому из два f() альтернативы, и таким образом неоднозначно. Решение состоит в том, чтобы повредить цикл преобразования путем создания одного направления преобразования явным, который является тем, что STL принял решение сделать с [1 115].

31
задан Community 24 January 2016 в 11:13
поделиться

14 ответов

Когда я работал над докторской степенью, преподаватели дали нам это правило для семинаров - и оно оказалось очень полезным с тех пор:

  1. Скажите им, что вы собираетесь им сказать. (Например, краткая вводная задача описание и аннотации результатов)
  2. Скажи им. (Например, технические детали, составляющие большую часть времени)
  3. Скажите им, что вы им сказали. (Например, краткое резюме и выводы)
  4. Предоставьте слово для вопросов.

На вашей позиции я бы потратил около 10-20% отведенного вами времени на то, чтобы сделать № 1 в значительной степени нетехническим способом. Итак, вы можете описать бизнес-функцию, которую автоматизирует ваш код, почему это важно, как все происходило до и после применения вашего решения, как это экономит деньги и тому подобное.

Затем я бы начал высокотехническую дискуссию, направленную на в толпе CS / SE. Даже если остальные не понимают этого и их глаза тускнеют, ваше представление, по крайней мере, дало бы им представление о том, что это такое, и они могли бы узнать немного здесь или там.

Что касается третьей части, я бы кратко резюмировал проблему и описал, как вы ее решили, на нетехническом языке, а затем проделал бы демо-демонстрацию расширяемости в реальном времени. Даже если люди, не знакомые с CS / SE, не поймут демонстрацию, они увидят, как мимо пролетает леденец, а ваши коллеги по профессии и преподаватели кивают и улыбаются, так что они подумают, что это круто.

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

Я кратко резюмирую проблему и опишу, как вы ее решили, на нетехническом языке, а затем сделайте свою потрясающую демонстрацию расширяемости в реальном времени. Даже если люди, не знакомые с CS / SE, не поймут демонстрацию, они увидят, как пролетает леденец, а ваши коллеги по профессии и преподаватели кивают и улыбаются, так что они подумают, что это круто.

Однажды я посетил конференцию. семинар парня, получившего Нобелевскую премию за применение теории хаоса к химическим системам. Он применил этот подход, поэтому, хотя все не-теоретики, такие как мои товарищи-химики-органики и я, были совершенно не в своей тарелке, тот факт, что все теоретики были взволнованы, оставил у нас ощущение, что это был отличный семинар, хотя мы этого не сделали '' Понятия не имею, что он сказал.

Я кратко резюмирую проблему и опишу, как вы ее решили, на нетехническом языке, а затем сделайте демо-презентацию о расширяемости в реальном времени. Даже если люди, не знакомые с CS / SE, не поймут демонстрацию, они увидят, как пролетает леденец, а ваши коллеги по профессии и преподаватели кивают и улыбаются, так что они подумают, что это круто.

Однажды я посетил конференцию. семинар парня, получившего Нобелевскую премию за применение теории хаоса к химическим системам. Он применил этот подход, поэтому, несмотря на то, что все не теоретики, такие как мои коллеги-химики-органики и я, были совершенно не в наших силах, тот факт, что все теоретики были взволнованы, заставил нас почувствовать, что это был отличный семинар, хотя мы этого не сделали '' Понятия не имею, что он сказал.

Даже если люди, не знакомые с CS / SE, не поймут демонстрацию, они увидят, как пролетает леденец, а ваши коллеги по профессии и преподаватели кивают и улыбаются, так что они подумают, что это круто.

Однажды я посетил конференцию. семинар парня, получившего Нобелевскую премию за применение теории хаоса к химическим системам. Он применил этот подход, поэтому, хотя все не-теоретики, такие как мои товарищи-химики-органики и я, были совершенно не в своей тарелке, тот факт, что все теоретики были взволнованы, оставил у нас ощущение, что это был отличный семинар, хотя мы этого не сделали '' Понятия не имею, что он сказал.

Даже если люди, не знакомые с CS / SE, не поймут демонстрацию, они увидят, как мимо пролетает леденец, а ваши коллеги по профессии и преподаватели кивают и улыбаются, так что они подумают, что это круто.

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

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

Однажды я посетил семинар парня, получившего Нобелевскую премию за применение теории хаоса к химическим системам. Он применил этот подход, поэтому, хотя все не-теоретики, такие как мои товарищи-химики-органики и я, были совершенно не в своей тарелке, тот факт, что все теоретики были взволнованы, оставил у нас ощущение, что это был отличный семинар, хотя мы этого не сделали '' Понятия не имею, что он сказал.

27
ответ дан 27 November 2019 в 21:43
поделиться

What I do is to talk analogies, try to convert to real world the terms you are explaining.

BTW, Why are you talking about software tech aspects to non tech people?? You have to target the content to your audience first. Who is your main audience?? The techies or non techies, choose one.

Regards,

1
ответ дан 27 November 2019 в 21:43
поделиться

Чтобы обратиться к обеим аудиториям, я иногда даю техническое объяснение, а затем дополняю его своим объяснением «на английском, пожалуйста». CSI и другие драмы с наукой делают это постоянно, и это дает хороший эффект.

Другими словами, [вставьте здесь простое объяснение на английском языке].

11
ответ дан 27 November 2019 в 21:43
поделиться

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

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

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

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

9
ответ дан 27 November 2019 в 21:43
поделиться

Несколько советов

  • Используйте общий технический язык. используйте только те термины, которые узнает слух.
  • Он связывает то, что вы выставляете сами, с примерами, узнаваемыми аудиторией.

вы также можете прочитать эти замечательные статьи.

Пока.

4
ответ дан 27 November 2019 в 21:43
поделиться

Давайте атакуем это как проблему рефакторинга.

т.е. Вместо того, чтобы добавлять что-то в вашу презентацию, есть ли способ, которым вы можете убрать материал?

Например, я не думаю, что хвастается Важно то, что ваше демонстрационное приложение может использовать несколько источников данных, не говоря уже о грантах для программирования прямо во время презентации. Я знаю, что разработчики вашего приложения позаботились о том, чтобы достичь этой точки, но все же большинство людей больше интересуют ВЫХОДЫ, а не ВХОДЫ приложения. И даже больше в ПРЕИМУЩЕСТВАХ этого приложения.

Некоторые руководящие моменты:

  • Сделайте презентацию о них . Если аудитория почувствовала боль, которую решает ваша программа, напомните им об этой боли. Если это другие исследователи, подобные вам, попросите их поставить себя на место организации, которой вы помогли.

  • Сравните старый и новый способ ведения дел. Почему новый способ более эффективен? Приведет ли это к увеличению продаж? это уменьшит запасы? или сэкономить? Потеряет ли кто-то работу из-за того, что ваше решение сделает его задачу неактуальной. Примечание: при создании технологических презентаций я ' То, что я заметил, важно, чтобы понять, что происходит с людьми, которые выполняли задание ранее. К счастью, в большинстве случаев люди не теряют работу, в большинстве случаев одни и те же люди могут выполнять гораздо больший объем работы благодаря Технология.

  • Показать результатов . Какие реальные результаты наблюдала ваша демонстрационная компания?

  • Используйте значимые визуальные эффекты . Если бы вы могли сделать несколько анимаций, которые еще лучше объясняли бы ваш алгоритм.

  • Расскажите о своей точке зрения в начале и в конце . Большинство людей забудут, что произошло в середине, поэтому не забудьте рассказать о самом важном в начале и в ходе выступления.

  • Практика, Практика . Да, это звучит нелепо, но сделайте всю презентацию перед зеркалом или на видео записывайте как минимум дважды. Чем больше, тем лучше. Не проводите одну из самых важных презентаций в своей жизни без репетиции.

Дышите и будьте уверены, у вас все будет хорошо :-D

PS: Мои предложения основаны на этой веб-странице. Он несколько раз руководил мной: 6 Стимулы для достижения старого мозга

9
ответ дан 27 November 2019 в 21:43
поделиться

I've been in the same situation
(presenting a software engineering/image processing/recognition project in an EE faculty competition).

  • Start with the issue (the problem)

  • Then the background (a BIT of technical background)

  • The solution:

    • Start with block-charts (all engineers read those)

    • Then explain the technologies and how briefly - how complicated the implementation was
      (не стоит недооценивать сложность - иначе ваша работа может показаться простой для инженеров из других областей - они не оценят ваши усилия)

  • Результаты:

    • Покажите короткие наглядные примеры (постарайтесь сделать их интригующими )
      (short code examples can go here)

    • Short user interface demo

    • Show impressive graphs

  • Bibliography, thanks, possible future improvements/research

  • Questions (if the forum is large, tell them in advance that the time for questions will be at the end)

  • General advice:

    • Practice presenting (over and over)

    • Leave 45-60 seconds per slide

    • No more than 5 points per slide

    • 1 line per point

    • Add jokes

    • No animations except for demonstrating complicated issues faster

    • Use clear fonts (Ariel or Calibri for regular text, 1 different font for titles)

    • Use high contrast colors (яркий на черном или темный на белом, если необходимо - без темного на темном, ярком или ярком)

5
ответ дан 27 November 2019 в 21:43
поделиться

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

1
ответ дан 27 November 2019 в 21:43
поделиться

Смешайте и сопоставьте темы, которые все знают. Это помогло мне тематизировать слайды с изображениями от Божественной комедии до Симпсонов. Я не знаю, насколько формальна ваша презентация, но это обычная конструктивистская техника, чтобы зацепить что-то, что ваша аудитория уже знает, чтобы показать свою

Однажды я посетил презентацию Ларри Уолла, где он объяснил особенности Perl 6, используя примеры из гольфа, смешанного с «Властелином кольца».

2
ответ дан 27 November 2019 в 21:43
поделиться

I я был бы склонен не использовать код (если только он вам не нужен) и использовать некоторую форму общего (и прямого) псевдокода.

Кроме того, если вы говорите с подсказками, поставьте «Дыши!» вверху карточек. Мне помогло ...

если вы говорите с подсказками, поставьте «Дыши!» вверху карточек. Мне помогло ...

если вы говорите с подсказками, поставьте «Дыши!» вверху карточек. Мне помогло ...

1
ответ дан 27 November 2019 в 21:43
поделиться

Вот это мой совет:

  1. Четко обозначьте, кто ваша аудитория и каково ваше сообщение - Вы пытаетесь произвести впечатление на шесть преподавателей, которые отмечают ваш проект, или доказываете, что можете развлечь всю аудиторию.
  2. Придумайте содержание. страница на раннем этапе - так аудитория знает, чего ожидать.
  3. Поместите материал для компьютерных фанатов в приложение к вашей основной презентации. Таким образом, вы можете погрузиться в него и задать вопросы, но не упустите основную идею вашего выступления.
  4. Убедитесь, что ваша презентация течет и рассказывает историю - ограничьте количество слайдов и не загромождайте их, например, проект цели, возможные применения, проблемы проектирования, выбор программного обеспечения, что вы сделали (ограничьте технар), результаты (демонстрация), результаты и ограничения, следующие шаги, вопросы.
  5. Добавьте страницу с выводами в конце - убедитесь, что вы вернулись назад и сделали перекрестную ссылку на страницу с исходным содержанием .
  6. Оставляйте 15-20% своего времени на вопросы . Это покажет, чем интересуется аудитория, и позволит вам продемонстрировать более глубокое понимание темы, то есть выполнять кодирование в реальном времени, только если они об этом просят.
  7. Репетируйте вслух , даже если вы чувствуете себя глупо, делая это.
  8. 12140] Удачи.

5
ответ дан 27 November 2019 в 21:43
поделиться

Я думаю, что Саймон Пейтон Джонс отлично говорит. См. Раздел Как сделать хороший исследовательский доклад на этой странице . В частности, посмотрите видео его выступления на тему, указанную в этом разделе. Вы можете найти другие видеоролики с его выступлениями о Haskell, функциональном программировании и т. Д., Чтобы увидеть, как он практикует то, что проповедует.

1
ответ дан 27 November 2019 в 21:43
поделиться

Пожалуйста, послушайте следующий подкаст: Инструменты менеджера - Базовая презентация

Он охватывает все основы, необходимые для создания эффективных презентаций.

Теперь, когда вы проводите презентации проектов, делайте это следующее:

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

  2. Создание списка требований высокого уровня

  3. Создание диаграммы процесса рабочего процесса приложения (снова красивые цвета, стрелки и блоки). Эта модель покажет, как пользователь должен работать с приложением для решения своей основной задачи.

Для того, чтобы настоящее приложение сначала показало им список требований и поговорило о них, затем высокоуровневую архитектуру и, наконец, диаграмму процесса рабочего процесса приложения, за которой можно будет провести живую демонстрацию.

Самое важное правило - представлять на довольно высоком уровне множество диаграмм и моделей, чтобы показать, о чем вы говорите.

1
ответ дан 27 November 2019 в 21:43
поделиться

Прежде всего, я бы посоветовал поговорить с вашими советниками факультета о том, чего они ждут от вашей презентации. Если есть какие-либо вопросы о том, как вы должны сбалансировать технические детали, понятные только специалистам в области CS, с более общими концепциями, понятными для более широкой аудитории, я думаю, что было бы действительно полезно получить мнение тех, кто будет оценивать вас.

Одна вещь, которую я действительно хотелось бы видеть из презентации - это «забери домой сообщение». Что вы хотите, чтобы все в этой аудитории запомнили еще долгое время после того, как покинули комнату? Скажите им полезное сообщение в самом начале. Скажите им, что вы потратите оставшуюся часть презентации, объясняя, почему им это должно быть небезразлично и почему они должны вам верить. Даже если люди запутаются в некоторых технических деталях, Если вы хотя бы отвезете домой это сообщение, вы доставите одно сообщение большому количеству людей.

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

Что касается того, следует ли вам показывать реальный код или выполнять кодирование в реальном времени, я интуитивно чувствую, что вы не должны, если это не так ». абсолютно критически важны для того, о чем вы говорите. Если бы ваш проект на самом деле был связан с какой-то конструкцией кодирования (например, если бы вы изобрели концепцию «метода расширения»), хорошо, было бы разумно вникнуть в реальный код. Но похоже, что значимость того, что вы сделали, определенно выше. Вы можете показать , как мало кода требуется, чтобы, скажем, подключить другой источник данных, но я бы не стал вдаваться в подробности самого кода, если вы не чувствуете, что не можете донести свою точку зрения иначе. Одна вещь, которую я, вероятно, хотел бы увидеть, будь я в аудитории, - это демонстрация вашего кода в действии. Покажи мне, что это такое, и объясни, почему это круто.

Надеюсь, все пройдет хорошо!

если бы вы изобрели концепцию «метода расширения»), хорошо, имеет смысл вникнуть в реальный код. Но похоже, что значимость того, что вы сделали, определенно выше. Вы можете показать , как мало кода требуется, чтобы, скажем, подключить другой источник данных, но я бы не стал вдаваться в подробности кода, если вы не чувствуете, что не можете донести свою точку зрения иначе. Одна вещь, которую я, вероятно, хотел бы увидеть, будь я в аудитории, - это демонстрация вашего кода в действии. Покажи мне, что это такое, и объясни, почему это круто.

Надеюсь, все пройдет хорошо!

если бы вы изобрели концепцию «метода расширения»), хорошо, имеет смысл вникнуть в реальный код. Но похоже, что значимость того, что вы сделали, определенно выше. Вы можете показать , как мало кода требуется, чтобы, скажем, подключить другой источник данных, но я бы не стал вдаваться в подробности кода, если вы не чувствуете, что не можете донести свою точку зрения иначе. Одна вещь, которую я, вероятно, хотел бы увидеть, будь я в аудитории, - это демонстрация вашего кода в действии. Покажи мне, что это такое, и объясни, почему это круто.

Надеюсь, все пройдет хорошо!

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

Надеюсь, все пройдет хорошо!

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

Надеюсь, все пройдет хорошо!

6
ответ дан 27 November 2019 в 21:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: