Full document describing all aspects of the curriculum, release 2 (pdf)
Full document describing all aspects of the curriculum, release 2 (pdf)
Full document describing all aspects of the curriculum, release 2 (pdf)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PRINCIPLES OF PROGRAMMING, CODING AND TESTING (SE-IN-02)AIMS:This module distinguishes between programming (as a principle activity, recursion, conditional,modularisation,) and coding (a practical activity realising <strong>the</strong> programming principles). Thismodule introduces two complementary topics: (1) traditional, imperative programming; and (2) <strong>the</strong>implementation <strong>of</strong> standard linear data structures and <strong>the</strong> algorithms that manipulate <strong>the</strong>m. Key<strong>aspects</strong> <strong>of</strong> an imperative programming language are covered, including major library functionsand basic design and testing techniques. The module will be particularly suited to anyone whoneeds to understand how a computer can be controlled using s<strong>of</strong>tware designed for a traditionalVon-Neumann architecture. It is an introductory course in computer programming.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• develop, using a text editor, compiler and linker, sm<strong>all</strong>-scale imperative programs involving<strong>the</strong> core language; select and use standard library functions; and modify pre-codedalgorithms;• design a suitable test strategy for a computer program and apply standard debuggingtechniques to identify and correct semantic errors;• design and write s<strong>of</strong>tware that creates and maintains linear data structures along withalgorithms for searching and sorting data;• describe <strong>the</strong> performance characteristics <strong>of</strong> standard searching and sorting techniquesSYLLABUS CONTENT:• The core <strong>of</strong> procedural language: statements, types, operators, expressions, sequence,selection, iteration, arrays and strings.• Sm<strong>all</strong> program construction: functions, records, pointers, variable scope and lifetime,libraries, separate compilation and linking.• Linear data structures and algorithms: Linked and contiguous storage, linear structures,ordered and unordered lists, searching and sorting.• S<strong>of</strong>tware testing: unit, integration, system, acceptance, regression…http://perun.im.ns.ac.yu/msc-se/ 13