The UNIX philosophy
Teacing breadth-first depth-first
Proceedings of the 6th annual conference on Innovation and technology in computer science education
Journal on Educational Resources in Computing (JERIC)
Resolved: objects early has failed
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Experiences teaching operating systems using virtual platforms and linux
Proceedings of the 36th SIGCSE technical symposium on Computer science education
A study of the difficulties of novice programmers
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Research perspectives on the objects-early debate
ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education
"...But what do the top-rated schools do?": a survey of introductory computer science curricula
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Weaving CS into CS1: a doubly depth-first approach
Proceedings of the 38th SIGCSE technical symposium on Computer science education
Role of the C language in current computing curricula part 1: survey analysis
Journal of Computing Sciences in Colleges
Has the paradigm shift in CS1 a harmful effect on data structures courses: a case study
Proceedings of the 40th ACM technical symposium on Computer science education
Harnessing surprise: tales from students' transformational biographies
Proceedings of the 41st ACM technical symposium on Computer science education
Linux kernel projects for an undergraduate operating systems course
Proceedings of the 41st ACM technical symposium on Computer science education
Reducing novice C programmers' frustration through improved runtime error checking
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Hi-index | 0.00 |
We present a one-semester transition course intended to bridge the gap between a Java-based introductory sequence and advanced systems courses. We chose to structure our course as a series of lab assignments that, while independent, are also milestones in a single main project, writing a web server from scratch. By anchoring the course on a single real-world application, we were able to provide depth, instill good programming practices, give insight into systems, and generate excitement.