This course introduces programming and software engineering. The methodology is based on object oriented analysis. Discussion of fundamental algorithms and elementary data structures is included, focusing an ADT's throughout. User interfaces are covered in the specification of programming tasks.