What areas does the course content cover? Specifically, what theoretical areas do we get to learn and specialize in?
We cover the full spectrum of computer systems: digital electronics; computer architecture; systems architecture; operating systems; networking; algorithms; software; artificial intelligence; machine learning, mathematics, theoretical computer science and more with relevant background sciences. See the following page for exact courses that you will be following: http://www.ce.pdn.ac.lk/undergraduate-scourses
Will there be any differences for us from the previous academic syllabus?
No, you will follow the current official syllabus that is available at the department website http://www.ce.pdn.ac.lk/undergraduate-scourses
. The department is working on a new curriculum with the intention of introducing it from the E/20 batch.
Some say that the syllabus of the computer engineering field is old. Will this create a disadvantage when we have to compete with the graduates from the private sector universities?
Interesting. Who actually says this? We are currently running the most up-to-date computer engineering programme accredited by the Washington Accord, ACM and IEEE. If you check with the top companies in Sri Lanka, you will hear that we produce the best Computer Engineering graduates in Sri Lanka. In my view, we are producing Computer Engineers that are some of the best in the world. That is also why they are able to go for their internships in the best places like bell labs, NUS, etc. and are able to secure scholarships in the top universities for their postgraduate studies.
Can we study subjects offered by the Department of Computer Engineering if we are not selected for the Computer Engineering course?
We do allow that for some courses. However, it would have to be decided by the degree programme you are doing.
Can someone who has selected another field come and sit in the Computer Engineering lectures?
If you have time, yes. Be courteous and ask the lecturer for permission to sit in the class.
I'm not interested in spending much time with electronics (learning electronics). Will it not be ok, or is that only the fundamentals of electronics.
In our core course, we only have the fundamentals that we need. You can specialize if you want or you can specialize in some other sub-specialization of your choice.
Are there any differences between Peradeniya and Moratuwa Computer Engineering courses?
We both are accredited similarly. CSE Moratuwa focuses mostly on Software while our strength is in Systems, including embedded systems, computer architecture and networking.
What are the main programming languages we would be learning?
C, python, Java, Assembly, Verilog and more. We do not focus on any language, we focus on designing and building systems. Once you know the fundamental structures of languages, you can learn any language. By the end of this course, you will be able to use any language. A language is just a "tool" that's used to build something. The focus is not on "learning the tools", but designing and building engineering solutions. You'll learn how to pick the right tool(s) & use them effectively.
Unfortunately, some of us will not be able to do computer engineering. For them, are there any Computer Engineering elective courses to choose from?
Some other programmes like mechatronics (from ME) and EEE give you the option of taking some of the courses from Computer Engineering. All our elective courses are open for any Engineering students as long as they are accepted by the specialization in question.
For someone who is not selected for Computer Engineering or Electrical and Electronics Engineering, is there another course they can do to join Software Engineering after graduating?
Very unlikely. However, it is up to you to challenge yourself. If you require specific advice, please reach out.
Can someone not studying Computer Engineering, study it after the main degree programme?
Definitely, you can always learn new things. You should never stop learning. It will be difficult to learn entirely new things, of course. However, we believe that you all are smart enough to do that. Then again, learning the fundamentals is not easy, especially if you don't have the proper guidance. Please note that "Programming" is not Computer Engineering. Most places that teach Computer Science/Engineering focus more on "Programming" than real computer engineering as we do.
Can you explain a little about machine learning and the AI-related field of study we can follow in the Department of Computer Engineering?
We are teaching you the fundamentals of these subjects and you will be able to apply them to any problem. You can find applications in many different areas. For example, we had Samurdhi
using AI for channel allocation in 5G communication -- he did this project with a supervisor from Bell Labs
. We had others using machine learning to predict who would win IPL, etc. We have also recently worked on detecting human emotions through ECG using learning techniques.
There have been many projects in Computer Vision, AI in healthcare, Smart Agriculture, Bioinformatics, and many other interesting topics over the last few years. Please check the 3rd Year
and 4th Year
Project pages for more details.
Once again, we would focus on the fundamentals and you can apply it to any problem you want to solve.
What is the difference between our Computer Engineering graduates and Software Engineering graduates from private sector universities?
Computer Engineering is not software development. Computer Engineers are able to design entire cyber-physical systems, not just software.
In addition, most of these “software engineers”, would be mainly “programmers”, who are the technicians that will implement the systems/software that you will design. We need people in all these tiers. You have the capacity, and we provide the program for you, to go to the top. It will be up to you to challenge yourselves and get there (& even beyond).