Competitive Programmer's Core Skills

所在平台: CourseraArchive

课程类别: 其他类别

大学或机构: CourseraNew

课程主页: https://www.coursera.org/archive/competitive-programming-core-skills

课程评论:没有评论

第一个写评论        关注课程

课程简介

Saint Petersburg State University

课程大纲

We'll begin with introduction to the world of competitive programming — the rules, specialties and helpful tips on taking part in competitions in general. In a separate lesson, we'll learn how to test programs: what kinds of test cases there are, how to organize the search for a bugtest, and particularly a method of automating testing called stress-testing.

课程评论(0条)

课程详情

During the course, you’ll learn everything needed to participate in real competitions — that’s the main goal. Along the way you’ll also gain useful skills for which competitive programmers are so highly valued by employers: ability to write efficient, reliable, and compact code, manage your time well when it’s limited, apply basic algorithmic ideas to real problems, etc. We start from the very beginning by teaching you what competitions there are, what are their rules, what specifics problems have, how to read problem statements, how to organize your work, and what you should and shouldn’t do. So it’s fine if you’ve never taken part in programming competitions before. We’ll focus on skills essential to competitive programming: inventing solutions and proving their correctness, estimating their running time, testing and debugging programs, how to benefit from structuring code. We’ll also cover basic algorithmic ideas: brute force search, dynamic programming, greedy algorithms, segment trees. On competitions, there are a lot of specific pitfalls, perilous to beginners — but that’s not to worry, as we’ll go through the most common of them: integer overflow and issues with fractional numbers, troubles of particular programming languages, how to get unstuck in general. And, you’ll hone all these skills by solving practice problems, which are just like problems on real competitions. You could use any of the following programming languages: C, C++, C#, Haskell, Java, JavaScript, Python 2, Python 3, Ruby, Rust, Scala. We assume that you already know how to write simplest programs in one of these.

竞争程序员的核心技能:在课程中,您将学习参加真实比赛所需的一切,这是主要目标。在此过程中,您还将获得有用的技能,这些技能使有竞争力的程序员受到雇主的高度评价:能够编写高效,可靠和紧凑的代码,在有限的时间内很好地管理您的时间,将基本算法思想应用于实际问题等。 我们从一开始就教您参加什么比赛,比赛的规则是什么,有哪些具体问题,如何阅读问题陈述,如何组织工作以及应该做什么和不应该做什么。因此,如果您以前从未参加过编程比赛,那也很好。 我们将专注于竞争性编程必不可少的技能:发明解决方案并证明其正确性,估算其运行时间,测试和调试程序以及如何从结构化代码中受益。我们还将介绍基本的算法思想:蛮力搜索,动态编程,贪婪算法,分段树。 在比赛中,有很多特定的陷阱,对初学者来说是危险的-但这不用担心,因为我们将经历最常见的陷阱:整数溢出和小数问题,特定编程语言的麻烦,如何获得一般都没有粘。 而且,您将通过解决练习问题来磨练所有这些技能,就像实际比赛中的问题一样。您可以使用以下任何一种编程语言:C,C ++,C#,Haskell,Java,JavaScript,Python 2,Python 3,Ruby,Rust,Scala。我们假定您已经知道如何用其中之一编写最简单的程序。

课程标签

0人关注该课程

主题相关的课程