CollegeTransfer.Net

Course Criteria

Add courses to your favorites to save, share, and find your best transfer school.
  • 9.00 Credits

    How does gossip spread over the blogosphere? How do search engines really work? How do I start a viral marketing campaign? Why has my Facebook App not become popular? How does digg work? This is a course on the mathematics, science, technology, politics and economics of Web information and on-line communities. Topics covered will include: social networks, search algorithms, markets on networks, network dynamics, and Web spam.
  • 9.00 Credits

    With the advent of Tablet PC technology, pen based computing has become an interesting paradigm for developing mobile applications. The goal of this course is to give students a solid foundation to pen based computing and developing practical applications on tablet PCs. Students will learn how to design usable pen-based applications using solid Human Computer Interaction principles, develop algorithms for sketch recognition, and learn how to implement a project using C# programming language and .net development framework. All students taking the course will be provided with a Tablet PC for development and testing. Projects can be completed as group or individual.
  • 12.00 Credits

    Operating System Design and Implementation is a rigorous hands-on introduction to the principles and practice of operating systems. The core experience is writing a small Unix-inspired OS kernel, in C with some x86 assembly language, which runs on a PC hardware simulator (and on actual PC hardware if you wish). Work is done in two-person teams, and "team programming" skills (source control, modularity, documentation) are emphasized. The size and scope of the programming assignments typically result in students significantly developing their design, implementation, and debugging abilities. Core concepts include the process model, virtual memory, threads, synchronization, and deadlock; the course also surveys higher-level OS topics including file systems, interprocess communication, networking, and security. Students, especially graduate students, who have not satisfied the prerequisite at Carnegie Mellon are strongly cautioned - to enter the class you must be able to write a storage allocator in C, use a debugger, understand 2's-complement arithmetic, and translate between C and x86 assembly language. The instructor may require you to complete a skills assessment exercise before the first week of the semester in order to remain registered in the class.
  • 12.00 Credits

    This course covers the design and implementation of compiler and run-time systems for high-level languages, and examines the interaction between language design, compiler design, and run-time organization. Topics covered include syntactic and lexical analysis, handling of user-defined types and type-checking, context analysis, code generation and optimization, and memory management and run-time organization.
  • 9.00 Credits

    The goal of this class is for students to acquire hands-on experience with operating-system code as it is developed and deployed in the real world. Groups of two to four students will select, build, install, and become familiar with an open-source operating system project; propose a significant extension or upgrade to that project; and develop a production-quality implementation meeting the coding standards of that project. Unless infeasible, the results will be submitted to the project for inclusion in the code base. Variations on this theme are possible at the discretion of the instructor. For example, it may be possible to work within the context of a non-operating-system software infrastructure project (window system, web server, or embedded network device kernel) or to extend a 15-410 student kernel. In some situations students may work alone. Group membership and unit count (9 units versus 12) will be decided by the third week of the semester. Contributing to a real-world project will involve engaging in some mixture of messy, potentially open-ended activities such as: learning a revision control system, writing a short design document, creating and updating a simple project plan, participating in an informal code review, synthesizing scattered information about hardware and software, classifying and/or reading large amounts of code written by various people over a long period of time, etc.
  • 12.00 Credits

    This course is modeled after the successful MSE studio and MSIT practicum experiences used in the ISR software engineering masters programs. Students will carry out a semester-long project for a real client in small teams. A few lectures at the beginning of the course will introduce the process, tools, and documents to be used in the course, all of which will be specified by the instructors. Throughout the project, groups will be mentored through weekly team meetings with faculty. Teams will make regular presentations on the following topics: risk management, project planning, requirements, architecture, detailed design, quality assurance, final product presentations, and reflections on the experience. Teams will also deliver documents on each of the above topics. Evaluation will be based on the in-class presentations, process and product documentation deliverables, how well the teams follow SE practices as judged by their mentor, and finally the client's satisfaction with the product. Individual grades within a team will be influenced by peer reviews, individual reflection documents, mentor impressions, and presentation performance. Students will leave the course with a firsthand understanding of the software engineering realities that drive SE practices. They will have concrete experience with these practices, and will have engaged in active reflection on this experience. They will have teamwork, process, and product skills to support immediate competency in a software engineering organization, along with a deeper understanding that prepares them to evaluate the new processes and techniques they will encounter in the workplace.
  • 9.00 Credits

    Many CS and ECE students will be developing software and hardware that must be ultra reliable at some point in their careers. Logical errors in such designs can be costly, even life threatening. There have already been a number of well publicized errors like the Intel Pentium floating point error and the Arian 5 crash. In this course we will study tools for finding and preventing logical errors. Three types of tools will be studied: automated theorem proving, state exploration techniques like model checking and tools based on static program analysis. Although students will learn the theoretical basis for such tools, the emphasis will be on actually using them on real examples. This course can be used to satisfy the Fundamentals of Algorithms requirement for the Computer Science major.
  • 12.00 Credits

    This course covers the fundamental topics for Database Management Systems: Database System Architectural Principles (ACID properties; data abstraction; external, conceptual, and internal schemata; data independence; data definition and data manipulation languages), Data models (entity-relationship and relational data models; data structures, integrity constraints, and operations for each data model; relational query languages: SQL, algebra, calculus), Theory of database design (functional dependencies; normal forms; dependency preservation; information loss), Query Optimization (equivalence of expressions, algebraic manipulation; optimization of selections and joins), Storage Strategies (indices, B-trees, hashing), Query Processing (execution of sort, join, and aggregation operators), and Transaction Processing (recovery and concurrency control).
  • 12.00 Credits

    The course covers the implementation of compilers for higher-order, typed languages such as ML and Haskell, and gives an introduction to type-preserving compilation. Topics covered include type inference, elaboration, CPS conversion, closure conversion, garbage collection, phase splitting, and typed assembly language.
  • 12.00 Credits

    The fundamental principles and engineering tradeoffs involved in designing modern parallel computers, as well as the programming techniques to effectively utilize these machines. Topics include naming shared data, synchronizing threads, and the latency and bandwidth associated with communication. Case studies on shared-memory, message-passing, data-parallel and dataflow machines will be used to illustrate these techniques and tradeoffs. Programming assignments will be performed on one or more commercial multiprocessors, and there will be a significant course project.
To find college, community college and university courses by keyword, enter some or all of the following, then select the Search button.
(Type the name of a College, University, Exam, or Corporation)
(For example: Accounting, Psychology)
(For example: ACCT 101, where Course Prefix is ACCT, and Course Number is 101)
(For example: Introduction To Accounting)
(For example: Sine waves, Hemingway, or Impressionism)
Distance:
of
(For example: Find all institutions within 5 miles of the selected Zip Code)