1 / 19

Main Points

Main Points. Explain the rationale for the core course sequence/degree plan for majors. Establish expectations: be prepared for the rigor required in this major, especially the role of mathematics Explain that application of computer science is inherently multidisciplinary.

spichardo
Télécharger la présentation

Main Points

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Main Points • Explain the rationale for the core course sequence/degree plan for majors. • Establish expectations: be prepared for the rigor required in this major, especially the role of mathematics • Explain that application of computer science is inherently multidisciplinary.

  2. About the CS department at TAMU • know your advisors (in 325 Teague) • departmental organizations • AWICS – Aggie Women in Computer Science (Dr. Amato) • TACS – Texas A&M Computing Society (ACM chapter) • TAGD – Texas Aggie Game Developers (Dr. Schaeffer) • ACE Scholars – CS honors program (Dr. Amato) • departmental seminars • typically M/W, 4:10, in 124 HRBB • watch for Distinguished Lecturers Dr. Vivek Sarin Dr. Richard Furuta

  3. Be Resourceful • degree plan, requirements, and course catalog (pre-reqs) available on web • beware: not all courses are offered every semester • CSCE department resources • computer accounts, email, labs... • TAMU resources • library, SELL (software licenses for students) • ask questions of... • your peers • the faculty

  4. (or ENGR 112+CSCE 113 for CECN) CSCE 110 – Python CSCE 111 – Java CSCE 206 – C CSCE 121 Introduction to programming (C++) CSCE 221 Data Structures and Algorithms CSCE 312 Computer Organization CSCE 314 Programming Languages CSCE 222 - Discrete Structures for Computing CSCE 313 Intro to Computer Systems CSCE 315 Programming Studio CSCE 411 Analysis of Algorithms “systems” “theory” 400-level electives

  5. Other classes • seminars: 181, 481 (prep for internships) • upper-level electives (400) • tracks, breadth requirement • science classes (16 cr.) • PHYS, CHEM, BIOL, or GEOS • supporting area (12 cr.) • could be any interest area: math, business, music.... • must have a “computational” connection • Capstone (CSCE 482/483) • team-based projects • ENGR 482 – Engineering Ethics

  6. Role of Mathematics in Computer Science • Mathematical analysis plays a vital role in many computational systems...so be prepared for it.

  7. Combinatorics • Solving recurrence relations to estimate run-time complexity for (i=0 ; i<n ; i++) for (j=0 ; j<i ; j++) <do something> i=0: i=1: j=0 i=2: j=0, j=1 i=3: j=0, j=1, j=2 ... • how many nodes are in a binary tree with n levels? 1 2 4 8 16 ----- 31 n=5 levels another example: cryptography is all number theory and group theory

  8. Linear algebra • Matrix calculations are useful for... • perspective transformations Graphics • Scientific computing, e.g. solving heat equation by finite element methods (borrowed from Dr. Jinxiang Chai) 10

  9. Fast-Fourier Transforms (FFTs) • useful for analyzing/compressing images, sound files, speech recognition FFT is an efficient O(N log N) algorithm for computing these coefficients, ak FFT signal: [x1,x2...,xN] coeffs: [a1,a2...,aN] adapted from: http://www.mathworks.com/help/matlab/ref/fft.html

  10. Statistics • compare performance of algorithms using empirical experiments • evaluate performance of system under different loads • data analysis - finding trends, predictive models • distributions • Binomial, Gamma, Poisson, Gaussian • parameter estimation example: given a series of user response-times, what is the Maximum-Likelihood estimate of l in the Poisson distribution?

  11. Is Calculus (integral/differential equations) ever used in Computer Science? • Yes, for example in queuing theory, estimating network delays • can use this to determine maximum service times, required queue length, etc. from V. Rego (1986). Characterisations of Equilibrium Queue Length Distributions in M/G/1 Queues. docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1533&context=cstech

  12. The Multidisciplinary Nature of Computer Science • Sometimes, CS may feel like a branch of mathematics (combinatorics, proofs of correctness, analysis of complexity...) • However, CS becomes important to society when it is applied to real-world problems

  13. Information Technology is pervasive • computation, simulation, connectivity • meteorology, health care, construction, mapping, oil industry, pharmaceuticals, communication, financial markets, entertainment, even the military • more fields are becoming ‘data-centric’ • digitization • amassing huge databases (petabytes) • many jobs in software industry focus on processing/analyzing this data • “Data Science” - databases, search, machine learning, statistics, pattern recognition

  14. Each application area has its own lingo • domain concepts, like anatomy/physiology... • types of data, format, sources of error • Software engineers must learn how to communicate with customers • to understand users’ needs in that field • This is why we encourage you to develop an orthogonal interest in a “supporting area” • Since users don’t understand what things are possible/impossible with computers, we have to help guide the design • if we don’t use and understand their terminology, they won’t respect us, and nothing gets done

  15. your interest is your own, but think about how it involves computation... • more application areas: • business processes, quantitative trading • music – MIDI format, synthetic music, sound synthesis, filtering • biology – genomes, metabolic pathways, protein interactions, regulatory networks • archeology – cataloging of artifacts, searching, identifying patterns • automobile design – engine controllers for fuel efficiency/power, heat, emissions, manufacturing • aerospace engineering - fluid dynamics and airfoil design, air-traffic control (congestion, routing), automation and displays in cockpit

  16. Another example: Interface Design (GUIs) and Cognitive Science • in order to design good interfaces, it helps to understand how people think • how do they respond to different visual inputs? e.g. button size, color, placement • should have a “cognitive model” of what tasks they might be doing and what questions they might have • cognitive factors that impact software usage: • attention, interference between perceptual modalities • limits on short-term memory • consistency – e.g. meaning of buttons like “submit” and “cancel” • fatigue, distraction, expectation biases...

  17. Summary • The course sequence focuses on learning data structures and algorithms at the lower level (along with systems and programming) • Based on this foundation, you can take many upper-level electives. • Be prepared for the rigor required in this major. Many topics in CS require mathematics. • Computer science is inherently multidisciplinary, and it is important to learn the concepts and terminology in an application area.

More Related