Twenty dirty tricks to train software engineers
Proceedings of the 22nd international conference on Software engineering
SIGCSE '78 Proceedings of the ninth SIGCSE technical symposium on Computer science education
Reflections on Software Engineering Education
IEEE Software
A 2007 model curriculum for a liberal arts degree in computer science
Journal on Educational Resources in Computing (JERIC)
Point/Counterpoint: Technology curriculum for the early 21st century
Communications of the ACM - Web science
A learning theory perspective on running open ended group projects (OEGPs)
ACE '08 Proceedings of the tenth conference on Australasian computing education - Volume 78
Point/counterpoint: CS education in the U.S.: heading in the wrong direction?
Communications of the ACM - Barbara Liskov: ACM's A.M. Turing Award Winner
Teaching computer science in context
ACM Inroads
REFLECTIONS: Language wars and false dichotomies
ACM Inroads
Does contextualized computing education help?
ACM Inroads
ICSE'05 Proceedings of the 2005 international conference on Software Engineering Education in the Modern Age
Comparing educational experiences and on-the-job needs of educational software designers
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
This exploratory qualitative study examines computing professional’s memories of their own formal and non-formal educational experiences, their reflections on how these have prepared them for their professional roles, and their recommendations for an “ideal” undergraduate degree program. Data was collected through semi-structured interviews of experienced computing professionals. Ongoing on-the-job learning is a natural part of professionals’ work lives. Participants indicate that important elements in an undergraduate degree program include foundational computing topics, development of critical thinking and communications skills, and a strong emphasis on experiences similar to those encountered in a professional position, such as complex, realistic group projects. Specific programming languages and technologies should be used only as practice in solving problems and learning on one’s own.