Shesh, AmitS. Maddock and J. Jorge2014-02-062014-02-0620111017-4656https://doi.org/10.2312/EG2011/education/037-041In many ways it is a unique challenge to teach programming and high-level application development to noncomputer science majors like information systems. Simple visual computing can be a very helpful tool in such situations because it enables programs to produce something students can see. This paper describes a semesterlong experience of using image-processing as the theme in a course to teach programming and program design to students of information systems. Students progressively built a fairly complete image processing application from scratch in a bottom-up fashion using Java. They first concentrated on using low-level constructs like arrays and implementing several operations on them, and then supplemented their programs with features like a GUI complete with undo-redo features and capabilities to handle most standard image file formats. This allowed us to satisfy all the objectives of a typical programming course while simultaneously exposing students to developing meaningful applications from scratch with standard features. Our classroom was comprised of a mix of undergraduate and graduate students lacking sufficient programming background. With minor variations, our approach can be fit to courses for other majors where programming is considered useful but not critical.Categories and Subject Descriptors (according to ACM CCS): K.3 [Computers and Education]: Computer and Info. Science Education-I.4 [Image Processing and Computer Vision]: -D.2.11 [Software Architectures]: PatternsHigh-Level Application Development for non-Computer Science majors using Image Processing