Code and Lab when I learn Computer Systems: A Programmer's Perspective