COURSE TITLE: ADVANCED PROGRAMMING CONCEPTS USING JAVA – Theory (CSX-331) and Laboratory (CSX-351)
PROGRAMME: BACHELOR OF TECHNOLOGY (CSE)
COURSE DESIGNATION: ELECTIVE
PRE-REQUISITES: COMPUTER PROGRAMMING (CSX-101, CSX-102) AND OBJECT-ORIENTED PROGRAMMING (CSX-207, CSX-227)
CONTACT HOURS/CREDIT SCHEME: (L-T-P-C: 3-0-1-4)
COURSE COORDINATOR LOCATION: Lab CS 202 (Software Engineering Lab), First Floor, IT Block
TEACHING ASSISTANTS (TAs):
- Veena Saini, MTech Scholar
- Apexit, MTech Scholar
This course aims to bridge the gap between the understanding of preliminary programming practices acquired in the early years of graduation and the advanced programming environments generally employed in industry. It utilizes the object-oriented programming paradigm through the Java programming language to introduce the state-of-the-art mechanisms for problem analysis, solution design, implementation, testing and debugging.
A major part of this course would be to offer knowledge about the java constructs and techniques used to implement some of the advanced programming concepts including multithreading, synchronization, reflection, exception handling, event handling, graphical user interface, persistence, distributed programming, etc.
A successful completion of this course should result in the following:
- CO1: Exercise the art of modern day professional programming and software development.
- CO2: Acquire the knowledge and skills necessary for practicing basic and advanced object-oriented programming concepts to develop small- to medium-sized applications.
- CO3: Learn and practice advanced topics like thread programming, reflection, event-driven programming, network and database programming.
- A multi dimensional approach involving lecture-based, project-based and case-based teaching methods will be employed to inculcate the required knowledge and skills in the students. Flipped classroom model will also be applied for selected topics.
- Laboratory sessions will thoroughly support the theory classes by providing practical programming and problem-solving skills through the assistance of a group of motivated TAs.
- Students can always reach out for learning assistance to both the course coordinator and the TAs outside the scheduled classes, by appointment.
COURSE ASSESSMENT METHODS:
- A set of 2 mid-term theory examinations (20 marks each)
- A final theory examination (50 marks)
- A set of 5 assignments (2 marks each)
- A mid-term practical examination (50 marks = 20 for class performance, 20 for report, and 20 for viva-voce)
- A final practical examination (50 marks)
- Bruce Eckel, Thinking in Java, 4th Edition, Prentice-Hall, Upper Saddle River, NJ, 2007.
- Harvey M. Deitel, and Paul J. Deitel, Java How to Program, 9th Edition, Prentice-Hall, Upper-saddle River, NJ, 2013.