Бакалавр компьютерных наук

Computer science

Computer science is the study of the theoretical foundations of information and computation and how they can be implemented in computer systems. 1 2 3 It is a broad discipline, with many fields. For example, computer programming involves the use of specific programming languages to craft solutions to concrete computational problems. Computer graphics relies on algorithms that help generate and alter visual images synthetically. Computability theory helps us understand what may or may not be computed, using current computers. On a fundamental level, computer science enables us to communicate with a machine, allowing us to translate our thoughts and ideas into machine language, to give instructions that the machine can follow, and to obtain the types of responses we desire.

Computer science has touched practically every aspect of modern-day life. For instance, it has led to the invention of general-purpose computers, for tasks ranging from routine writing and computing to specialized decision making. It has led to the development of the Internet, search engines, e-mail, instant messaging, and e-commerce, bringing about a revolution in our ability to access and communicate information and to conduct financial transactions. By enabling the development of computer graphics and sound systems, it has led to new ways of creating slides, videos, and films. These, in turn, have given birth to new approaches for teaching and learning. For research in various fields, computer science has greatly enhanced the processes of data gathering, storage, and analysis, including the creation of computer models. By fostering the development of computer chips, it has aided in the control of such things as mobile phones, home appliances, security alarms, heating and cooling systems, and space shuttles. In medicine, it has led to the creation of new diagnostic and therapeutic approaches. For national defense, it has led to the development of precision weaponry. Through the development of robots, it has enabled the automation of industrial processes and helped in such tasks as defusing bombs, exploring uncharted territories, and finding disaster victims.

Помощь в поступлении за границу с UniPage

Наши менторы курируют весь процесс поступления: от выбора вуза и подготовки документов до зачисления и получения визы. Мы всегда на связи и готовы ответить на любые вопросы. Специалисты UniPage объективно оценят вашу ситуацию и предложат самые подходящие варианты.

Для того, чтобы поступить на курс Bachelor of Computer Science (BCompSc, BCS, BS CS), абитуриент, как правило, должен предоставить аттестат о школьном образовании с высокими оценками по математике и информатике, а также результаты тестов по английскому языку. Если администрация учебного заведения сочтёт знания абитуриента недостаточными для поступления, то при большинстве университетов существуют подготовительные курсы.

Development of computer science

Computer science emerged as an independent discipline in the early 1960s, although the electronic digital computer that is the object of its study was invented some two decades earlier. The roots of computer science lie primarily in the related fields of mathematics, electrical engineering, physics, and management information systems.

Mathematics is the source of two key concepts in the development of the computer—the idea that all information can be represented as sequences of zeros and ones and the abstract notion of a “ stored program.” In the binary number system, numbers are represented by a sequence of the binary digits 0 and 1 in the same way that numbers in the familiar decimal system are represented using the digits 0 through 9. The relative ease with which two states (e.g., high and low voltage) can be realized in electrical and electronic devices led naturally to the binary digit, or bit, becoming the basic unit of data storage and transmission in a computer system.

Electrical engineering provides the basics of circuit design—namely, the idea that electrical impulses input to a circuit can be combined using Boolean algebra to produce arbitrary outputs. (The Boolean algebra developed in the 19th century supplied a formalism for designing a circuit with binary input values of zeros and ones false or true, respectively, in the terminology of logic to yield any desired combination of zeros and ones as output.) The invention of the transistor and the miniaturization of circuits, along with the invention of electronic, magnetic, and optical media for the storage and transmission of information, resulted from advances in electrical engineering and physics.

Management information systems, originally called data processing systems, provided early ideas from which various computer science concepts such as sorting, searching, databases, information retrieval, and graphical user interfaces evolved. Large corporations housed computers that stored information that was central to the activities of running a business—payroll, accounting, inventory management, production control, shipping, and receiving.

