Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 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.