0% found this document useful (0 votes)
2 views5 pages

Advanced Programming Course Outline

The document is a course syllabus for Advanced Programming (SWEG 3108) at Addis Ababa Science and Technology University, targeting 3rd year Software Engineering students. It outlines course objectives, topics covered, grading criteria, and classroom policies. Key learning outcomes include understanding advanced programming concepts, developing GUIs, and database connectivity techniques.

Uploaded by

kibrusayzana
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views5 pages

Advanced Programming Course Outline

The document is a course syllabus for Advanced Programming (SWEG 3108) at Addis Ababa Science and Technology University, targeting 3rd year Software Engineering students. It outlines course objectives, topics covered, grading criteria, and classroom policies. Key learning outcomes include understanding advanced programming concepts, developing GUIs, and database connectivity techniques.

Uploaded by

kibrusayzana
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

አዲስአበባሳይንስናቴክኖሎጂ ዩኒቨርሲቲ Addis Ababa Science and Technology University

የኤሌክትሪካልና ሜካኒካል ምህንድስና College of Electrical and Mechanical Eng.


የሶፍትዌርምህንድስናትምህርትክፍል Dep’t of Software Engineering

Course Syllabus
1. Instructor Information
Name:
Instructor (s)
Office: Block 64 R-303
Name
Phone:
and Contact
Email:
Information
Office Hours:
2. Course Information
Course Title Advanced Programming
Course Code SWEG 3108
Credit Hrs. 4
Pre- Object Oriented Programming (SWEG3101)
requisite(s)
Target
3nd year SE
Group:
Academic
2014 E.C
Year:
Semester: II
3. Course Learning Outcomes
At the end of the course, students will be able to do:
• Analyze how the programming language works
• Explore the basic concepts of Object-oriented programming
• Develop Graphical User Interface
• Demonstrate the concept of Network Fundamentals and Socket Programming, Remote Method,
Thread and HTTP services
• Explain database connectivity techniques and demonstrate the ability to write applications that
solves a real world programming problem
4. Course Description
This course enfolds popular higher-level programming concepts that are beyond the scope of the
introductory Programming courses.
Topics like multithreading, socket programming, object serialization, and Event objects are crucial
components of this course.
Including the above-mentioned advanced programming concepts other important feature of the technologies
like socket and web programming are also discussed.
Basics of high-level programming concepts and threads will be given priority to pave the way for
developing advanced programming skills.
The course then advances to some of the most popular APIs in the language: Remote Method Invocation
(RMI), Database connection and GUI, a specification for developing a software component.

1
አዲስአበባሳይንስናቴክኖሎጂ ዩኒቨርሲቲ Addis Ababa Science and Technology University
የኤሌክትሪካልና ሜካኒካል ምህንድስና College of Electrical and Mechanical Eng.
የሶፍትዌርምህንድስናትምህርትክፍል Dep’t of Software Engineering

5. Course outline
Week Content Reference
Chapter One : Functional Programming
1.1 Packages
1.2. Collections
1-2
1.3. Lambda Expressions
1.4. Object Serialization
1.5. Declarative Programming
Chapter Two: System Programming
2.1. File Descriptors
2.2. Reading and Writing Files
2.3. Files and Directories
3-4 2.4. File Locking
2.5. Memory Mapped I/O
2.6. Creating Processes
2.7. Process Management
2.8. Pipes and Signals
Chapter Three: Persistence and Databases
3.1. Overview of the database connectivity
5-6 3.2. Connection, Cursor, Row Objects
3.3. Create, Read, Update and Delete (CRUD) operations
3.4. Query Results and Metadata

Chapter Four: Network Programming


4.1. Over view of sockets
4.2. Establishing Connections
7-8
4.3. TCP Clients and Servers
4.4. UDP Clients and Servers
4.5. Secure Sockets Layer
Chapter Five : Remote Procedure Call & Remote Method Invocation
5.1. Overview of RPC & RMI
9-10 5.2. Stub and skeleton
5.3. The RMI Registry
5.4. The Remote Interface

