Download Areas of Study in Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Secondary School Mathematics Curriculum Improvement Study wikipedia , lookup

Artificial intelligence wikipedia , lookup

Computer simulation wikipedia , lookup

Computer security compromised by hardware failure wikipedia , lookup

Computer vision wikipedia , lookup

Human-Computer Interaction Institute wikipedia , lookup

Human–computer interaction wikipedia , lookup

Computer program wikipedia , lookup

Theoretical computer science wikipedia , lookup

Transcript
Computer Science 100 - Homework 1: Areas of Study
in Computer Science
Due:
Thu. Feb. 9 at the beginning of class
This homework asks you to determine what area(s) of computer science are studied in
some of the upper-division computer science electives offered at Truman. Select any three
of the Truman CS courses from the course list below. Find a description of each course in
the current Truman State University catalog (available online from the registrar's office
website: registrar.truman.edu). Using the course description from the catalog (plus
possible additional help, as outlined below) determine which area/areas of computer
science is/are studied in the course. If the course covers multiple areas of computer
science, list only the top two areas the course covers. Be sure to justify your selection of
each area.
For this homework exercise only, you may work in groups of two people. Note that if you
do choose to work in a group, each person in the group must still write up the final
homework solution by themself, using their own words. Submitting multiple copies of the
same work will be considered plagiarism. In addition (again for this exercise only), you
may consult with any computer science major, with any faculty member on campus, or
with the worldwide web. You may not consult with any person off-campus (by, say,
posting on a question on Facebook, Instagram, Snapchat, Tinder, etc.)
Course List:










CS 180: Foundations of Computer Science I
CS 191: Computing Structures
CS 310: Data Structures and Algorithms
CS 315: Internet Programming
CS 330: Computer Architecture and Organization
CS 370: Software Engineering
CS 380: Programming Languages
CS 435: Parallel and Distributed Computing
CS 480: Artificial Intelligence
CS 490: Automata Theory and Formal Languages
Sub-fields and areas of computer science
Algorithms and Data Structures: The formal study of problems and their step-by-step
solutions. The solutions are known as algorithms. It includes a study of the best way to
represent information (this representation is called a data structure) so that it can be
efficiently accessed and modified when solving a problem.
Artificial Intelligence: The study of computer systems that simulate the use of human
intelligence in computer problem solving.
Computer Architecture: The study of the physical components of the computer (circuits,
disk drives, CPUs, etc.) how they interconnect, and how they store and process data.
Computer programming: The art and science of translating algorithms into a form that a
computer can follow.
Concurrent, Parallel and Distributed Systems: Concurrency is a property of systems in
which several computer programs execute at the same time, interacting with each
other, in order to complete a single task. Parallel systems and distributed systems are
the two types of concurrent systems.
Databases and Information Management: The study of how to gather, organize, protect,
efficiently store, and retrieve large amounts of information including textual, numeric
and graphic data.
Human-computer interface: The study of the ways people interact with computers; the
study of input and output.
Information and Coding Theory: The properties of codes and their use in representing
information.
Information Systems: The study of how computer technology is used in an organization.
Networks: The study of collections of communicating computers and the transmission of
information between computers.
Programming Language Theory: A branch of computer science that deals with the design,
implementation, analysis, characterization, and classification of programming
languages and their individual features.
Security: The protection of information from unauthorized access, disruption, or
modification.
Software Engineering: The study of designing, implementing, and modifying software in
order to ensure it is of high quality, affordable, maintainable, and can be built quickly. It
is the application of engineering practices to software.
Theory of Computation: The study of what types of problems are and are not solvable by a
computer; different types of theoretical machines (called automatons); the study of the
difficulty associated with solving problems.
What to turn in: Turn in a sheet of paper with the three courses you have chosen listed and,
for each course, a list of the areas/sub-fields of computer science that the course covers,
and a justification for why you think that area/sub-field is covered in the course. Keep
in mind the grading criteria when preparing your submission. Make sure that your
name is at the top of your submission.
Evaluation:
 3 points: Correctly classifies all three courses; all justifications are convincing; no
spelling, punctuation or grammar errors in submission; work is neat and tidy.
 2 point: Correctly classifies only two of three courses; or, contains a single spelling,
punctuation or grammar error; work must be neat and tidy.
 1 point: Correctly classifies only one of three courses; or, contains two or more
spelling, punctuation or grammar errors; or work is not neat and tidy.
 0 points: Does not correctly or convincingly categorize any course; or work is
unacceptably messy or untidy; or, contains three of more spelling, punctuation or
grammar errors; or work does not conform to standards listed above and discussed
in class.