登录
  • #eecs
  • #转cs-吐槽

Um‌‌‍‍‌‍‍‌‍‌‌‍‍‌‌‍‌‍‌‌‍‌‌‌‍‍‌‌‍‌‌‍ich EE:S新生,转CS。求各路大神指点选课。

xiaoxiaohan
8925
39
现在考虑放弃本科的power。。怒转CSE。。不犹豫了。。

由于CS方面真正是完完全全零基础。对选什么课也完全没概念。。只是凭着介绍想当然的筛选了一部分课程。。

本人初步决定在2-2.5年的时间内完成MS课程,然后在美国找工作。不考虑PH.D。

请各位帮忙看一下,缺什么课程。在哪些能力方面(尤其是coding?)还有欠缺,需要靠哪些课程来进一步弥补的。。哪些课程可能对就业帮助不是特别明显,特别理论化的。可以删掉。。亦或是有哪些课选的比较重复可以删去的。给出建议。拜谢。。。Umich CSE的各位大牛能给出指点就更好了。。拜谢。。。

[backcolor=rgb(255,255,255)]EECS 101. Thriving in a Digital World

Prerequisite: none. (4 credits)

From mobile apps to bitmaps, this course explores computational technologies and how they impact society and our everyday lives. Topics include: social networks, creative computing, algorithms, security and digital privacy. Traditional computer programming is not a primary focus. Instead, mobile applications will be created using a novel visual programming environment.EECS 182 (SI 182). Building Applications for Information Systems

Prerequisite: none. I, II (4 credits)

Fundamental programming skills in the context of end-user software applications using a high-level language, such as Ruby or Python. Rapid design of a variety of information-oriented applications to gather, analyze, transform, manipulate, and publish data. Applications drawn from statistics, pattern matching, social computing and computer games.EECS 183. Elementary Programming Concepts

Prerequisite: none. (Credit for only one: EECS 183, ENGR 101) I, II (4 credits)

Fundamental concepts and skills of programming in a high-level language. Flow of control: selection, iteration, subprograms. Data structures: strings, arrays, records, lists, tables. Algorithms using selection and iteration (decision making, finding maxima/minima, searching, sorting, simulation, etc.) Good program design, structure and style are emphasized. Testing and debugging. Not intended for Engineering students (who should take ENGR 101).这三门课准备选182和183。。求建议。。

EECS 203. Discrete Mathematics

Prerequisite: MATH 115. I, II (4 credits)

Introduction to the mathematical foundations of computer science. Topics covered include: propositional and predicate logic, set theory, function and relations, growth of functions and asymptotic notation, introduction to algorithms, elementary combinatorics and graph theory and discrete probability theory.这门课是不是比较重要? EECS 270. Introduction to Logic Design

Prerequisite: EECS 183 or ENGR 101 or equivalent. I, II (4 credits)

Binary and non-binary systems, Boolean algebra, digital design techniques, logic gates, logic minimization, standard combinational circuits, sequential circuits, flip-flops, synthesis of synchronous sequential circuits, PLAs, ROMs, RAMs, arithmetic circuits, computer-aided design. Laboratory includes design and CAD experiments.这个应该也是必要的? EECS 280. Programming and Introductory Data Structures

Prerequisite: ENG 101 or ENG 151 or EECS 182 or EECS 183 or permission of instructor. I, II (4 credits)

Techniques and algorithm development and effective programming, top-down analysis, structured programming, testing and program correctness. Program language syntax and static and runtime semantics. Scope, procedure instantiation, recursion, abstract data types and parameter passing methods. Structured data types, pointers, linked data structures, stacks, queues, arrays, records and trees.EECS 281. Data Structures and Algorithms

Prerequisite: EECS 203 and EECS 280. I, II (4 credits)

Introduction to algorithm analysis and O-notation; Fundamental data structures including lists, stacks, queues, priority queues, hash tables, binary trees, search trees, balanced trees and graphs; searching and sorting algorithms; recursive algorithms; basic graph algorithms; introduction to greedy algorithms and divide and conquer strategy. Several programming assignments.EECS 282. Information Systems Design and Programming

Prerequisite: EECS 182 or EECS 183 or ENGR 101 AND Math 115. II (4 credits)

Techniques for algorithm development and programming. Learning a programming language, such as Java, which is suitable for designing enterprise-scale information systems; data structures including stacks, queues, trees and dictionaries; recursion; program complexity; object-oriented design; handling exceptions, debugging and testing; introduction to database design with JDBC and SQL.这三门课应该都需要的么??。。求指点。。

EECS 285. A Programming Language or Computer System

Prerequisite: some programming experience. I (2 credits)

A course covering a complex computer system or programming language. Programming problems will be assigned. Specific languages or systems to be offered will be announced in advance这门课感觉有点像个独立的project,比较有意义能练coding。。。 EECS 370. Introduction to Computer Organization

