Kamis, 18 Agustus 2011

Indonesian Computer Science and Engineering Education



Computer Science and Engineering


Visi

The Spirit of Computer Science and Engineering

Misi

Unggul dan Terbaik dalam Computer Science and Engineering

Program

1. Melahirkan 1000 orang Ahli dalam Bidang Computer Science and Engineering
(Setara Ph.D.)

2. Melahirkan 100 Perusahaan Computer Science and Engineering



Computer science or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems.[1][2] Computer scientists invent algorithmic processes that create, describe, and transform information and formulate suitable abstractions to model complex systems.
Computer science has many sub-fields; some, such as computational complexity theory, study the fundamental properties of computational problems, while others, such as computer graphics, emphasize the computation of specific results. Still others focus on the challenges in implementing computations.

For example, programming language theory studies approaches to describe computations, while computer programming applies specific programming languages to solve specific computational problems, and human-computer interaction focuses on the challenges in making computers and computations useful, usable, and universally accessible to humans.

The general public sometimes confuses computer scientists with other computer professionals having careers in information technology, or think that computer science relates to their own experience with computers, which typically involves activities such as gaming, web-browsing, and word-processing. 

However, the focus of computer science is more on understanding the properties of the programs used to implement software such as games and web-browsers, and using that understanding to create new programs or improve existing ones.


Contents


Computer engineering, also called computer systems engineering, is a discipline that integrates several fields of electrical engineering and computer science required to develop computer systems.
Computer engineers usually have training in electronic engineering, software design, and hardware-software integration instead of only software engineering or electronic engineering. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microprocessors, personal computers, andsupercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also how they integrate into the larger picture.

Usual tasks involving computer engineers include writing software and firmware for embeddedmicrocontrollers, designing VLSI chips, designing analog sensors, designing mixed signal circuit boards, and designing operating systems. Computer engineers are also suited for roboticsresearch, which relies heavily on using digital systems to control and monitor electrical systems like motors, communications, and sensors.

The first accredited computer engineering degree program in the United States was established at Case Western Reserve University in 1971. As of October 2004, there were 170 ABET-accredited computer engineering programs in the US.

Due to increasing job requirements for engineers, who can concurrently design hardware, software, firmware, and manage all forms of computer systems used in industry, some tertiary institutions around the world offer a bachelor's degree generally called computer engineering. Both computer engineering and electronic engineering programs include analog and digital circuit design in their curricular. 

As with most engineering disciplines, having a sound knowledge of mathematics and sciences is necessary for computer engineers.
In many institutions, computer engineering students are allowed to choose areas of in-depth study in their junior and senior year, because the full breadth of knowledge used in the design and application of computers is beyond the scope of an undergraduate degree. Other institutions may require engineering students to complete one year of General Engineering before declaring computer engineering as their primary focus.
As of 2011, the average starting salary was $51,018, up 4.8% from $48,661 in 2010.

(Wikipedia)

courses from stanford

SEE programming includes one of Stanford’s most popular engineering sequences: the three-course Introduction to Computer Science taken by the majority of Stanford undergraduates, and seven more advanced courses in artificial intelligence and electrical engineering.
Introduction to Computer Science

Artificial Intelligence

Linear Systems and Optimization

Additional School of Engineering Courses


Introduction to Computer Science and Programming from MIT


Instructors:

Prof. Eric Grimson
Prof. John Guttag

Level:

Undergraduate


Course Features

Course Description

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.

Computer Science and Engineering from Harvard University
by: Prof. david j. malan, Ph.D.
Introduction to Computer Science I
Introduction to the intellectual enterprises of computer science and the art of programming. This course teaches students how to think algorithmically and solve problems efficiently. Topics include abstraction, encapsulation, data structures, databases, memory management, software development, virtualization, and websites. Languages include C, PHP, and JavaScript plus SQL, CSS, and HTML. Problem sets inspired by real-world domains of biology, cryptography, finance, forensics, and gaming. Designed for concentrators and non-concentrators alike, with or without prior programming experience.


College Students: http://cs50.net/
OpenCourseWare: http://cs50.tv/