2
አዲስአበባሳይንስናቴክኖሎጂ ዩኒቨርሲቲ Addis Ababa Science and Technology University
የኤሌክትሪካልና ሜካኒካል ምህንድስና College of Electrical and Mechanical Eng.
የሶፍትዌርምህንድስናትምህርትክፍል Dep’t of Software Engineering

5.5. Implementing RMI


Chapter Six: Threads
6.1. Introductions to threads
6.2. Creating a Thread
11-12
6.3. Thread Scheduling
6.4. Daemon threads
6.5. Synchronization
Chapter Seven: GUI
7.1. GUI components
13 7.2. Layout Management
7.3. Event handling
7.4. Deployment
Chapter Eight: Web Programming
8.1. The Life Cycle of a HTTP server
14 8.2. Handling HTTP Requests and Responses
8.3. HTML Choices
8.4. Client/Server Communication
16 Final Exam weeks
6. Textbook
Herbert Schildt (2018), "Java: The complete Reference", Tata McGraw-Hill Education, 11th Ed.
7. Reference
• Jan Graba (2013), “An Introduction to Network Programming with Java: Java 7 Compatible”,
Springer, 3rd edition.
• R. Harold (2013), “Java Network Programming”, O'Reilly, 4th Edition
• Mark Lutz (2013), David Ascher, “Learning Python”, O'Reilly, 5th Edition
8. Method of Instruction
Class lectures 3 Contact hour per week
• Active learning (involves the full participation of students)
• Teach inductively and to be followed by deductive assertions
Study of text book • This is fully the responsibility of the learner
Group Assignment • Work in groups in not more than 4 students per group
• Recognize & evaluate individual contribution
Individual Assignment • Each student is given to separate question by instructor.
• Student will prepare report or submit present it and evaluated by the
instructor.

3
አዲስአበባሳይንስናቴክኖሎጂ ዩኒቨርሲቲ Addis Ababa Science and Technology University
የኤሌክትሪካልና ሜካኒካል ምህንድስና College of Electrical and Mechanical Eng.
የሶፍትዌርምህንድስናትምህርትክፍል Dep’t of Software Engineering

9. Grading
Type Weight Due Date Behavior and criteria
Test 1 and 2 35% To be Arranged
Project 15% To be Arranged
Final Exam 50 To be Arranged
Total: 100%
10. Course policies
• You must read the textbook (ahead of and/after) the class.
• Academic dishonesty: Plagiarism is serious offense and might result in course failure.
• Collaboration: On working assignments, you can collaborate with others to understand concepts
but the actual problem should be solved by you organized in your own way.
• Attendance: Students who fail to attend more than 15% of the lecture classes and 5% of the lab
class will not sit for Final Exam.
• Dressing code: You should respect social norms and values.
• Cheating: zero tolerance on cheating exams, serious measures will follow.
• Mobile: Make silent, no chatting.
• Time: Don’t be late; try to arrive 3 min before class. If you arrive after class has started, don’t knock
just go back.
• Classroom: Don’t talk, raise your hand if you have questions
• Participation: Ask questions and respond when asked, even if you don’t know. Say, I don’t know!
• Lab: Practice by your own, don’t copy, one person/PC, but you can share experiences.
• Grading System: As determined by the universities legislation.

11. Due date:


All assignments must be submitted in the class on the due date for full credit. No assignment will be
accepted after class on the due date.
12. Class room Behavior:
Anything that disturbs your instructor or your colleagues during the class period is considered a
troublesome behavior. Examples include: Using mobiles, PDA, making offensive remarks, sleeping,
working on assignments related to other courses, etc. troublesome behaviors are completely prohibited.
13. Approval
4
አዲስአበባሳይንስናቴክኖሎጂ ዩኒቨርሲቲ Addis Ababa Science and Technology University
የኤሌክትሪካልና ሜካኒካል ምህንድስና College of Electrical and Mechanical Eng.
የሶፍትዌርምህንድስናትምህርትክፍል Dep’t of Software Engineering

Name: Signature date


Instructor:
Lab Assistant:
Dep’t Head:
Associate Dean for Academic Affairs:

You might also like