Prerequisite: (EECS 203 or EECS 270) and (EECS 280 or EECS 283). I, II (4 credits)

Basic concepts of computer organization and hardware. Instructions executed by a processor and how to use these instructions in simple assembly-language programs. Stored-program concept. Datapath and control for multiple implementations of a processor. Performance evaluation, pipelining, caches, virtual memory, input/output.这个应该是必选的吧。 EECS 373. Design of Microprocessor Based Systems

Prerequisite: EECS 270 and EECS 370 and junior standing. I, II (4 credits)

Principles of hardware and software microcomputer interfacing; digital logic design and implementation. Experiments with specially designed laboratory facilities. Introduction to digital development equipment and logic analyzers. Assembly language programming. Lecture and laboratory.这门课要求junior standing。。有点不太理解。。 EECS 376. Foundations of Computer Science

Prerequisite: EECS 203 and EECS 280 or equivalent. I, II (4 credits)

An introduction to computation theory: finite automata, regular languages, pushdown automata, context-free languages, Turing machines, recursive languages and functions and computational complexity.完全没概念这门课要不要选。。EECS 381. Object Oriented and Advanced Programming

Prerequisite: EECS 281 and EECS 370. I, II (4 credits)

Programming concepts and techniques in Standard C++ for complex or high-performance software: C foundations, separate compilation model, modular design, incomplete types, exceptions, generic programming, function objects, Standard Library algorithms and containers. Achieving extensibility with single and multiple inheritance and polymorphism, basic design idioms, patterns and notation. Intensive programming projects required.这个应该是必须的吧。。 EECS 470. Computer Architecture

Prerequisite: EECS 370 and EECS 270 or graduate standing. I, II (4 credits)

Basic concepts of computer architecture and organization. Computer evolution. Design methodology. Performance evaluation. Elementary queuing models. CPU architecture instruction sets. ALU design. Hardware and micro-programmed control. Nanoprogramming. Memory hierarchies. Virtual memory. Cache design. Input-output architectures. Interrupts and DMA. I/O processors. Parallel processing. Pipelined processors. Multiprocessors.EECS 477. Introduction to Algorithms

Prerequisite: EECS 281 or graduate standing. II (4 credits)

Fundamental techniques for designing efficient algorithms and basic mathematical methods for analyzing their performance. Paradigms for algorithm design: divide-and-conquer, greedy methods, graph search techniques, dynamic programming. Design of efficient data structures and analysis of the running time and space requirements of algorithms in the worst and average cases.这两门也是必修的吧。。EECS 480. Logic and Formal Verification

Prerequisite: EECS 281 and (EECS 376 or EECS 270). I, alternating years (4 credits)

An introduction to current methodologies for verifying computer systems. Topics covered include logic and theorem proving; transition systems; temporal logic and the mu-calculus; modeling sequential and concurrent systems; model checking methods; binary decision diagrams; and controlling state explosion. Students will complete a project using current model checking technology.EECS 481. Software Engineering

Prerequisite: EECS 281 or graduate standing. II (4 credits)

Pragmatic aspects of the production of software systems, dealing with structuring principles, design methodologies and informal analysis. Emphasis is given to development of large, complex software systems. A term project is usually required.这两门没概念选不选。。EECS 482. Introduction to Operating Systems

Prerequisite: EECS 281 and EECS 370 or graduate standing. I, II (4 credits)

Operating system design and implementation: multi-tasking; concurrency and synchronization; inter-process communication; deadlock; scheduling; resource allocation; memory and storage management; input-output; file systems; protection and security. Students write several substantial programs dealing with concurrency and synchronization in a multi-task environment, with file systems and with memory management.EECS 483. Compiler Construction

Prerequisite: EECS 281 and EECS 370 or graduate standing. II (4 credits)

Introduction to compiling techniques including parsing algorithms, semantic processing and optimization. Students implement a compiler for a substantial programming language using a compiler generating system.EECS 484. Database Management Systems

Prerequisite: EECS 281 or graduate standing. I, II (4 credits)

Concepts and methods for the design, creation, query and management of large enterprise databases. Functions and characteristics of the leading database management systems. Query languages such as SQL, forms, embedded SQL, and application development tools. Database design, integrity, normalization, access methods, query optimization, transaction management and concurrency control and recovery.EECS 485. Web Database and Information Systems

Prerequisites: {EECS major OR Informatics major AND (EECS 281 OR EECS 382)} OR graduate standing. II (4 credits)

Concepts surrounding Web information systems, including client/server systems, security, XML, information retrieval and search engines and data replication issues. Includes substantial final project involving development of a database-backed web site.

应该都要的吧。。

以上是400level以下的。。[/backcolor]
39条回复
热度排序

发表回复