Comp Sci to iBanking?

<p>Hey all,</p>

<p>I'm currently planning to attend the University of Waterloo for Computer Science. Do investment banking companies in the USA recruit from Canadian schools? Would I be able to break into the investment banking field as a computer scientist? Also, after working in investment banking for ~3 years would it be feasible to attend a top tier business school for an MBA and move up the ladder at an ibaking firm? Just looking for general comments/suggestions on this plan. Thanks a lot!</p>

<p>just wondering.... what do you exactly do in Comp Sci? like what do you learn about?</p>

<p>How to program computers.</p>

<p>Computer science encompasses a broad range of subdisciplines that interact with such diverse fields as fine arts, psychology, neuroscience, business, engineering, math, and science. With more than sixty professors whose research interests cover the spectrum, we can offer you a wide variety of courses taught by experts. Whether you bring your interests with you or develop them when you are here, our choices will give you room for further discovery. You can sample an area and then, if your curiosity is stimulated, explore it in greater depth. If you wish to really focus, you can enroll in an Option, which combines selected computer science courses with courses in supporting disciplines that enhance and develop your appreciation of a subfield. You can even take graduate courses for undergraduate credit. Your level of involvement is up to you.</p>

<p>You've seen amazing computer-generated animation in movies and lifelike digital images in magazines, but our computer graphics offerings go beyond that to explore visual perception, the design of specialized graphical hardware, and visualization of scientific or financial data. These courses typically involve a final project in which you can apply what you've learned to an area of application of your choice.</p>

<p>If you've ever been frustrated by a poorly-designed software application, you'll appreciate our human-computer interface courses, which combine psychology, physiology, and design principles to improve the usability of the systems you build.</p>

<p>People might wait patiently for a slow computer program, but a falling object won't. Programs that interact with the real world must be highly efficient. In our real-time programming course, you'll learn how to design programs that manage information gleaned from a network of sensors in order to react quickly to potential problems and to directions from a controlling human. The model trains running around the tracks in our real-time lab are a microcosm of complex multi-agent situations, and you'll build the systems that deal with them from the ground up so you fully understand their capabilities and limitations.</p>

<p>The disciplines of artificial intelligence (AI) and machine learning take into account our current knowledge of human thought processes and use it to try to enhance and extend human cognition, which in turn may provide insight into the workings of the brain. Expert systems can preserve the knowledge acquired by an individual through experience and transfer it to far-flung locations, for instance to alleviate a shortage of medical specialists in remote regions by allowing local practitioners to use such systems to assist in rapid diagnosis. You can identify spam e-mail at a glance, but how can you get your computer to do so without rejecting legitimate mail? Wouldn't it be nice if your morning newspaper could learn from your reading habits and put the articles you're most likely to be interested in on the front page? Our courses in AI and machine learning explore possible solutions to these problems. Despite several decades of effort, these fields are still in their infancy; perhaps you'll be the one to make a major breakthrough.</p>

<p>The word "database" evokes images of tables full of numbers, but data also involves text, images, music and sounds, video, and complex relationships between all of these types of information. As personal communications, media, and financial transactions increasingly go digital, the flood of data threatens to swamp us. Our database courses introduce you to techniques for storing, organizing, and accessing such information, and for discovering and making use of relationships and trends within it.</p>

<p>The techniques used in the various subdisciplines of computer science span the spectrum from engineering to science to mathematics, characterized by design and scalable construction techniques ( software systems and programming languages ), experimentation and measurement ( performance evaluation ), and precise characterization and proof ( algorithms and complexity ). Courses in digital circuits , computer architecture , and software engineering represent one end of that spectrum, as do the projects that form the focus of a large number of fourth-year courses.</p>

<p>As we move from practice to efforts to understand the principles underlying practice, we come to courses in quantum computing , bioinformatics , and health informatics , to give but a few examples of the interactions between computer science and scientific knowledge. All modern branches of the physical sciences use computers extensively to assist their work, and numerical computation courses deal with the thorny issue surrounding computerization of techniques from linear algebra and calculus that are used in scientific analysis and simulation, and to an increasing extent in the financial world.</p>

<p>The other end of the spectrum features courses that utilize mathematical techniques to discover deep structure and complex relationships in models and representations of computation. Learn about the inner workings of programs such as Maple which can perform symbolic algebraic computations of the sort you learned to do in math class, or about the issues underlying the use of computers in such seemingly "pure" fields such as algebra and number theory. Courses on the theory of computation and on algorithm design and analysis demonstrate how programs can be proved correct and efficient, and show limits to the power of effective computation, or indeed of any computation.</p>

<p>In our operating systems course, you'll discover the principles and practices behind the first thing you see when you turn on your computer, the operating system without which any modern computer is useless. When this fundamental program fails, your computer freezes. Why does this happen, and how can it be avoided? How does an operating system manage the complex overlapping tasks that you ask it to do, making use of the physical resources of your computer to complete all of them?</p>

<p>When our Internet connections go down, it takes only a few minutes before we start to really miss them. Our networks course explores the workings of the Internet and the extent to which it can provide reliable communication between your computer and the millions of other computers with Internet connections. What happens when you send an e-mail, request a Web page, or listen to an Internet radio station? How are the vast amounts of information involved being routed and managed? What responses are possible to traffic congestion, local electrical failure, or intense demand? How can these communications be made secure without unnecessarily hampering legitimate users?</p>

<p>Once computers can effectively communicate, it makes sense to organize them into co-operative efforts to solve problems that are beyond the reach of an individual machine. Our distributed systems course details the new levels of complication that can result from such efforts, and surveys current approaches to the effective organization of such computations. How can the power of millions of idle computers be harnessed for computations that benefit society?</p>

<p>These are only a few of the choices you can make in course selections for your Computer Science degree.
Even more course offerings</p>

<pre><code>* Introduction to Quantum Information Processing
* Compiler Construction
* Principles of Programming Languages
* Computational Techniques in Biological Sequence Analysis
* Computational Techniques in Structural Bioinformatics
* Software Requirements Specification and Analysis
* Software Design and Architectures
* Software Testing, Quality Assurance and Maintenance
* Computer Architecture
* Information Systems Management
* Concurrent and Parallel Programming
* System Performance Evaluation
* The Social Implications of Computing
* Numeric Computation for Financial Modelling
* Formal Languages and Parsing
* Numerical Solution of Large Sparse Systems of Equations
* Numerical Methods for Computing Eigen and Singular Value Decompositions
</code></pre>

<p>Quoted from: <a href="http://www.cs.uwaterloo.ca/undergrad/prospective/follow.shtml%5B/url%5D"&gt;http://www.cs.uwaterloo.ca/undergrad/prospective/follow.shtml&lt;/a&gt;&lt;/p>