Theoretical work on computability, which began in the 1930s, provided the needed extension of these advances to the design of whole machines; a milestone was the 1936 specification of the Turing machine (a theoretical computational model that carries out instructions represented as a series of zeros and ones) by the British mathematician Alan Turing and his proof of the model’s computational power. Another breakthrough was the concept of the stored-program computer, usually credited to Hungarian American mathematician John von Neumann. These are the origins of the computer science field that later became known as architecture and organization.

Alan Turing

In the 1950s, most computer users worked either in scientific research labs or in large corporations. The former group used computers to help them make complex mathematical calculations (e.g., missile trajectories), while the latter group used computers to manage large amounts of corporate data (e.g., payrolls and inventories). Both groups quickly learned that writing programs in the machine language of zeros and ones was not practical or reliable. This discovery led to the development of assembly language in the early 1950s, which allows programmers to use symbols for instructions (e.g., ADD for addition) and variables (e.g., X). Another program, known as an assembler, translated these symbolic programs into an equivalent binary program whose steps the computer could carry out, or “execute.”

Other system software elements known as linking loaders were developed to combine pieces of assembled code and load them into the computer’s memory, where they could be executed. The concept of linking separate pieces of code was important, since it allowed “libraries” of programs for carrying out common tasks to be reused. This was a first step in the development of the computer science field called software engineering.

Later in the 1950s, assembly language was found to be so cumbersome that the development of high-level languages (closer to natural languages) began to support easier, faster programming. FORTRAN emerged as the main high-level language for scientific programming, while COBOL became the main language for business programming. These languages carried with them the need for different software, called compilers, that translate high-level language programs into machine code. As programming languages became more powerful and abstract, building compilers that create high-quality machine code and that are efficient in terms of execution speed and storage consumption became a challenging computer science problem. The design and implementation of high-level languages is at the heart of the computer science field called programming languages.

Increasing use of computers in the early 1960s provided the impetus for the development of the first operating systems, which consisted of system-resident software that automatically handled input and output and the execution of programs called “jobs.” The demand for better computational techniques led to a resurgence of interest in numerical methods and their analysis, an activity that expanded so widely that it became known as computational science.

The 1970s and ’80s saw the emergence of powerful computer graphics devices, both for scientific modeling and other visual activities. (Computerized graphical devices were introduced in the early 1950s with the display of crude images on paper plots and cathode-ray tube CRT screens.) Expensive hardware and the limited availability of software kept the field from growing until the early 1980s, when the computer memory required for bitmap graphics (in which an image is made up of small rectangular pixels) became more affordable. Bitmap technology, together with high-resolution display screens and the development of graphics standards that make software less machine-dependent, has led to the explosive growth of the field. Support for all these activities evolved into the field of computer science known as graphics and visual computing.

Closely related to this field is the design and analysis of systems that interact directly with users who are carrying out various computational tasks. These systems came into wide use during the 1980s and ’90s, when line-edited interactions with users were replaced by graphical user interfaces (GUIs). GUI design, which was pioneered by Xerox and was later picked up by Apple (Macintosh) and finally by Microsoft (Windows), is important because it constitutes what people see and do when they interact with a computing device. The design of appropriate user interfaces for all types of users has evolved into the computer science field known as human-computer interaction (HCI).

The Xerox Alto was the first computer to use graphical icons and a mouse to control the system—the first graphical user interface (GUI).

The field of computer architecture and organization has also evolved dramatically since the first stored-program computers were developed in the 1950s. So called time-sharing systems emerged in the 1960s to allow several users to run programs at the same time from different terminals that were hard-wired to the computer. The 1970s saw the development of the first wide-area computer networks ( WANs) and protocols for transferring information at high speeds between computers separated by large distances. As these activities evolved, they coalesced into the computer science field called networking and communications. A major accomplishment of this field was the development of the Internet.

