The main objectives of the Software Engineering program are to train software engineers who are familiar with modern programming languages, software development processes and tools can work alone or in teams are familiar with the hardware software interface and human computer interaction can analyze problems in application domains and propose software solutions.
Software engineering is a relatively new discipline which used to be studied under Computer Engineering. Recent development of service oriented architectures and supporting technologies led to its definition as an independent area of engineering. What used be considered as "extended programming" activities now comprises a large academic domain with its own theories, methodologies and tools.
Technological advances have made hardware cheap and widely available. Network access is almost universally available. Thus, the applications that sit on top of these supporting structures present many opportunities for the software engineering discipline. With software solutions, connected life becomes more productive, healthier and more fun..
On the other hand, software engineering is an interdisciplinary area by its very nature. From the collaboration in application domains to the psychological implications of human computer interaction, this discipline brings together many elements from different fields.
SOFTWARE ENGINEERING CURRICULA | |||
1. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
MATH1101 | Calculus I | 4 | 6 |
PHYS1101 | General Physics I | 4 | 6 |
PHYS1103 | Physics Laboratory I | 1 | 2 |
COMP1007 | Introduction to Computer and Software Engineering | 1 | 1 |
COMP1111 | Fundamentals of Programming | 4 | 6 |
ECON1005 | Introduction to Economics | 3 | 5 |
ENGL1101 | Academic English 1 | 3 | 4 |
Total of Semester Local Credits & ECTS: | 20 | 30 | |
2. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
MATH1102 | Calculus II | 4 | 6 |
PHYS1102 | General Physics II | 4 | 6 |
PHYS1104 | Physics Laboratory II | 1 | 2 |
COMP1112 | Object Oriented Programming | 3 | 6 |
ENGL1102 | Academic English 2 | 3 | 4 |
BIOL1101 | Biology | 3 | 5 |
ITEC1001 | Computer Literacy | 0 | 1 |
Total of Semester Local Credits & ECTS: | 18 | 30 | |
3. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
MATH2201 | Probability | 3 | 6 |
COMP2102 | Data Structures and Algorithms | 4 | 6 |
MATH2103 | Discrete Mathematics | 3 | 6 |
MATH2104 | Linear Algebra | 3 | 5 |
TURK1201 | Turkish I | 2 | 2 |
SOFT2101 | Principles of Software Engineering | 3 | 5 |
Total of Semester Local Credits & ECTS: | 18 | 30 | |
4. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
COMP2502 | Human Computer Interaction | 3 | 5 |
COMP2222 | Database Systems | 4 | 7 |
INDE2156 | Engineering Statistics | 3 | 6 |
ELEC1401 | Logic Design | 3 | 5 |
ELEC1402 | Logic Design Laboratory | 1 | 2 |
SOFT-AE-I | Area Elective-I | 3 | 5 |
Total of Semester Local Credits & ECTS: | 17 | 30 | |
5. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
COMP3112 | Analysis of Algorithms | 3 | 5 |
COMP3401 | Computer Organization | 3 | 5 |
SOFT3501 | Requirements Analysis | 3 | 6 |
TURK1202 | Turkish II | 2 | 2 |
SOFT3205 | Software Architecture | 3 | 5 |
SOFT3910 | Summer Practice I | 0 | 1 |
SOFT-GE-I | General Elective-I | 3 | 5 |
HUSS1002 | Ethics | 1 | 1 |
Total of Semester Local Credits & ECTS: | 18 | 30 | |
6. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
COMP3432 | Operating Systems | 3 | 5 |
SOFT3406 | Software Verification and Validation | 3 | 5 |
COMP3334 | Computer Networks | 3 | 5 |
SOFT-AE-II | Area Elective-II | 3 | 5 |
SOFT-AE-III | Area Elective-III | 3 | 5 |
COMP3105 | Automata and Formal Languages | 3 | 5 |
Total of Semester Local Credits & ECTS: | 18 | 30 | |
7. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
SOFT4304 | Software Project Management | 3 | 4 |
SOFT-GE-II | General Elective-II | 3 | 5 |
SOFT-GE-III | General Elective-III | 3 | 5 |
SOFT-GE-IV | General Elective-IV | 3 | 5 |
SOFT-AE-IV | Area Elective-IV | 3 | 5 |
SOFT4910 | Summer Practice II | 0 | 1 |
HIST1101 | History of Turkish Republic I | 2 | 2 |
ENGR4901 | Introduction to Design Projects | 1 | 1 |
OHES4411 | Occupational Health and Safety I | 0 | 2 |
Total of Semester Local Credits & ECTS: | 18 | 30 | |
8. Semester | |||
Slot Code | Slot Name | Local Credit | ECTS |
SOFT4902 | Graduation Design Project | 3 | 6 |
SOFT-AE-V | Area Elective-V | 3 | 5 |
SOFT-AE-VI | Area Elective-VI | 3 | 5 |
SOFT-GE-V | General Elective-V | 3 | 5 |
SOFT-GE-VI | General Elective-VI | 3 | 5 |
HIST1102 | History of Turkish Republic II | 2 | 2 |
OHES4412 | Occupational Health and Safety II | 0 | 2 |
Total of Semester Local Credits & ECTS: | 17 | 30 |
Old-New Course Codes | ||
MATH101 | Differential and Integral Calculation I | MATH1101 |
PHYS101 | General Physics I | PHYS1101 |
PHYS103 | Physics Laboratory I | PHYS1103 |
TUR101 | Turkish I | TURK1101 |
CSE007 | Computer Science Orientation | COMP1007 |
ENG101 | English I | ENGL1101 |
CSE111 | Introduction to Programming | COMP1111 |
HSS100 | Professional Ethics | HUSS1002 |
MATH102 | Differential and Integral Calculus II | MATH1102 |
PHYS102 | General Physics II | PHYS1102 |
PHYS104 | Physics Laboratory II | PHYS1104 |
CSE112 | Object Oriented Programming | COMP1112 |
TUR102 | Turkish II | TURK1102 |
ENG102 | Technical English II | ENGL1102 |
MATH230 | Probability | MATH2201 |
CSE202 | Data Structures and Algorithms | COMP2102 |
EE225 | Electric Circuits | ELEC2205 |
EE227 | Electric Circuits Lab. | ELEC2204 |
HIST101 | History of the Republic of Türkiye I | IHST1101 |
MATH142 | Discrete Mathematics | MATH2103 |
MATH200 | Linear Algebra | MATH2104 |
CSE252 | Introduction to Human-Computer Interaction | COMP2502 |
CSE222 | Database Systems | COMP2222 |
IE256 | Engineering Statistics | INDE2156 |
EE240 | Logic Circuits Design | ELEC1401 |
EE242 | Logic Circuits Design Lab. | ELEC1402 |
HIST102 | History of the Republic of Türkiye II | HIST1102 |
ECO101 | Introduction to Economy I | ECON1005 |
CSE290 | Industrial Training I | COMP3910 |
CSE312 | Algorithm Analysis | COMP3112 |
CSE341 | Computer Organization | COMP3401 |
EE335 | Electronics | ELEC3305 |
EE337 | Electronics Laboratory | ELEC3307 |
SE301 | Software Engineering | SOFT3101 |
CSE332 | Operating Systems | COMP3432 |
CSE334 | Computer Networks | COMP3334 |
CSE390 | Idustrial Training II | COMP4910 |
CSE490 | Project | COMP4902 |
SE311 | Internet & Web Programming | SOFT3111 |
SE302 | Software Development Applications | SOFT3102 |
SE304 | Software Projects Management | SOFT4304 |
SE322 | Systems Programming | SOFT3122 |
CSE290 | Industrial Training I | SOFT3910 |
CSE390 | Industrial Training II | SOFT4910 |
CSE490 | Project | SOFT4902 |
ENGG101 | Computer Literacy | ITEC1001 |
CSE460 | Artificial Intelligence | COMP4610 |
CSE485 | Data Mining | COMP4605 |
CSE462 | Natural Language Processing | COMP4602 |
CSE425 | Multimedia Techniques and Applications | COMP4525 |
CSE486 | Wireless Sensor Networks | COMP4306 |
CSE432 | Computer and Network Security | COMP4302 |
CSE466 | Android Programming | COMP4107 |
CSE465 | IOS Programming | COMP4106 |
CSE482 | Advanced Java Programming | COMP4102 |
CSE342 | Microprocessors | COMP3402 |
CSE340 | Distributed Computing | COMP3140 |
CSE415 | Automata and Formal Languages | COMP3105 |
CSE304 | COMP3104 |
Course Code | Course Name | Credit |
---|---|---|
CSE 007 | Computer Science Orientation | (1+0+0) 1 ECTS: 1 |
Information technology concepts. Computers and peripherals. Commonly used software. Storage and retrieval of information, information entry and exit. Computer networks, networking, internet. Windows operating system, Linux operating system, HTML, computer graphics and multimedia; computer security. | ||
CSE 111 | Programming Basics | (3 + 0 + 2) 4 ECTS: 7 |
Introduction to computer, program and Java language, identifier, variable, assignment commands, constants, data types, type changing, selection, loop, method, array, string and characters. | ||
CSE 112 | Object Oriented Programming | (2 + 0 + 2) 3 ECTS: 6 |
Objects and classes, constructor, static variable, constants, methods, visibility modifiers, temporary objects, invocation of methods with objects, invariance, variable visibility, class abstraction and packaging, upper and lower class concepts, inheritance, multiple meaning, chewing, loading, abstract class, object oriented design. Prerequisite: CSE111 |
||
CSE 202 | Data Structures and Algorithms | (3 + 1 + 2) 4 ECTS: 6 |
Algorithm analysis, linked list, stack, row, tree, summarization, priority row, sort, graph data structures and graph algorithms. Prerequisite: CSE 112 |
||
CSE 222 | Database Systems | (3 + 1 + 2) 4 ECTS: 7 |
Item relation model, database conceptual design, correlation algebra, SQL, retention and indexing, B + trees, summary indexes, query valuation, external sorting, query optimization, smoothing.
Prerequisite: CSE 112 |
||
CSE 252 | Introduction to Human-Computer Interaction | (3 + 0 + 0) 3 ECTS: 5 |
Principles of human computer interaction. Elements of interactive computer systems, windows and input devices. Window systems and conversation management. Interview design in interactive systems. Psychological, physiological, linguistic and perceptual factors. Returns and outcomes of various interaction techniques, command language syntax and data presentation. Design methodology and principles. Prerequisite: CSE 111 |
||
SE 301 | Software Engineering | (3 + 0 + 2) 4 ECTS: 7 |
Introduction to software engineering, UML, determination of requirements, analysis, system design, object design, testing, project management, software life cycle. Prerequisite: CSE 202 |
||
SE 302 | Software Development Applications | 1 + 0 + 4) 3 ECTS: 7 |
Software life cycle, project organization and communication, justification management, software configuration management, software project management, developing a large software product in a team. Prerequisite: SE 301 or Consent of the faculty member |
||
CSE 304 | Principles of Programming Languages | (3 + 0 + 0) 3 ECTS: 7 |
Syntax and semantics of programming languages. Data storage and control. Assignment of variables. Subroutine abstraction. Definitions, arrays and concurrent operations. Variable types. Functional programming languages. Logical programming languages. Prerequisite: CSE 112 |
||
SE 311 | Internet and Web Programming | (2 + 0 + 2) 3 ECTS: 6 |
HTML review, servlet, Java Server Pages, Java Server Faces, visual web development, web services, remote method calling. Prerequisite: CSE 111 |
||
CSE 312 | Algorithm Analysis | (3 + 1 + 0) 3 ECTS: 7 |
Divide and solve strategy, graph algorithms, in-depth search, transverse search, shortest path algorithms, greedy strategy, dynamic programming, linear programming, numerical algorithms, NP-complete problems, approximation algorithms. Prerequisite: CSE 202 + MATH 142 |
||
SE 322 | System Programming | (2 + 0 + 2) 3 ECTS: 6 |
UNIX architecture, system tools, C programming under UNIX, system calls and libraries, file input-output, process environment, signals. Prerequisite: CSE 111 |
||
CSE 332 | Operating Systems | (3 + 1 + 0) 3 ECTS: 6 |
Process abstraction, program loading and execution, multi-threaded programming, work order scheduling, synchronization, memory management, file systems, storage, input-output systems. Prerequisite: CSE 112 |
||
CSE 334 | Computer Networks | (3 + 0 + 0) 3 ECTS: 5 |
Network architecture, network protocols, application layer, transport, congestion, routing, link protocols, multiple access, communication architectures. Prerequisite: Consent of the instructor |
||
CSE 341 | Computer Organization | (3 + 1 + 0) 3 ECTS: 7 |
Inverter language, computer arithmetic, bus and control, piping, memory hierarchy, cache. Prerequisite: EE 240 or IT 204 |
||
CSE 340 | Distributed Computing | (3 + 0 + 0) 3 ECTS: 6 |
Rationale, parallel architectures, parallel algorithm design, message transmission programming, shared memory programming, performance analysis, MPI and OPENMP, sample problems. Prerequisite: CSE 312 |
||
CSE 342 | Microprocessors | (2 + 1 + 2) 3 ECTS: 6 |
Microcontroller structure, HCS12 hardware, converter, HCS12 log architecture, converter programming, input-output, interrupt and timer. Prerequisite: EE240 or IT 204 |
||
CSE 415 | Computing Theory | (3 + 0 + 0) 3 ECTS: 6 |
Introduction to calculation theory. Regular languages, finite automata, beautiful grammars, regular expressions. Context independent languages, context independent grammars, down push automata. Turing machine. Languages that can be calculated and cannot be calculated. Termination problem. Prerequisite: MATH 142 |
||
CSE 425 | Multimedia Techniques and Applications | (3 + 0 + 0) 3 ECTS: 6 |
Basic signal processing, multimedia system applications, multimedia hardware and software examples. Effective display, processing and access of text, graphics, sound and music, image and video data. Prerequisite: Consent of the instructor |
||
CSE 432 | Computer and Network Security | (3 + 0 + 0) 3 ECTS: 6 |
Security services, block passwords, floating passwords, asymmetric cryptography, security certificates, TLS, IPSec. Prerequisite: MATH 142 and MATH 230 |
||
CSE 450 | Computer Graphics | (3 + 0 + 0) 3 ECTS: 6 |
Overview of graphic systems, basic graphic components and properties, two and three dimensional transformations, windowing and cutting, three dimensional representation and viewing, removal of hidden lines and surfaces, lighting, shading and color. Prerequisite: MATH 200 and CSE 201 |
||
CSE 460 | Artificial Intelligence | (3 + 0 + 0) 3 ECTS: 6 |
Data representation, search and intuitive programming, logic and logical programming, problem solving, games and riddles, expert systems, learning, machine vision, natural language understanding. Applications in an artificial intelligence language. Prerequisite: CSE202 |