Tuesday, September 02, 2008

I wish I learned.. (survey)

I decided to make that survey in order to see people's different opinions, The survey is about things you wish you leanred at college & that are related with the market or your career.
so I want everyone to tell me 5 things or more, he wished he learned at college before he starts working OR things he self-learnt by himself and he thinks that they are important for others to learn. (including technical (maybe certain technology), non-technical things)
Waiting for your comments..


AhmedOsama said...

1- Linux & Unix
2- More Design pattern
3- Analysis/Design in detail
4- Soft skills(e.g. Creative thinking , Communication ,Negotiation ,....etc.)
5- AI
6- Machine Learning
7- Statistics
8- More H/W subjects
9- Language ->French
10- Language ->Germany

Anonymous said...

More than 5 things:
> Linux
> More C++ (esp. with Services, Processes, Multi-threading, DBs, WebServices, etc.)
> COM, ATL, WTL, MFC, ...
> A dynamic language (as Ruby, Python, etc.)
> Problem Solving, Debugging Techniques, a lot of Design Patterns and Best Practices
> Advanced Javascript (LOL!!!)
> Team Collaboration, Source Control and Versioning
> HCI (Human Computer Interaction) and UX (User Experience)
> Artificial Intelligence
> Deploying, Packaging and Releasing Software (We never learned how to actually finish a project)
> Agile Methodologies, eXtreme Programming, Test-Driven Development, Peer-Programming, ...
> Non-technical Skills (Resume Writing, Self-presentation, Marketing, Sales, ... in addition to English and the Soft-skill we received in our last year, a little late, better than never)

If anything else pops in mind, I'll let u know :)

Amira El-Baroudy said...

Thank you Roaa for this gr8 sharing idea :)) ..

* Web technologies as: ASP.NET & PHP .
* Programming languages: going in deep with C++ and learning Java.
* More about using Linux
* There's also sth important to know mainly for large scale companies, which is working in a Multi-tier architecture environment and building applications on the same paradigm.
* Be aware of the software life cycle phases and learn each phase with all its methodologies.
* Testing Software techniques.
* For technologies : AJAX and Cascading Style Sheets (CSS).
* Writing scripts, Java and VB.
* Deploying Softwares.
* Non-technical skills: , Presentation Skills, Team work , good Communication Skills and Time Management , also business writing techniques( Resume and Report writings).
* Good command of English is an important issue.

These are for now ... and by time any new things I learn or get to know they are imp. to learn, will add them for you ;)

Noha Salah said...

1- Linux
4- java script
5- Software Engineering(in a professional manner)
6- Software Analysis (in a professional manner too..lol)

abdo said...

understanding the real value Software engineering

Participating in a really big projects, for example like all of our class working in one huge project, facing all the integration problems

history of programming language :)




hmm, i guess that is all what i have in mind now :D

Mohammad Fouad said...

great idea (Y)

1- Linux-based development (makefiles .. scripts ..bla bla)
2- Testing techniques, QA in general .. how it works ..bla bla
3- AI :S
4- some POPULAR dynamic language (Ruby,python, perl or even php)
5- Computer Graphics

Mohamed Gamal El-Den said...

1:- Business
2:- how to use DS ( data structure )
3:- SW. Eng ( Practically )
4:- Some sort of soft skills
5:- Useful Math.

Metal_ said...

Extremely useful post for us (students). Thanks everyone!

Ramy Mahrous said...

Your post idea is extermly great (Y)
I wish I didn't learn any programming languages C#, JAVA, C++, etc..

What I wish I did
1- Software engineering especialy Advanced Software Architecture, deployment, versioning, testing....
2- OOP Design and Analysis
3- Algorithms and Advanced algorithms
4- Core OS programming
5- Soft skills (Communications skills, presentation skills)
6- I hate AI so I didn't mention it!!

Sarah Elsayed said...

First: thxs rou2aa 4 ur Nice post
--programming language :-
How to Optimize My code
c++,C#,How to use DS
Java JDK and now learning MOre about Java isALLAH

--Morrre things :-
HOw can i deal with a pic(Image Processing),OS && Multi-threading,
,Compiler,Physics:),AI,UML,Security,SW Eng.

--Soft skills
(e.g. Time management, Communication...),English Course

--ASP.NET (Most Of Company now Wonna Web Developer)try to know more about that

-Design Pattern

-I read more in Psychology and Religion (Islamic Studies)

If i remmeber ||learn anything else i`ll push to ur stack :)

Amr Magdy said...

Ordered by interest:

1- Advanced Algorithms
2- Soft Skills
3- Optimization Techniques
4- How to do research (as an elective course)
5- Practical Networks Labs
6- Advanced Problem Solving
7- Software Testing
8- Real-life AI applications

Thnx ya Roaa :) kol sana wenty tayeba

Haytham Alaa said...

1- Open Source Development principles..
2- more OS internals
3- More AI techniques in practical applications
4- Software Design and Architecture (more practical than theories)
5- Computer Graphics
6- Discrete Math, Computational Algebra.
7- More Algorithms & Dynamic programming...

I would really like it if the college became 5 years, not like Engineering but instead, 3 years of what we already study + emphasizing on the previous points, then 1 year of practical training (it'll actually be 2 semesters not a full year) in a company that is contracted to make us work on a specific set of technologies and methodologies...
then back for the final year and GP...

I believe learning modern technologies is not really the goal of a computer science faculty.. Teaching the basics and keeping us "thinking" all the time is the main goal..

Roaa Mohammed said...

Thanks everybody for your comments..
(@Amr : wenta tayeb :))

Here's my list:
1- Design Patterns
2- Testing
3- More C++
4- More about OS
5- Robotics
6- Research Principles
7- More Mathematics
8- Problem Solving
9- Graphics
10-Business Writing (writing reports, formal mails.. etc)

Waiting for more comments..

Fady Anwar said...

i wish if i have learned only one thing, software engineering as it's know in any decent university in usa

Mohamed Samy said...

Excellent idea! Here are mine (some are repeats of what others said):

5 Things I wish I learned well (or taught well in college)
- Artificial intelligence
- Statistics
- Advanced Discrete maths
- Programming Language Theory
- Parallel Computing/Scalability

5 Things I learned on my own, to discover later they're very valuable
- Lisp
- Linux
- Design Patterns
- Virtual Machines (.net CLR, JVM)
- Presentation, negotiation...etc (I refuse to call them soft skills!)

Some things I'm really thankful I learned in college
- Computer Architecture
- Assembly language
- Algorithmics/ Algorithm Analysis
- Data Structures
- Operating System

Eldebug said...


i saw your article about Bitmap multipage printing ... i got a problem like that now in my work ... can u give me some details about how solving this problem if u did ... please contact me ASAP

Thanks in advance

kate_aj said...

thanx 4 this posts i really take an idea about wut i should learn as a student in fcis ... really thanx :)