The idea that instructions, as well as data, could be stored in a computer’s memory was critical to fundamental discoveries about the theoretical behaviour of algorithms. That is, questions such as, “What can/cannot be computed?” have been formally addressed using these abstract ideas. These discoveries were the origin of the computer science field known as algorithms and complexity. A key part of this field is the study and application of data structures that are appropriate to different applications. Data structures, along with the development of optimal algorithms for inserting, deleting, and locating data in such structures, are a major concern of computer scientists because they are so heavily used in computer software, most notably in compilers, operating systems, file systems, and search engines.

In the 1960s the invention of magnetic disk storage provided rapid access to data located at an arbitrary place on the disk. This invention led not only to more cleverly designed file systems but also to the development of database and information retrieval systems, which later became essential for storing, retrieving, and transmitting large amounts and wide varieties of data across the Internet. This field of computer science is known as information management.

Another long-term goal of computer science research is the creation of computing machines and robotic devices that can carry out tasks that are typically thought of as requiring human intelligence. Such tasks include moving, seeing, hearing, speaking, understanding natural language, thinking, and even exhibiting human emotions. The computer science field of intelligent systems, originally known as artificial intelligence (AI), actually predates the first electronic computers in the 1940s, although the term artificial intelligence was not coined until 1956.

Three developments in computing in the early part of the 21st century—mobile computing, client-server computing, and computer hacking—contributed to the emergence of three new fields in computer science: platform-based development, parallel and distributed computing, and security and information assurance. Platform-based development is the study of the special needs of mobile devices, their operating systems, and their applications. Parallel and distributed computing concerns the development of architectures and programming languages that support the development of algorithms whose components can run simultaneously and asynchronously (rather than sequentially), in order to make better use of time and space. Security and information assurance deals with the design of computing systems and software that protects the integrity and security of data, as well as the privacy of individuals who are characterized by that data.

Finally, a particular concern of computer science throughout its history is the unique societal impact that accompanies computer science research and technological advancements. With the emergence of the Internet in the 1980s, for example, software developers needed to address important issues related to information security, personal privacy, and system reliability. In addition, the question of whether computer software constitutes intellectual property and the related question “Who owns it?” gave rise to a whole new legal area of licensing and licensing standards that applied to software and related artifacts. These concerns and others form the basis of social and professional issues of computer science, and they appear in almost all the other fields identified above.

So, to summarize, the discipline of computer science has evolved into the following 15 distinct fields:

С чего начать

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

Для этого рекомендуется:

  • определиться с направлением – начинать лучше «с малого» (основы информатики);
  • подготовить соответствующую литературу;
  • выяснить мотивы выбора профессии IT Science (если это только заработок – ничего не получится);
  • изучить имеющиеся в доступе уроки и литературу.

Но для полноценного образования стоит присмотреться к специализированным курсам. Есть как всеобъемлющее звено «Компьютерные науки», так и различные направленности упомянутой области. Главное помнить – изучить computer и его принципы работы не так-то просто. Это долгий и весьма энергозатратный процесс. Но, если постараться, все обязательно получится.

Хотите освоить современные компьютерные науки? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Теории могут улучшить ваши навыки решения задач

Разработка ПО не всегда является прямолинейным процессом. Разработчики часто сталкиваются с проблемами, требующими надёжного и эффективного решения. Триумф решения в сфере разработки ПО зависит от навыков и опыта команды. Например, команда может реализовать быстрое, но неэффективное решение. В то же время, другая команда может найти эффективное решение той же задачи. Теории computer science помогают разработчикам придумывать эффективные и умные решения. Например, в проекте open source Git проблемой было эффективное хранение объектов коммитов. Первые разработчики Git решили её при помощи хеширования и древовидной структуры данных.

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

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

Компьютер сайнс что это

+7 (499) 444-90-36 Отдел заботы о пользователях

Москва, Ленинский проспект, дом 6, строение 20

  • Участник Skolkovo
  • Премии Рунета 2018, 2019, 2020

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector