900 likes | 912 Views
About the Major (CS at TAMU). 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
E N D
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.
About the CS Department at TAMU • Know your advisors (in 325 Teague) • Departmental organizations • AWICS – Aggie Women in Computer Science • TACS – Texas A&M Computing Society • TAGD – Texas Aggie Game Developers • ACE Scholars – CSE honors program • Departmental seminars • M/W, 4:10, 124 HRBB • Watch for Distinguished Lecturers Mr. Raley Marek Dr. Jennifer Runnels Dr. Rick Furuta Dr. Vivek Sarin
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) • Be aware of expected course offerings on web • Ask questions of... • your peers • the faculty
CSCE 222 Discrete Structures for Computing CSCE 110 – Python CSCE 111 – Java CSCE 206 – C CSCE 121 Introduction to programming (C++) (or ENGR 112) CSCE 314 Programming Languages CSCE 221 - Data Structures and Algorithms CSCE 312 Computer Organization CSCE 313 Intro to Computer Systems CSCE 315 Programming Studio CSCE 411 Analysis of Algorithms “theory” “systems” gateway to upper level 400-level electives
Other Classes • Seminars: 181, 481 • Upper-level electives (400) • Tracks: at least one from each • 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
Plan Your College Career! • It takes 126 hours to graduate • 126/8 = 15.75 hours a semester to graduate in 4 years • How many hours are you taking? • What courses will you take? When will you take those courses? • Have a plan (it may change) or you could easily stay in college longer than you think
Role of Mathematics in Computer Science • Mathematical analysis plays a vital role in many computational systems...so be prepared for it. • Current requirements: • MATH 151, 152 (calc) • MATH 304 (lin alg) • STAT 211 • MATH 251 (vector calc) OR 302 (discrete math) OR 304 (diff eqns)
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 ... • Surface representations?
Linear Algebra • Matrix calculations are useful for... • Transformations in Graphics • Scientific computing, e.g. finite element methods
Linear Algebra • Matrix calculations are useful for... • Transformations in Graphics • Scientific computing, e.g. finite element methods
Linear Algebra • Matrix calculations are useful for... • Transformations in Graphics • Scientific computing, e.g. finite element methods 15
Fourier Transforms • Useful for analyzing/compressing images, sound files, speech recognition
Fourier Transforms • Useful for analyzing/compressing images, sound files, speech recognition
Fourier Transforms • Useful for analyzing/compressing images, sound files, speech recognition Fourier
Fourier Transforms • Useful for analyzing/compressing images, sound files, speech recognition Fourier
Fourier Transforms • Useful for analyzing/compressing images, sound files, speech recognition Fourier
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
Calculus • Physical simulation, light transport
Calculus • Physical simulation, light transport
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
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
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
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, imaging, reconstruction • 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
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...
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.
Mathematics and Graphics Graphics is mathematics made visible • Calculus • Linear Algebra • Differential Equations • Real Analysis • … • Data Structures • Searching • Asymptotic Analysis • Parallel Computing • … Mathematics Computer Science
What are Fractals? • Recursion made visible
What are Fractals? • Recursion made visible
What are Fractals? • Recursion made visible
What are Fractals? • Recursion made visible
What are Fractals? • Recursion made visible