Understanding Computers and the Internet
This course is all about understanding: understanding what's going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by turning it on. In this course we demystify computers and the Internet, along with their jargon, so that students understand not only what they can do with each but also how it all works and why. Students leave this course armed with a new vocabulary and equipped for further exploration of computers and the Internet. Topics include hardware, software, the Internet, multimedia, security, website development, programming, and dotcoms. Through optional hands-on sections and workshops, local students have opportunities to dissect as well as upgrade a computer with additional hardware, search the Internet more effectively, build a wireless network, create digital images, eradicate spyware, and design webpages. Problem sets offer online students similar opportunities. This course is designed both for those with little, if any, computer experience and for those who use a computer every day.


Extension Students: http://computerscience1.net/

OpenCourseWare: http://computerscience1.tv/


Building Dynamic Websites

Today's websites are increasingly dynamic. Pages are no longer static HTML files but instead generated by scripts and database calls. User interfaces are more seamless, with technologies like Ajax replacing traditional page reloads. This course teaches students how to build dynamic websites with Ajax and with Linux, Apache, MySQL, and PHP (LAMP), one of today's most popular frameworks. Students learn how to set up domain names with DNS, how to structure pages with XHTML and CSS, how to program in JavaScript and PHP, how to configure Apache and MySQL, how to design and query databases with SQL, how to use Ajax with both XML and JSON, and how to build mashups. The course explores issues of security, scalability, and cross-browser support and also discusses enterprise-level deployments of websites, including third-party hosting, virtualization, colocation in data centers, firewalling, and load-balancing.


Extension Students: http://cs75.net/

OpenCourseWare: http://cs75.tv/


Building Mobile Applications

Today's applications are increasingly mobile. Computers are no longer confined to desks and laps but instead live in our pockets and hands. This course teaches students how to build mobile apps for Android and iOS, two of today's most popular platforms, and how to deploy them in Android Market and the App Store. Students learn how to write native apps for Android using Eclipse and the Android SDK, how to write native apps for iPhones, iPod touches, and iPads using Xcode and the iOS SDK, and how to write web apps for both platforms.


Extension Students: http://cs76.net/

OpenCourseWare: http://cs76.tv/


XML with Java, Java Servlet, and JSP
This course introduces XML as a key enabling technology in Java-based applications. Students learn the fundamentals of XML and its derivatives, including DTD, SVG, XML Schema, XPath, XQuery, XSL-FO, and XSLT. Students also gain experience with programmatic interfaces to XML like SAX and DOM, standard APIs like JAXP and TrAX, and industry-standard software like Ant, Tomcat, Xerces, and Xalan. The course acquaints students with J2EE, including JavaServer Pages (JSP) and Java Servlet, and also explores HTTP, SOAP, web services, and WSDL. The course's projects focus on the implementation and deployment of these technologies.

Extension Students: http://cs259.net/
OpenCourseWare: http://cs259.tv/
Advanced Computer Graphics

Prof. C. Sharat
IIT Bombay
The purpose of the course
In this course we build on what you have learnt (or learned:-) in an earlier graphics course.
Let me summarize the general expectactions from this course. You know
  • How to draw line segments that live in 2D or 3D.
  • How to draw curly lines (well sort of).
  • Basics of illumination and shading.
  • OpenGL basics.
  • Scan conversion.
  • Clipping.
Given the above, in this course we will
  • Build on the fundamentals (global illumination).
  • Cover topics in graphics independent of traditional OpenGL (for example, image based rendering, GPGPU programming, point based rendering, volumetric rendering).


A video course shall consist of 40 or more lectures with 1 hour duration per lecture.

Sl.No.
Topics
1
Visibility: zBuffer, Binary Space Partitioning
2
More on Visibility
3
Global Illumination and Rendering Equation
4
Ray Tracing
5
Bidirectional Ray Tracing
6
Monte-carlo Ray Tracing
7
Photon Mapping
8
Radiosity: Full Matrix Representation
9
Radiosity: Faster Methods
10
Point Based Representation
11
Global Illumination for Point Based Representations
12
Image Based Rendering
13
Environmental Matting
14
GPU programming
15
Modeling curves and surfaces
16
Applications

Journal of Computer Science and Engineering


  • Wikipedia: Computer science journals
  • Wikipedia: Computer magazines
  • The Index of Information Systems Journals
  • ACM Journals and Magazines
  • IEEE Computer Society Publications
  • IEEE Xplore
  • Directory of Open Access Journals (Computer Science)
  • ScienceDirect: Computer Science Journals



  • Sources:

    1. Wikipedia
    2. Stanford University
    3. Harvard University
    4. MIT
    5. NEPTEL, India