RESEARCH
Novita Sari
1112400616
RESEARCH
Novita Sari
1112400616
Pembimbing 1 : Pembimbing 2 :
ii
DAFTAR ISI
Halaman
Halaman Judul ........................................................................................................ i
Persetujuan Pembimbing ....................................................................................... ii
DAFTAR ISI ......................................................................................................... iii
DAFTAR GAMBAR ............................................................................................. v
DAFTAR TABEL ................................................................................................. vi
BAB I. PENDAHULUAN ............................................................................... 1
1.1. Latar Belakang ........................................................................................ 1
1.2. Perumusan Masalah................................................................................. 2
1.3. Tujuan Penelitian..................................................................................... 2
1.4. Manfaat Penelitian................................................................................... 3
1.5. Ruang Lingkup ........................................................................................ 3
BAB II. LANDASAN TEORI .......................................................................... 5
2.1. Teknik Informatika .................................................................................. 5
2.1.1. Taksonomi Teknik Informatika ....................................................... 5
2.2. Data Mining............................................................................................. 6
2.2.1. Aplikasi Data Mining ....................................................................... 7
2.2.2. Metodologi Analisis Data Mining ................................................... 9
2.2.3. Time Series .................................................................................... 12
2.2.4. Algoritma Prediksi ......................................................................... 13
2.3. Jaringan Syaraf Tiruan .......................................................................... 16
2.3.1. Arsitektur Jaringan ......................................................................... 16
2.3.2. Fungsi Aktivasi .............................................................................. 19
2.3.3. Metode Pembelajaran..................................................................... 21
2.4. Extreme Learning Machine ................................................................... 24
2.4.1. Cara Kerja Algoritma ELM ........................................................... 26
2.4.2. Implementasi ELM ........................................................................ 28
2.4.3. ELM dan Logika Fuzzy ................................................................. 31
2.5. Prediksi Topik-Topik Penelitian ........................................................... 31
iii
BAB III. METODOLOGI................................................................................. 33
3.1. Kerangka Pikir....................................................................................... 33
3.2. Tata Laksana Penelitian ........................................................................ 34
3.2.1. Tahapan Penelitian ......................................................................... 34
3.2.2. Rencana Kegiatan .......................................................................... 37
3.3. Metode Pengumpulan Data ................................................................... 37
3.4. Metode Prediksi dengan ELM............................................................... 38
3.5. Metode Analisis Kinerja ELM .............................................................. 40
DAFTAR PUSTAKA .......................................................................................... 42
LAMPIRAN .........................................................................................................L1
iv
DAFTAR GAMBAR
v
DAFTAR TABEL
Tabel 2.1 – Perbandingan Nilai MSE dan MAPE antara Metode ELM, MA, dan
ES untuk Data Kaos ............................................................................................. 29
Tabel 2.2 – Perbandingan Hasil dari Model Prediksi yang Berbeda ................... 29
Tabel 2.3 – Perbandingan Waktu dan Keakuratan dari ELM, Decision Tree, JST,
dan Bayes ........................................................................................................... 30
Tabel 2.4 – Perbandingan Kinerja dari Pembelajaran Fungsi: SinC ................... 30
Tabel 3.1 – Rencana Kegiaatan ........................................................................... 37
vi
BAB I. PENDAHULUAN
perhatian oleh para peneliti. Peran teknik informatika terhadap kegiatan manusia
yang cukup besar membuat penelitian terhadap teknik informatika semakin banyak
dan semakin perlu dilakukan. Maka muncul suatu kebutuhan untuk mengetahui
trend atau kecenderungan topik penelitian teknik informatika di masa depan. Oleh
karena itu perlu adanya prediksi untuk mengetahui trend-trend topik penelitian apa
belum terjadi. Hasil prediksi sangat berguna untuk menentukan tindakan apa yang
harus kita lakukan sekarang untuk mempersiapkan yang akan datang. Saat ini
domain, seperti (Kobayashi, Shirai, Hiyane, Kumeno, Inujima, & Yamauchi, 2005)
(Rahayu & Hasibuan, 2006) mengidentifikasi trend teknologi pada dokumen paten
akurat. Salah satunya adalah metode jaringan syaraf tiruan yang mengadopsi
kelebihannya pada kontrol area, prediksi dan pengenalan pola. Banyak penelitian
1
2
menyimpulkan bahwa metode jaringan syaraf tiruan lebih baik daripada metode-
merupakan jaringan syaraf tiruan feedforward dengan satu hidden layer atau lebih
dikenal dengan istilah single hidden layer feedforward neural network (Sun, Choi,
Au, & Yu, 2008). Metode extreme learning machine mempunyai kelebihan dalam
learning speed, serta mempunyai tingkat akurasi yang lebih baik dibandingkan
tergolong baru, implementasi extreme learning machine pada prediksi trend topik-
- Mengumpulkan data yang akan di uji dari jurnal IEEE Computer Society
sistem komputer. (Comer, Gries, Mulder, Tucker, Turner, & Young, 1989)
1. Literatur umum
2. Piranti Keras
5. Data
6. Teori Komputasi
7. Matematika Komputasi
9. Metodologi Komputasi
5
6
diperoleh.
Kegiatan data mining dapat dibagi menjadi dua bagian utama penelitian,
sesuai dengan tujuan utama dari analisisnya yaitu interpretasi dan prediksi
dan kriteria yang dapat dengan mudah dipahami oleh para alhi dalam
masa depan.
Data mining dapat diterapkan pada berbagai domain, dari kontrol proses
diagnosis medis, dari evaluasi efektivitas obat baru sampai deteksi penipuan
- Pemasaran
pemasaran.
- Deteksi Penipuan
8
asuransi (klaim palsu) dan perbankan (penggunaan kartu kredit dan cek
- Evaluasi Risiko
pemohon.
- Text Mining
Data mining dapat diterapkan untuk berbagai jenis teks, yang mewakili
- Pengenalan Citra
subyek yang menarik baik untuk kepentingan teoritis dan aplikasi. Hal
- Web Mining
9
- Diagnosis Medis
Model pembelajaran adalah alat bantu dalam bidang medis untuk deteksi
tujuan diagnosis adalah salah satu bidang penelitian yang saat ini sedang
berkembang.
Menurut (Vercellis, 2009, p. 90), ada tujuh kegiatan dasar data mining, yaitu:
nilai-nilai atribut yang dimiilki oleh kelas yang sama. Yang ke dua adalah
- Klasifikasi
data mining. Klasifikasi melihat perilaku dan atribut kelompok yang telah
tersebut untuk menyimpulkan suatu set aturan. Aturan ini kemudian akan
diterapkan pada data yang yang akan diklasifikasikan. Teknik ini sering
10
pelanggan yang akan atau tidak akan membeli produk jenis tertentu.
Naïve Bayes.
- Regresi
Tidak seperti klasifikasi yang ditujukan untuk target yang terpisah regresi
- Time Series
pengamatan.
- Asosiasi
dengan merek premium tiga kali lebih mungkin untuk membeli rokok
yang mereknya impor dibanding pria yang hanya membeli kopi degan
11
A adalah bagian dari suatu kejadian, maka X persen dari waktu (faktor
analisis keranjang pasar (market basket analysis) (Moss & Atre, 2003, p.
388).
- Clustering
kredit.
yang sederhana dan ringkas dari informasi yang tersimpan dalam dataset
Time series adalah suatu himpunan pengamatan yang dibangun secara beru-
rutan dalam waktu. Waktu atau periode yang dibutuhkan untuk melakukan suatu
peramalan itu biasanya disebut sebagai lead time yang bervariasi pada tiap
persoalan.
dikatakan diskrit bila himpunan pengaamatan tersebut juga diskrit. Dalam time
series diskrit. interval waktunya seragam seperti, menit, jam, hari, minggu, bulan,
dinyatakan dalam puluhan juta kilowatt per jam, direkam setiap dua bulan dari dua
bulan pertama tahun 1998 sampai dua bulan ke enam tahun 2003.
13
105
100
95
90
85
80
75
70
65
1998 1999 2000 2001 2002 2003 2004
Tiga komponen time series dibagi menjadi tiga yaitu: tren, musiman, dan
random noise.
dari waktu ke waktu, dan trennya dapat meningkat, menurun, atau statis.
Usaha yang dibuat untuk perkiraan tren time series dilambangkan dengan
digunakan untuk mewakili semua variasi yang tidak beraturan dalam data
- ARIMA
cocok dalam kesatuan waktu dengan menggunakan nilai masa lalu, dan
meramalkan pola masa depan dalam jangka pendek. ARIMA cocok jika
Jaringan syaraf tiruan terdiri atas sejumlah proses yang sangat sederhana
yang disebut dengan node atau simpul. Simpul ini analog dengan neuron
syaraf tiruan terdiri atas lapisan input dan output. Tetapi ada juga yang
information criterion.
15
- Decision Tree
Decision tree adalah sebuah diagram alur dengan struktur seperti pohon.
Setiap node berisi menandakan suatu tes pada atribut. Setiap cabang
teknik.
- Naive Bayes
Naive bayes merupakan teknik sederhana yang sangat cocok saat dimensi
merupakan dasar dari banyak machine learning dan metode data mining.
jantung.
16
- Logika Fuzzy
informasi yang kabur, ambigu, tidak tepat atau bahkan yang hilang.
Umumnya, logika fuzzy adalah metode cukup efektif untuk sistem yang
Karakose, & Akin, 2009). Penggunaan logika fuzzy untuk prediksi telah
Jaringan syaraf tiruan (JST) telah secara luas diterapkan untuk klasifikasi
pola dan masalah regresi. Alasan utama keberhasilan dari JST adalah
212):
17
lapisan tersembunyi.
Nilai Input
X X X
Lapisan Input
Y Y
Lapisan Output
Nilai Output
Lapisan input memiliki tiga neuron, yaitu X1, X2 dan X3. Sedangkan pada
lapisan output memiliki dua neuron yaitu Y1 dan Y2. Neuron-neuron pada
neuron ditentukan oleh bobot yang bersesuaian. Semua unit input akan
Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang
terletak di antara lapisan input dan lapisan output. Umumnya ada lapisan
Nilai Input
X X X
Lapisan Input
Z Z
Lapisan Tersembunyi
w1 w2
Y
Lapisan Output
Nilai Output
bobot untuk diri sendiri tiap neuron adalah 1, sedangkan untuk neuron
lain adalah bobot random negatif. Gambar 2.4 menunjukkan salah satu
-η
-η
A A
-η
-η
-η -η
Ai Aj
-η
Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan saraf
kontinu ke suatu output biner yaitu 0 atau 1 (Gambar 2.5). Fungsi undak
0, 𝑗𝑖𝑘𝑎 𝑥 ≤ 0
𝑦= {
1, 𝑗𝑖𝑘𝑎 𝑥 > 0
20
y
1
0 x
0, 𝑗𝑖𝑘𝑎 𝑥 < θ
𝑦= {
1, 𝑗𝑖𝑘𝑎 𝑥 ≥ θ
y
1
0 θ x
- Fungsi Linier
Fungsi linear memiliki nilai output yang sama dengan nilai inputnya
𝑦=𝑥
21
y
1
-1
0 1 x
-1
- Fungsi Sigmoid
𝑒 𝑥 −𝑒 −𝑥
𝑦 = 𝑓(𝑥) = 𝑒 𝑥 +𝑒 −𝑥
pembelajarannya (Cho, Chun, & Lee, 2007). Metode pembelajaran pada jaringan
syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya.
22
output.
- Perceptron
bobot yang bisa diatur dan suatu nilai ambang (threshold). Algortima
- Backpropagation
1
𝑓(𝑥) =
1 + 𝑒 −𝑥
23
bawah ini.
X V11 Y
V12 W11
Z W12
V21 W13
X V22 Y
W21
Z
W22
V31 W23
X V32
Y
Salah satu algoritma untuk pembelajaran JST yang tidak terawasi adalah
jaringan kohonen. Pada jaringan ini, suatu lapisan yang berisi neuron-neuron akan
menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok
yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang
memiliki vektor bobot paling cocok dengan pola input yaitu yang memiliki jarak
paling dekat akan terpilih sebagai pemenang. Neuron yang menjadi pemenang
dengan satu hidden layer atau lebih dikenal dengan istilah single hidden layer
network - FFNN) lebih banyak mengkonsumsi waktu. Menurut (Huang, Zhu, &
Siew, 2004) ada dua alasan kenapa ini bisa terjadi, pertama adalah karena
jaringan syaraf dan yang ke dua adalah karena tuning berulang dari parameter
jaringan karena algoritma ini. Untuk mengatasi masalah ini, (Huang, Zhu, & Siew,
learning machine (ELM) untuk jaringan syaraf single hidden layer feed-forward
(SLFNs) yang memilih secara acak bobot input dan secara analitik menentukan
bobot output SLNFs. (Huang, Zhu, & Siew, 2004) menyatakan “Secara teori,
ELM memiliki fitur yang menarik dan signifikan, berbeda dengan algoritma
forward. Fitur yang dimaksud adalah sebagai berikut (Huang, Zhu, & Siew, 2006):
pembelajaran klasik tidak dapat menembusnya. Dan bukan hal yang tidak
25
masalah seperti minima lokal, tingkat pembelajaran yang tidak tepat, dan
tidak terdiferensiasi.
26
Output
Layer
β
… Hidden
Layer
w
… Input
Layer
Xi1 Xi2 X…
i
syaraf tiruan feedforward. Model matematis dari ELM lebih sederhana dan efektif.
Berikut ini adalah model matematis dari ELM. Untuk N jumlah sampel yang
∑𝑁 𝑁
𝑖=1 𝛽𝑖𝑔𝑖 (𝑥𝑗) = ∑𝑖=1 𝛽𝑖𝑔𝑖 (𝑊𝑖 . 𝑋𝑗 + 𝑏𝑖 ) = 𝑜𝑗 (3)
Dimana:
J = 1, 2, …, N
27
node input.
node output.
berikut:
∑𝑁
𝑗=1‖𝑂𝑗 − 𝑡𝑗 ‖ = o sehingga 𝑂𝑗 = 𝑡𝑗 (4)
∑𝑁
𝑖=1 𝛽𝑖𝑔𝑖 (𝑊𝑖 . 𝑋𝑗 + 𝑏𝑖 ) = 𝑡𝑗 (5)
𝐻𝛽 = 𝑇 (6)
𝐻 = (𝑤𝑖 , … , 𝑤𝑁 , 𝑏𝑖 , … , 𝑏𝑁 , 𝑥𝑖 , … , 𝑥𝑁 )
𝑔(𝑤𝑖 . 𝑥𝑖 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑖 + 𝑏𝑁 )
= ⋮ ⋮ ⋮ (7)
𝑔(𝑤𝑖 . 𝑥𝑁 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑁 + 𝑏𝑁 )
𝛽1𝑇
𝛽= ⋮ (8)
𝛽𝑁𝑇
𝑡1𝑇
𝑇= ⋮ (9)
𝑡𝑁𝑇
dengan input 𝑥𝑖 . 𝛽 merupakan matriks dari output bobot dan matriks T dari target
atau output.
Pada ELM bobot input dan bias tersembunyi ditentukan secara acak, maka
bobot output yang berhubungan dengan layer tersembunyi dapat ditentukan dari
persamaan [6].
𝛽 = 𝐻𝑇 𝑇 (10)
penjualan di industri retail (Chen & Ou, 2011), dan klasifikasi nasabah bank
Exponential Smoothing (ES). Di mana tingkat kesalahan (Mean Square Error dan
Mean Absolut Precentage Error) metode ELM lebih kecil dibandingkan dengan
dua metode konvensional tersebut. Berikut ini adalah perbandingan nilai MSE dan
MAPE antara metode ELM, MA, dan ES. (Agustina, Anggraeni, & Mukhlason,
2010)
29
Tabel 2.1 – Perbandingan Nilai MSE dan MAPE antara Metode ELM, MA,
MA ES ELM
(GRA) dan ELM untuk model prediksi industri retail. Kombinasi ini disebut
nasabah bank. Kinerja ELM juga dibandingkan dengan algoritma decision tree,
Waktu Keakuratan
(s)
Tree
(Huang, Zhu, & Siew, 2006) melakukan evaluasi kinerja ELM dengan
backpropagation (BP) dan support vector machine for regression (SVR). Salah
s/node
Keterangan:
31
bagus untuk menyelesaikan masalah regresi dan klasifikasi. Akhir-akhir ini, teknik
intelligence dan machine learning, baik dari segi teori dan aplikasinya (Huang,
(Huynh & Won, 2009) mengajukan fungsi aktivasi bebasiskan logika fuzzy
untuk SLFN yang dilatih oleh algoritma ELM. Berdasarkan percobaan, hasilnya
menunjukkan bahwa fungsi aktivasi ini menawarkan kinerja yang baik yang sesuai
memahami teknologi secara keseluruhan dan memprediksi apa yang akan terjadi
dalam waktu dekat (Kobayashi, Shirai, Hiyane, Kumeno, Inujima, & Yamauchi,
2005).
obat-obatan, dan deterjen. Subyek paking besar dalam legiatan penelitian adalah
32
penyimpanan. Topik yang menonjol pada tahun 1993 sampai 1996 adalah proses
paten Indonesia, laporan penelitian kimia dan bidang metallurgy. Tujuan dari
penelitiannya adalah untuk mengetahui trend topik yang inti, menonjol, dan
berulang pada dokumen dari tahun 1993 sampai 1997 adalah kimia organik,
berdasarkan tiga periode waktu untuk melacak perkebangan dan pertumbuhan area
berasal dari tiga data enam tahunan yang berulang yaitu: 1996-2001, 1997-2002
dan 1198-2003.
(Daim, Rueda, Martin, & Gerdsri, 2006) memprediksi tiga area teknologi
ke dalam tool teknologi prediksi seperti scenario planning, growth curves, dan
analogi. Teknologi yang diprediksi adalah sel bahan bakar, keamanan pangan, dan
Teknik informatika yang memiliki andil yang cukup besar dalam berbagai
kecenderungan topik penelitian teknik informatika di masa depan. Oleh karena itu
perlu adanya prediksi untuk mengetahui trend-trend topik penelitian apa saja yang
syaraf tiruan baru yang pertama kali diperkenalkan oleh Huang pada tahun 2004
(Huang, Zhu, & Siew, 2006). Metode pembelajaran extreme learning machine
feedforward terutama dalam hal kecepatan belajar (learning speed). Metode ini
Secara garis besar prediksi menggunakan ELM di bagi menjadi tiga tahap
Mukhlason, 2010). Gambar 3.1 menunjukkan kerangka pikir dari penelitian ini.
33
34
Secara lebih rinci, tahapan prediksi dengan menggunakan metode ELM akan
Peneliti
Mengeksplorasi TI
Membutuhkan
Menghasilkan
Studi
Analisis
Literatur
Implementasi Pengumpulan
ELM Data
implementasi metode ELM untuk prediksi melalui pembagian data, training dan
Pada tahap awal penelitian dimulai dengan menentukan latar belakang dan
untuk memperdalam pemahaman mengenai cara kerja metode ELM serta tahapan-
tahapan apa saja yang diperlukan untuk prediksi dengan menggunakan metode
ELM. Selain itu, studi literatur juga dilakukan untuk mengetahui arah penelitian
teknik informatika supaya pengumpulan data memiliki fokus yang lebih baik.
Tahap ke dua dari penelitian ini adalah pengumpulan data. Tahap ke tiga
adalah implementasi metode ELM melalui pembagian data, training dan testing
ELM. Tahap ke empat adalah analisis hasil prediksi ELM. Kemudian tahap
Persiapan Penelitian
Penentuan Tujuan
Studi Literatur
dan Ruang Lingkup
Pengumpulan Data
Implementasi ELM
Pembagian Data
Training ELM
Testing ELM
Mulai
Pengumpulan
Data
Output: Data
Input: Data Time Pembagian
Training dan Data
Series Data
Testing
Training ELM
Apakah
MSE <= Tidak
1%?
Ya
Output: Bobot
Denormalisasi
Input, Bias, dan
Output
Bobot Output
Apakah
MSE <=
1%?
Ya
Analisis Hasil
Prediksi ELM
Selesai
Bulan
No Kegiatan
1 2 3 4 5 6 7 8
1. Studi Literatur
2. Pengumpulan Data
3. Implementasi ELM
5. Penulisan Tesis
Data yang digunakan adalah data dari jurnal ilmiah yaitu IEEE Computer
Society. Di mana data yang diambil berupa judul, abstrak, dan kata kunci dari
jurnal yang disubmit dari tahun 1996 sampai tahun 2011. Data dari jurnal-jurnal
data akan diproses terlebih dahulu. Data per tahun yang ada di dalam database
Computer Society).
38
sebagai berikut:
- Training ELM
(𝑥𝑝 − min 𝑥𝑝 )
𝑥 =2× − 1
(max 𝑥𝑝 − 𝑚𝑖𝑛 𝑥𝑝 )
Dimana:
39
Pada proses training jumlah hidden neuron dan fungsi aktivasi dari
fungsi aktivasi sigmoid tan. Menurut (Sun, Choi, Au, & Yu, 2008)
3. Menghitung bobot input, bias dari hidden neuron, dan bobot output.
Output dari proses pelatihan ELM adalah bobot input, bobot output,
dan bias dari hidden neuron dengan tingkat kesalahan rendah yang
𝛽 = 𝐻𝑇 𝑇
𝐻 = (𝑤𝑖 , … , 𝑤𝑁 , 𝑏𝑖 , … , 𝑏𝑁 , 𝑥𝑖 , … , 𝑥𝑁 )
𝑔(𝑤𝑖 . 𝑥𝑖 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑖 + 𝑏𝑁 )
= ⋮ ⋮ ⋮
𝑔(𝑤𝑖 . 𝑥𝑁 + 𝑏𝑖 ) ⋯ 𝑔(𝑤𝑁 . 𝑥𝑁 + 𝑏𝑁 )
𝛽1𝑇 𝑡1𝑇
𝛽= ⋮ 𝑇= ⋮
𝛽𝑁𝑇 𝑡𝑁𝑇
40
4. Denormalisasi Output
Dimana:
- Testing ELM
Berdasarkan bobot input dan bobot output yang didapatkan dari proses
ELM. Data yang digunakan adalah data testing sebanyak 20% dari data.
melihat apakah tingkat kesalahan Mean Square Error (MSE) yang kecil. Berikut
Dimana :
N = jumlah data
yi = data output
41
ti = data actual
maka kinerja ELM akan dibandingkan dengan kinerja jaringan syaraf tiruan pada
Aydin, I., Karakose, M., & Akin, a. E. (2009). The Prediction Algorithm Based on
Fuzzy Logic Using Time Series Data Mining Method. World Academy of
Integrating GRA and ELM : A Case Study For Retail Industry. International
Cho, J., Chun, M., & Lee, D. (2007). Parameter Optimization of Extreme Learning
Comer, D. E., Gries, D., Mulder, M. C., Tucker, A., Turner, A. J., & Young, P. R.
Din, N. M., & Fisal, N. (2008). Fuzzy Logic Bandwidth Prediction and Policing in
Duan, G., Huang, Z., & Wang, J. (2009). Extreme Learning Machine for Bank
42
International Conference of International Association for Computer
Fang, N., & Lu, J. (2009). Work in Progress - A Decision Tree Approach to
Huang, G. B., Wang, D. H., & Lan, Y. (2011). Extreme Learning Machines: A
Huang, G. B., Zhu, Q. Y., & Siew, C. K. (2006). Extreme Learning Machine :
Huynh, H. T., & Won, Y. (2009). Extreme Learning Machine with Fuzzy
IDC. IEEE.
http://www.computer.org/portal/web/publications/acmtaxonomy
Kobayashi, S., Shirai, Y., Hiyane, K., Kumeno, F., Inujima, H., & Yamauchi, N.
43
Moss, L. T., & Atre, S. (2003). Business Intelligence Roadmap: The Complete
and Technology .
Sun, Z. L., Choi, T. M., Au, K. F., & Yu, Y. (2008). Sales Forecasting using
44
LAMPIRAN
2. Hardware
0. General
I. Control Structures and Microprogramming
1. General
2. Control Design Styles
i. Hardwired control
ii. Microprogrammed logic arrays
iii. Writable control store
3. Control Structure Performance Analysis and Design Aids
i. Automatic synthesis
ii. Formal models
iii. Simulation
4. Control Structure Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
5. Microprogram Design Aids
i. Firmware engineering
ii. Languages and compilers
iii. Machine-independent microcode generation
iv. Optimization
v. Verification
6. Microcode Applications
i. Direct data manipulation
ii. Firmware support of operating systems/instruction sets
iii. Instruction set interpretation
iv. Peripheral control
v. Special-purpose
7. Miscellaneous
i. Emerging technologies
II. Arithmetic and Logic Structures
1. General
L1
2. Design Styles
i. Calculator
ii. Parallel
iii. Pipeline
iv. Multiple valued logic
3. Performance Analysis and Design Aids
i. Simulation
ii. Verification
iii. Worst-case analysis
4. Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
5. High-Speed Arithmetic
i. Algorithms
ii. Cost/performance
6. Miscellaneous
III. Memory Structures
1. General
2. Semiconductor Memories
i. DRAM
ii. ROM
iii. SRAM
3. Design Styles
i. Associative memories
ii. Cache memories
iii. Interleaved memories
iv. Mass storage
v. Primary memory
vi. Sequential-access memory
vii. Shared memory
viii. Virtual memory
4. Performance Analysis and Design Aids
i. Formal models
ii. Simulation
iii. Worst-case analysis
5. Reliability, Testing, and Fault-Tolerance
i. Diagnostics
ii. Error-checking
iii. Redundant design
iv. Test generation
6. Miscellaneous
IV. I/O and Data Communications
1. General
2. Data Communications Devices
i. Processors
ii. Receivers
L2
iii. Transmitters
3. Input/Output Devices
i. Channels and controllers
ii. Data terminals and printers
iii. Image display
iv. Voice
4. Interconnections (Subsystems)
i. Asynchronous/synchronous operation
ii. Fiber optics
iii. Interfaces
iv. Parallel I/O
v. Physical structures
vi. Topology
vii. Web technologies
viii. Wireless systems
5. Performance Analysis and Design Aids
i. Formal models
ii. Simulation
iii. Verification
iv. Worst-case analysis
6. Reliability, Testing, and Fault-Tolerance
i. Built-in tests
ii. Diagnostics
iii. Error-checking
iv. Hardware reliability
v. Redundant design
vi. Test generation
7. Miscellaneous
V. Register-Transfer-Level Implementation
1. General
2. Design
i. Arithmetic and logic units
ii. Control design
iii. Data-path design
iv. Memory design
v. Styles
3. Design Aids
i. Automatic synthesis
ii. Hardware description languages
iii. Optimization
iv. Simulation
v. Verification
4. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Redundant design
iv. Test generation
v. Testability
L3
5. Miscellaneous
VI. Logic Design
1. General
2. Design Styles
i. Cellular arrays and automata
ii. Combinational logic
iii. Logic arrays
iv. Memory control and access
v. Memory used as logic
vi. Parallel circuits
vii. Sequential circuits
3. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Redundant design
iv. Test generation
v. Testability
4. Design Aids
i. Automatic synthesis
ii. Hardware description languages
iii. Optimization
iv. Simulation
v. Switching theory
vi. Verification
5. Miscellaneous
VII. Integrated Circuits
1. General
2. Types and Design Styles
i. Advanced technologies
ii. Algorithms implemented in hardware
iii. Gate arrays
iv. Input/output circuits
v. Memory technologies
vi. Microprocessors and microcomputers
vii. Network connectivity chips
viii. Standard cells
ix. VLSI
3. Design Aids
i. Graphics
ii. Layout
iii. Placement and routing
iv. Simulation
v. Verification
4. Reliability and Testing
i. Built-in tests
ii. Error-checking
iii. Fault injection
iv. Redundant design
L4
v. Test generation
vi. Testability
5. Miscellaneous
VIII. Performance and Reliability
1. General
2. Reliability, Testing, and Fault-Tolerance
3. Performance Analysis and Design Aids
4. Miscellaneous
IX. Power Management
1. Low-power design
2. Energy-aware systems
X. Miscellaneous
1. Design management
L5
vii. High-level language architectures
viii. Multithreaded processors
ix. Neural nets
x. Neurocomputers
xi. Pipeline processors
xii. Stack-oriented processors
5. Parallel Architectures
i. Distributed architectures
ii. Mobile processors
iii. Real-time distributed
iv. Scheduling and task partitioning
6. Miscellaneous
i. Analog computers
ii. Hybrid systems
II. Communication/Networking and Information Technology
1. General
i. Architecture
ii. Data communications
iii. Emerging technologies
iv. Infrastructure protection
v. Interprocessor communications
vi. Network-level security and protection
vii. OSI reference model
viii. Standards
2. Network Architecture and Design
i. ATM
ii. Centralized networks
iii. Circuit-switching networks
iv. Distributed networks
v. Frame relay networks
vi. ISDN
vii. Network communications
viii. Network topology
ix. Packet-switching networks
x. Store and forward networks
xi. Wireless communication
3. Network Protocols
i. Applications
ii. Protocol architecture
iii. Protocol verification
iv. Routing protocols
4. Network Operations
i. Network management
ii. Network monitoring
iii. Public networks
5. Distributed Systems
i. Client/server
ii. Distributed applications
L6
iii. Distributed databases
iv. Network operating systems
6. Local-Area Networks
i. Access schemes
ii. Buses
iii. Ethernet
iv. High-speed
v. Internet
vi. Token rings
7. Internetworking
i. Bridges
ii. Gateways
iii. Multicast
iv. Protocols
v. Routers
vi. Standards
8. Wide-area networks
i. CATV
ii. Optical fiber
iii. Sensor networks
iv. Telephony
v. Wireless
9. Mobile Computing
i. Algorithm/protocol design and analysis
ii. Architectures
iii. Mobile communication systems
iv. Mobile environments
v. Support services
10. Miscellaneous
III. Special-Purpose and Application-Based Systems
1. Application studies resulting in better multiple-processor systems
2. Microprocessor/microcomputer applications
3. Process control systems
4. Real-time and embedded systems
5. Reconfigurable hardware
6. Signal processing systems
7. Smartcards
8. Ubiquitous computing
IV. Performance of Systems
1. Design studies
2. Fault tolerance
3. Measurement techniques
4. Modeling techniques
5. Performance attributes
6. Reliability, availability, and serviceability
7. Measurement, evaluation, modeling, simulation of multiple-
processor systems
V. Computer System Implementation
L7
1. General
2. Large and Medium ("Mainframe")
i. Super (very large) computers
3. Minicomputers
4. Microcomputers
i. Microprocessors
ii. Personal computers
iii. Portable devices
iv. Workstations
5. VLSI Systems
i. Impact of VLSI on system design
6. Servers
i. Web server
ii. Web browser
7. Multiprocessor Systems
8. Wearable Computers
9. Miscellaneous
4. Software/Software Engineering
0. General
I. Programming Techniques
1. General
2. Applicative (Functional) Programming
3. Automatic Programming
4. Concurrent Programming
5. Sequential Programming
6. Object-Oriented Programming
7. Logic Programming
8. Visual Programming
9. Distributed programming
10. Miscellaneous
II. Software Engineering
1. General
i. Protection mechanisms
ii. Software psychology
iii. Software engineering for Internet projects
iv. Standards
v. Surveys of historical development of one particular area
2. Requirements/Specifications
i. Analysis
ii. Elicitation methods
iii. Languages
iv. Management
v. Methodologies
vi. Process
vii. Specification
viii. Tools
ix. Validation
L8
3. Design Tools and Techniques
i. CASE
ii. Decision tables
iii. Distributed/Internet based software engineering tools and
techniques
iv. Modules and interfaces
v. Programmer workbench
4. Coding Tools and Techniques
i. Object-oriented programming
ii. Pretty printers
iii. Program editors
iv. Reentrant code
v. Standards
vi. Structured programming
vii. Top-down programming
5. Software/Program Verification
i. Assertion checkers, assertion languages, performance
ii. Class invariants
iii. Correctness proofs
iv. Formal methods
v. Model checking
vi. Programming by contract
vii. Reliability
viii. Statistical methods
ix. Validation
6. Testing and Debugging
i. Code inspections and walkthroughs
ii. Debugging aids
iii. Diagnostics
iv. Distributed debugging
v. Dumps
vi. Error handling and recovery
vii. Monitors
viii. Reliability
ix. Symbolic execution
x. Test levels
xi. Testing strategies
xii. Test design
xiii. Test coverage of code
xiv. Test coverage of specifications
xv. Test execution
xvi. Test documentation
xvii. Test management
xviii. Testing tools
xix. Tracing
xx. Usability testing
7. Programming Environments/Construction Tools
i. Environments for multiple-processor systems
L9
ii. Graphical environments
iii. Integrated environments
iv. Interactive environments
v. Programmer workbench
8. Distribution, Maintenance, and Enhancement
i. Conversion from sequential to parallel forms
ii. Corrections
iii. Documentation
iv. Enhancement
v. Evolving Internet applications
vi. Extensibility
vii. Maintainability
viii. Maintenance management
ix. Maintenance measurement
x. Maintenance planning
xi. Maintenance process
xii. Portability
xiii. Restructuring, reverse engineering, and reengineering
xiv. Version control
9. Metrics/Measurement
i. Complexity measures
ii. Performance measures
iii. Process metrics
iv. Product metrics
v. Software science
10. Management
i. Copyrights
ii. Cost estimation
iii. Enactment
iv. Initiation and scope definition
v. Organizational management and coordination
vi. Planning
vii. Postclosure activities
viii. Productivity
ix. Programming teams
x. Project close out
xi. Project control & modeling
xii. Review and evaluation
xiii. Risk management
xiv. Schedule and organizational issues
xv. Software acquisition
xvi. Time estimation
11. Design
i. Design concepts
ii. Design notations and documentation
iii. Representation
iv. State diagrams
v. Evolutionary prototyping
L10
vi. Methodologies
vii. Object-oriented design methods
viii. Quality analysis and evaluation
ix. Rapid prototyping
x. Representation
12. Software Architectures
i. Data abstraction
ii. Domain-specific architectures
iii. Information hiding
iv. Languages
v. Patterns
13. Interoperability
i. Data mapping
ii. Distributed objects
iii. Interface definition languages
14. Reusable Software
i. Domain engineering
ii. Reusable libraries
iii. Reuse models
15. Human Factors in Software Design
i. User interfaces
16. Software and System Safety
17. Configuration Management
i. Configuration auditing
ii. Configuration control
iii. Configuration identification
iv. Configuration management process
v. Configuration status accounting
vi. Software release management and delivery
18. Software Construction
i. Construction planning
ii. Code design
iii. Code tuning
iv. Data design and management
v. Error processing
vi. Source code organization
vii. Code documentation
viii. Construction QA
ix. Programming paradigms
x. System integration and implementation
19. Software Engineering Process
i. Life cycle
ii. Process infrastructure
iii. Process measurement
iv. Process definition
v. Software process models
vi. Qualitative process analysis
vii. Process implementation and change
L11
20. Software Quality/SQA
i. Quality concepts
ii. Planning for SQA and V&V
iii. Methods for SQA and V&V
iv. Measurement applied to SQA and V&V
21. Miscellaneous
i. Software libraries
ii. System issues
III. Programming Languages
1. General
i. Standards
2. Formal Definitions and Theory
i. Semantics
ii. Syntax
3. Language Classifications
i. Applicative (functional) languages
ii. Componentware
iii. Compression technologies
iv. Concurrent, distributed, and parallel languages
v. Constraint and logic languages
vi. Dataflow languages
vii. Design languages
viii. Development tools
ix. Extensible languages
x. Java
xi. Macro and assembly languages
xii. Microprogramming languages
xiii. Multiparadigm languages
xiv. Nondeterministic languages
xv. Nonprocedural languages
xvi. Object-oriented languages
xvii. Query languages
xviii. Scripting languages
xix. Specialized application languages
xx. Very high-level languages
4. Language Constructs and Features
i. Abstract data types
ii. Classes and objects
iii. Concurrent programming structures
iv. Constraints
v. Control structures
vi. Coroutines
vii. Data types and structures
viii. Distributed objects, components, containers
ix. Dynamic storage management
x. Frameworks
xi. Inheritance
xii. Input/output
L12
xiii. Modules, packages
xiv. Patterns
xv. Polymorphism
xvi. Procedures, functions, and subroutines
xvii. Recursion
5. Processors
i. Code generation
ii. Compilers
iii. Debuggers
iv. Incremental compilers
v. Interpreters
vi. Memory management
vii. Optimization
viii. Parsing
ix. Preprocessors
x. Retargetable compilers
xi. Runtime environments
xii. Translator writing systems and compile
6. Miscellaneous
IV. Operating Systems
1. General
2. Process Management
i. Concurrency
ii. Deadlocks
iii. Multiprocessing/multiprogramming/multitasking
iv. Mutual exclusion
v. Scheduling
vi. Synchronization
vii. Threads
3. Storage Management
i. Allocation/deallocation strategies
ii. Distributed memories
iii. Garbage collection
iv. Main memory
v. Secondary storage
vi. Segmentation
vii. Storage hierarchies
viii. Swapping
ix. Virtual memory
4. File Systems Management
i. Access methods
ii. Directory structures
iii. Distributed file systems
iv. File organization
v. Maintenance
5. Communications Management
i. Buffering
ii. Input/output
L13
iii. Message sending
iv. Network communication
v. Terminal management
6. Reliability
i. Backup procedures
ii. Checkpoint/restart
iii. Disconnected operation
iv. Fault-tolerance
v. High availability
vi. Verification
7. Security and Privacy Protection
i. Access controls
ii. Authentication
iii. Cryptographic controls
iv. Information flow controls
v. Invasive software
vi. Security kernels
vii. Verification
8. Organization and Design
i. Batch processing systems
ii. Distributed systems
iii. Hierarchical design
iv. Interactive systems
v. Real-time systems and embedded systems
vi. Parallel systems
9. Performance
i. Measurements
ii. Modeling and prediction
iii. Monitors
iv. Operational analysis
v. Queuing theory
vi. Simulation
vii. Stochastic analysis
10. Systems Programs and Utilities
i. Command and control languages
ii. Linkers
iii. Loaders
iv. Window managers
11. Support for Adaptation
i. Application-aware adaptation
ii. Application-transparent adaptation
iii. Fidelity, agility, and stability
iv. Low-bandwidth operation
v. Transcoding
12. Miscellaneous
5. Data
0. General
L14
1. Data communications aspects
2. Data dependencies
3. Data encryption
4. File organization
5. Knowledge and data engineering tools and techniques
6. System applications and experience
I. Data Structures
1. Arrays
2. Distributed data structures
3. Distributed file systems
4. Graphs and networks
5. Lists, stacks, and queues
6. Records
7. Tables
8. Trees
II. Data Storage Representations
1. Composite structures
2. Contiguous representations
3. Hash-table representations
4. Linked representations
5. Object representation
6. Primitive data items
III. Data Encryption
1. Code breaking
2. DES
3. Public key cryptosystems
4. Standards
IV. Coding and Information Theory
1. Data compaction and compression
2. Error control codes
3. Normal models of communication
4. Nonsecret encoding schemes
V. Files
1. Backup/recovery
2. Optimization
3. Organization/structure
4. Sorting/searching
VI. Miscellaneous
6. Theory of Computation
0. General
I. Computation by Abstract Devices
1. General
2. Models of Computation
i. Automata
ii. Bounded-action devices
iii. Computability theory
iv. Relations between models
L15
v. Self-modifying machines
vi. Unbounded-action devices
3. Modes of Computation
i. Alternation and nondeterminism
ii. Interactive and reactive computation
iii. Online computation
iv. Parallelism and concurrency
v. Probabilistic computation
vi. Relations among modes
vii. Relativized computation
4. Complexity Measures and Classes
i. Complexity hierarchies
ii. Machine-independent complexity
iii. Reducibility and completeness
iv. Relations among complexity classes
v. Relations among complexity measures
5. Miscellaneous
II. Analysis of Algorithms and Problem Complexity
1. General
2. Numerical Algorithms and Problems
i. Computation of transforms
ii. Computations in finite fields
iii. Computations on matrices
iv. Computations on polynomials
v. Number-theoretic computations
3. Nonnumerical Algorithms and Problems
i. Complexity of proof procedures
ii. Computations on discrete structures
iii. Geometrical problems and computations
iv. Pattern matching
v. Routing and layout
vi. Sequencing and scheduling
4. Sorting and searching
5. Miscellaneous
III. Logics and Meanings of Programs
1. General
2. Specifying and Verifying and Reasoning about Programs
i. Assertions
ii. Invariants
iii. Logics of programs
iv. Mechanical verification
v. Pre- and post-conditions
vi. Specification techniques
3. Semantics of Programming Languages
i. Algebraic approaches to semantics
ii. Denotational semantics
iii. Operational semantics
iv. Partial evaluation
L16
v. Process models
vi. Program analysis
4. Studies of Program Constructs
i. Control primitives
ii. Functional constructs
iii. Object-oriented constructs
iv. Program and recursion schemes
v. Type structure
5. Miscellaneous
IV. Mathematical Logic and Formal Languages
1. General
2. Mathematical Logic
i. Computability theory
ii. Computational logic
iii. Lambda calculus and related systems
iv. Logic and constraint programming
v. Mechanical theorem proving
vi. Modal logic
vii. Model theory
viii. Proof theory
ix. Recursive function theory
x. Set theory
xi. Temporal logic
3. Grammars and Other Rewriting Systems
i. Decision problems
ii. Grammar types
iii. Parallel rewriting systems
iv. Parsing
v. Thue systems
4. Formal Languages
i. Algebraic language theory
ii. Classes defined by grammars or automata
iii. Classes defined by resource-bounded automata
iv. Decision problems
v. Operations on languages
5. Miscellaneous
V. Miscellaneous
7. Mathematics of Computing
0. General
I. Numerical Analysis
1. General
i. Computer arithmetic
ii. Conditioning and ill-conditioning
iii. Error analysis
iv. Interval arithmetic
v. Multiple precision arithmetic
vi. Numerical algorithms
L17
vii. Parallel algorithms
viii. Stability and instability
2. Interpolation
i. Difference formulas
ii. Extrapolation
iii. Interpolation formulas
iv. Smoothing
v. Spline and piecewise polynomial interpolation
3. Approximation
4. Approximation of surfaces and contours
i. Chebyshev approximation and theory
ii. Elementary function approximation
iii. Fast Fourier transforms
iv. Least squares approximation
v. Linear approximation
vi. Minimax approximation and algorithms
vii. Nonlinear approximation
viii. Rational approximation
ix. Special function approximations
x. Spline and piecewise polynomial approximation
xi. Wavelets and fractals
5. Numerical Linear Algebra
i. Conditioning
ii. Determinants
iii. Eigenvalues and eigenvectors
iv. Error analysis
v. Linear systems
vi. Matrix inversion
vii. Pseudoinverses
viii. Singular value decomposition
ix. Sparse, structured, and very large systems
6. Quadrature and Numerical Differentiation
i. Adaptive and iterative quadrature
ii. Automatic differentiation
iii. Equal interval integration
iv. Error analysis
v. Finite difference methods
vi. Gaussian quadrature
vii. Iterative methods
viii. Multidimensional (multiple) quadrature
7. Roots of Nonlinear Equations
i. Continuation (homotopy) methods
ii. Convergence
iii. Error analysis
iv. Iterative methods
v. Polynomials, methods for
vi. Systems of equations
8. Optimization
L18
i. Constrained optimization
ii. Convex programming
iii. Global optimization
iv. Gradient methods
v. Inter programming
vi. Least squares methods
vii. Linear programming
viii. Nonlinear programming
ix. Quadratic programming methods
x. Simulated annealing
xi. Stochastic programming
xii. Unconstrained optimization
9. Ordinary Differential Equations
i. Boundary value problems
ii. Chaotic systems
iii. Convergence and stability
iv. Differential-algebraic equations
v. Error analysis
vi. Finite difference methods
vii. Initial value problems
viii. Multistep and multivalue methods
ix. One-step (single step) methods
x. Stiff equations
10. Partial Differential Equations
i. Domain decomposition methods
ii. Elliptic equations
iii. Finite difference methods
iv. Finite element methods
v. Finite volume methods
vi. Hyperbolic equations
vii. Inverse problems
viii. Iterative solution techniques
ix. Method of lines
x. Multigrid and multilevel methods
xi. Parabolic equations
xii. Spectral methods
11. Integral Equations
i. Delay equations
ii. Fredholm equation
iii. Intro-differential equations
iv. Volterra equations
12. Applications
13. Miscellaneous
II. Discrete Mathematics
1. General
2. Combinatorics
i. Combinatorial algorithms
ii. Counting problems
L19
iii. Generating functions
iv. Permutations and combinations
v. Recurrences and difference equations
3. Graph Theory
i. Graph algorithms
ii. Graph labeling
iii. Hypergraphs
iv. Network problems
v. Path and circuit problems
vi. Trees
4. Applications
5. Miscellaneous
III. Probability and Statistics
1. Contingency table analysis
2. Correlation and regression analysis
3. Distribution functions
4. Experimental design
5. Markov processes
6. Multivariate statistics
7. Nonparametric statistics
8. Probabilistic algorithms
9. Queuing theory
10. Random number generation
11. Reliability and life testing
12. Renewal theory
13. Robust regression
14. Statistical computing
15. Statistical software
16. Stochastic processes
17. Survival analysis
18. Time series analysis
IV. Mathematical Software
1. Algorithm design and analysis
2. Certification and testing
3. Documentation
4. Efficiency
5. Parallel and vector implementations
6. Portability
7. Reliability and robustness
8. User interfaces
9. Verification
V. Miscellaneous
1. Queuing theory
L20
1. General
2. Systems and Information Theory
i. General systems theory
ii. Information theory
iii. Value of information
3. User/Machine Systems
i. Human factors
ii. Human-centered computing
iii. Human information processing
iv. Software psychology
4. Miscellaneous
II. Database Management
1. General
i. Security, integrity, and protection
ii. Database design, modeling and management
iii. Query design and implementation languages
2. Logical Design
i. Data models
ii. Database architectures
iii. Database integration
iv. Database models
v. Normal forms
vi. Schema and subschema
3. Physical Design
i. Access methods
ii. Deadlock avoidance
iii. Indexing methods
iv. Physical database design prototypes
v. Recovery and restart
4. Languages
i. Data description languages
ii. Data manipulation languages
iii. Database (persistent) programming languages
iv. Database semantics
v. Query languages
vi. Report writers
5. Systems
i. Active databases
ii. Buffer management
iii. Concurrency
iv. Distributed databases
v. Multimedia databases
vi. Object-oriented databases
vii. Parallel databases
viii. Query processing
ix. Relational database
x. Rule-based databases
xi. Spatial databases
L21
xii. Statistical databases
xiii. Temporal databases
xiv. Textual databases
xv. Transaction processing
xvi. Workflow management
6. Heterogeneous Databases
i. Data translation
ii. Program translation
7. Database Machines
8. Database Administration
i. Data dictionary/directory
ii. Data warehouse and repository
iii. Logging and recovery
iv. Security, integrity, and protection
9. Database Applications
i. Bioinformatics (genome or protein) databases
ii. Clustering, classification, and association rules
iii. Data and knowledge visualization
iv. Data mining
v. Feature extraction or construction
vi. Knowledge management applications
vii. Image databases
viii. Interactive data exploration and discovery
ix. Mining methods and algorithms
x. Modeling structured, textual and multimedia data
xi. Personalization
xii. Text mining
xiii. Web mining
xiv. Scientific databases
xv. Spatial databases and GIS
xvi. Statistical databases
10. Miscellaneous
III. Information Storage and Retrieval
1. General
i. Web Search
2. Context Analysis and Indexing
i. Abstracting methods
ii. Dictionaries
iii. Indexing methods
iv. Linguistic processing
v. Thesauruses
3. Information Storage
i. Document/file management
ii. File organization
iii. Record classification
iv. Storage/repositories
4. Information Search and Retrieval
i. Clustering
L22
ii. Information filtering
iii. Internet search
iv. Metadata
v. Query formulation
vi. Relevance feedback
vii. Retrieval models
viii. Search process
ix. Selection process
5. Systems and Software
i. Current awareness systems
ii. Distributed systems
iii. Information networks
iv. Performance evaluation
v. Question-answering systems
vi. User profiles and alert services
6. Online Information Services
i. Commercial services
ii. Data sharing
iii. DOM
iv. HTML/DHTML CSS
v. Web-based services
vi. XML/XSL/RDF
7. Library Automation
i. Large text archives
8. Digital Libraries
i. Collection
ii. Dissemination
iii. Standards
iv. Systems issues
v. User issues
9. Miscellaneous
IV. Information Technology and Systems Applications
1. General
2. Office Automation
i. Desktop publishing
ii. Equipment
iii. Groupware
iv. Spreadsheets
v. Time management
vi. Word processing
vii. Workflow management
3. Types of Systems
i. Decision support
ii. Logistics
4. Communications Applications
i. Bulletin boards
ii. Computer conferencing, teleconferencing, and
videoconferencing
L23
iii. Electronic mail
iv. Information browsers
v. Videotex
5. Miscellaneous
V. Information Interfaces and Representation (HCI)
1. General
2. Multimedia Information Systems
i. Animations
ii. Artificial, augmented, and virtual realities
iii. Audio input/output
iv. Evaluation/methodology
v. Hypertext navigation and maps
vi. Image/video retrieval
vii. Video
3. User Interfaces
i. Auditory (non-speech) feedback
ii. Benchmarking
iii. Design for wearability
iv. Ergonomics
v. Evaluation/methodology
vi. Graphical user interfaces
vii. Haptic I/O
viii. Input devices and strategies
ix. Interaction styles
x. Natural language
xi. Prototyping
xii. Screen design
xiii. Standardization
xiv. Style guides
xv. Theory and methods
xvi. Training, help, and documentation
xvii. User-centered design
xviii. User interface management systems
xix. Vision I/O
xx. Voice I/O
xxi. Windowing systems
4. Group and Organization Interfaces
i. Asynchronous interaction
ii. Collaborative computing
iii. Computer-supported cooperative work
iv. Evaluation/methodology
v. Organizational design
vi. Synchronous interaction
vii. Theory and models
viii. Web-based interaction
5. Hypertext/Hypermedia
i. Architectures
ii. Navigation
L24
iii. Theory
iv. User issues
6. Sound and Music Computing
i. Methodologies and techniques
ii. Modeling
iii. Signal analysis, synthesis, and processing
iv. Systems
7. Miscellaneous
VI. Miscellaneous
9. Computing Methodologies
0. General
I. Symbolic and algebraic manipulation
1. General
2. Expressions and Their Representation
i. Representations
ii. Simplification of expressions
3. Algorithms
i. Algebraic algorithms
ii. Algorithms for data and knowledge management
iii. Analysis of algorithms
iv. Nonalgebraic algorithms
v. Performance evaluation of algorithms and systems
4. Languages and Systems
i. Evaluation strategies
ii. Nonprocedural languages
iii. Special-purpose algebraic systems
iv. Special-purpose hardware
v. Substitution mechanisms
5. Applications
6. Miscellaneous
II. Artificial Intelligence
1. General
i. Cognitive simulation
ii. Philosophical foundations
2. Applications and Expert Knowledge-Intensive Systems
i. Cartography
ii. Computer vision
iii. Decision support
iv. Education
v. Environment
vi. Games and infotainment
vii. Industrial automation
viii. Law
ix. Mathematics
x. Medicine and science
xi. Military
xii. Natural language interfaces
L25
xiii. Office automation
xiv. Space
xv. Transportation
3. Automatic Programming
i. Automatic analysis of algorithms
ii. Program modification
iii. Program synthesis
iv. Program transformation
v. Program verification
4. Deduction and Theorem Proving and Knowledge Processing
i. Answer/reason extraction
ii. Constraint-based processing
iii. Deduction
iv. Inference engines
v. Logic processing
vi. Logic programming
vii. Mathematical induction
viii. Metatheory
ix. Nonmonotonic reasoning and belief revision
x. Resolution
xi. Rule-based processing
xii. Uncertainty, "fuzzy," and probabilistic reasoning
5. Knowledge Representation Formalisms and Methods
i. Agent communication languages
ii. Distributed representations
iii. Frames and scripts
iv. Knowledge base management
v. Knowledge base verification
vi. Modal logic
vii. Predicate logic
viii. Relation systems
ix. Representation languages
x. Representations (procedural and rule-based)
xi. Semantic networks
xii. Storage mechanisms
xiii. Temporal logic
6. Programming Languages and Software
i. Expert and knowledge-intensive system tools and
techniques
7. Learning
i. Analogies
ii. Concept learning
iii. Connectionism and neural nets
iv. Heuristics design
v. Induction
vi. Knowledge acquisition
vii. Machine learning
viii. Language acquisition
L26
ix. Parameter learning
8. Natural Language Processing
i. Discourse
ii. Language generation
iii. Language models
iv. Language parsing and understanding
v. Language summarization
vi. Machine translation
vii. Speech recognition and synthesis
viii. Text analysis
ix. Web text analysis
9. Problem Solving, Control Methods, and Search
i. Backtracking
ii. Constraint satisfaction
iii. Control theory
iv. Dynamic programming
v. Graph and tree search strategies
vi. Heuristic methods
vii. Plan execution, formation, and generation
viii. Scheduling
10. Robotics
i. Autonomous vehicles
ii. Biorobotics
iii. Commercial robots and applications
iv. Kinematics and dynamics
v. Manipulators
vi. Nanorobots
vii. Neuromorphic computing
viii. Operator interfaces
ix. Propelling mechanisms
x. Sensors
xi. Workcell organization and planning
xii. Vision
11. Vision and Scene Understanding
i. 3D/stereo scene analysis
ii. Architecture and control structures
iii. Intensity, color, photometry, and thresholding
iv. Modeling and recovery of physical attributes
v. Motion
vi. Perceptual reasoning
vii. Representations, data structures, and transforms
viii. Shape
ix. Texture
x. Video analysis
12. Distributed Artificial Intelligence
i. Coherence and coordination
ii. Intelligent agents
iii. Languages and structures
L27
iv. Multiagent systems
13. Intelligent Web Services and Semantic Web
i. Intelligent Web service languages
ii. Internet reasoning services
iii. Ontology design
iv. Ontology languages
14. Knowledge Management
i. Knowledge acquisition
ii. Knowledge engineering methodologies
iii. Knowledge life cycles
iv. Knowledge maintenance
v. Knowledge modeling
vi. Knowledge personalization and customization
vii. Knowledge publishing
viii. Knowledge retrieval
ix. Knowledge reuse
x. Knowledge valuation
15. Miscellaneous
i. Adaptive hypermedia
ii. Computational neuroscience
iii. Evolutionary computing and genetic algorithms
iv. Wearable AI
III. Computer Graphics
1. General
2. Hardware Architecture
i. Graphics processors
ii. Hardcopy devices
iii. Input devices
iv. Parallel processing
v. Raster display devices
vi. Storage devices
vii. Three-dimensional displays
viii. Vector display devices
3. Graphics Systems
i. Distributed/network graphics
ii. Remote systems
iii. Stand-alone systems
4. Picture/Image Generation
i. Antialiasing
ii. Bitmap and frame buffer operations
iii. Digitizing and scanning
iv. Display algorithms
v. Image-based rendering
vi. Line and curve generation
vii. Viewing algorithms
5. Graphics Utilities
i. Application packages
ii. Device drivers
L28
iii. Graphics editors
iv. Graphics packages
v. Meta files
vi. Paint systems
vii. Picture description languages
viii. Software support
ix. Virtual device interfaces
6. Computational Geometry and Object Modeling
i. Boundary representations
ii. Constructive solid geometry
iii. Curve, surface, solid, and object representations
iv. Geometric algorithms, languages, and systems
v. Hierarchy and geometric transformations
vi. Modeling packages
vii. Modeling from video
viii. Object hierarchies
ix. Physically based modeling
x. Splines
7. Methodology and Techniques
i. Device independence
ii. Ergonomics
iii. Graphics data structures and data types
iv. Interaction techniques
v. Languages
vi. Standards
8. Three-Dimensional Graphics and Realism
i. Animation
ii. Color, shading, shadowing, and texture
iii. Fractals
iv. Hidden line/surface removal
v. Radiosity
vi. Raytracing
vii. Virtual reality
viii. Visible line/surface algorithms
9. Applications
10. Miscellaneous
IV. Image Processing and Computer Vision
1. General
i. Image displays
ii. Image processing software
2. Digitization and Image Capture
i. Camera calibration
ii. Imaging geometry
iii. Quantization
iv. Radiometry
v. Reflectance
vi. Sampling
vii. Scanning
L29
3. Compression (Coding)
i. Approximate methods
ii. Exact coding
iii. Model-based coding
iv. MP-4 and MP-7
v. Video coding
4. Enhancement
i. Filtering
ii. Geometric correction
iii. Grayscale manipulation
iv. Registration
v. Sharpening and deblurring
vi. Smoothing
5. Restoration
i. Inverse filtering
ii. Kalman filtering
iii. Pseudoinverse restoration
iv. Wiener filtering
6. Reconstruction
i. Series expansion methods
ii. Summation methods
iii. Transform methods
7. Segmentation
i. Edge and feature detection
ii. Graph-theoretic methods
iii. Markov random fields
iv. Pixel classification
v. Region growing, partitioning
vi. Relaxation
vii. Stochastic methods
8. Feature Measurement
i. Feature representation
ii. Invariants
iii. Moments
iv. Projections
v. Size and shape
vi. Texture
9. Scene Analysis
i. Color
ii. Depth cues
iii. Image models
iv. Motion
v. Object recognition
vi. Photometry
vii. Range data
viii. Sensor fusion
ix. Shading
x. Shape
L30
xi. Stereo
xii. Surface fitting
xiii. Time-varying imagery
xiv. Tracking
10. Applications
11. Image Representation
i. Hierarchical
ii. Morphological
iii. Multidimensional
iv. Statistical
v. Volumetric
12. Miscellaneous
V. Pattern Recognition
1. General
2. Models
i. Deterministic
ii. Fuzzy set
iii. Geometric
iv. Neural nets
v. Statistical
vi. Structural
vii. Syntactic
3. Design Methodology
i. Classifier design and evaluation
ii. Feature evaluation and selection
iii. Pattern analysis
4. Clustering
i. Algorithms
ii. Similarity measures
5. Applications
i. Arts
ii. Computer vision
iii. Computational models of vision
iv. Face and gesture recognition
v. Government
vi. Handwriting analysis
vii. Industry
viii. Medicine
ix. Military
x. Remote sensing
xi. Robotics
xii. Sciences
xiii. Signal processing
xiv. Text processing
xv. Waveform analysis
6. Implementation
i. Interactive systems
ii. Real-time systems
L31
iii. Special architectures
7. Miscellaneous
VI. Simulation, Modeling, and Visualization
1. General
2. Simulation Theory
i. Model classification
ii. Systems theory
iii. Types of simulation
3. Simulation Languages
4. Applications
5. Model Validation and Analysis
6. Model Development
i. Modeling methodologies
7. Simulation Output Analysis
8. Simulation Support Systems
i. Environments
9. Types of Simulation
i. Animation
ii. Combined
iii. Continuous
iv. Discrete event
v. Distributed
vi. Gaming
vii. Monte Carlo
viii. Parallel
ix. Visual
10. Visualization
i. Applications
ii. Flow visualization
iii. Information visualization
iv. Multivariate visualization
v. Visual programming and program visualization
vi. Visualization systems and software
vii. Visualization techniques and methodologies
viii. Volume visualization
11. Miscellaneous
VII. Document and Text Processing
1. General
2. Document and Text Editing
i. Document management
ii. Languages
iii. Spelling
iv. Version control
3. Document Preparation
i. Desktop publishing
ii. Format and notation
iii. Hypertext/hypermedia
iv. Index generation
L32
v. Languages and systems
vi. Markup languages
vii. Multi/mixed media
viii. Photocomposition/typesetting
ix. Scripting languages
x. Standards
4. Index Generation
5. Electronic Publishing
6. Document Capture
i. Document analysis
ii. Document indexing
iii. Graphics recognition and interpretation
iv. Optical character recognition
v. Scanning
7. Miscellaneous
Miscellaneous
L33
2. Arts, fine and performing
3. Fine arts
4. Language translation
5. Linguistics
6. Literature
7. Music
8. Performing arts
VI. Computer-Aided Engineering
1. Computer-aided design
2. Computer-aided manufacturing
VII. Computers in Other Systems
1. Command and control
2. Consumer products
3. Industrial control
4. Military
5. Process control
6. Publishing
7. Real time
VIII. Internet Applications
1. Client/server and multitier systems
2. Databases
3. Database connectivity
4. Distributed file systems
5. Electronic commerce
6. Engineering design
7. Games
8. Health care
9. Intranet/extranet/VPNs
10. Libraries/information repositories/publishing
11. Manufacturing
12. Middleware/business logic
13. Network repositories/data mining/backup
14. Software engineering
15. Traffic analysis
16. Transaction software
17. Web browsers
18. Web servers
19. Web site management/development tools
IX. Mobile Applications
1. Location-dependent and sensitive
2. Nomadic computing
3. Multimedia applications and multimedia signal processing
4. Pervasive computing
5. Wearable computers and body area networks
6. Wireless sensor networks
X. Miscellaneous
L34
0. General
I. The Computer Industry
1. Markets
2. Standards
3. Statistics
4. Suppliers
II. History of Computing
1. Hardware
2. People
3. Software
4. Systems
5. Theory
III. Computers and Education
1. General
2. Computer Uses in Education
i. Collaborative learning
ii. Computer-assisted instruction
iii. Computer-managed instruction
iv. Distance learning
3. Computer and Information Science Education
i. Accreditation
ii. Computer science education
iii. Curriculum
iv. Information systems education
v. Literacy
vi. Self-assessment
4. Miscellaneous
i. Accreditation
ii. Computer literacy
IV. Computers and Society
1. General
2. Public Policy Issues
i. Abuse and crime involving computers
ii. Computer-related health issues
iii. Ethics
iv. Human safety
v. Intellectual property rights
vi. Privacy
vii. Regulation
viii. Transborder data flow
ix. Use/abuse of power
3. Social Issues
i. Abuse and crime involving computers
ii. Assistive technologies for persons with disabilities
iii. Employment
iv. Handicapped persons/special needs
4. Organizational Impacts
i. Automation
L35
ii. Computer-supported collaborative work
iii. Deployment, usage experience
iv. Employment
v. Reengineering
vi. Scalability, maintainability
5. Electronic Commerce
i. Cybercash, digital cash
ii. Distributed commercial transactions
iii. Electronic data interchange
iv. Intellectual property
v. Payment schemes
vi. Security
vii. Internet security policies
viii. Mobile code security
ix. Economic and other policies
6. Miscellaneous
V. Legal Aspects of Computing
1. General
2. Hardware/Software Protection
i. Copyrights
ii. Licensing
iii. Patents
iv. Proprietary rights
v. Trade secrets
3. Governmental Issues
i. Censorship
ii. Regulation
iii. Taxation
4. Miscellaneous
i. Contracts
ii. Hardware patents
VI. Management of Computing and Information Systems
1. General
i. Economics
ii. Information resource management
2. Project and People Management
i. Life cycle
ii. Management techniques
iii. Staffing
iv. Strategic information systems planning
v. Systems analysis and design
vi. Systems development
vii. Training
3. Installation Management
i. Benchmarks
ii. Computer selection
iii. Computing equipment management
iv. Performance and usage measurement
L36
v. Pricing and resource allocation
4. Software Management
i. Software development
ii. Software maintenance
iii. Software process
iv. Software selection
5. System Management
i. Centralization/decentralization
ii. Management audit
iii. Quality assurance
6. Security and Protection
i. Authentication
ii. Insurance
iii. Invasive software (viruses, worms, Trojan horses)
iv. Physical security
v. Unauthorized access (hacking, phreaking)
7. Miscellaneous
i. Insurance
ii. Security
VII. The Computing Profession
1. General
i. Carreer Management
2. Occupations
3. Organizations
4. Testing, Certification, and Licensing
5. Professional Ethics
i. Codes of ethics
ii. Codes of good practice
iii. Ethical dilemmas
6. Miscellaneous
VIII. Personal Computing
1. General
i. Games
2. Application Packages
i. Data communications
ii. Database processing
iii. Freeware/shareware
iv. Graphics
v. Spreadsheets
vi. Word processing
3. Hardware
4. Management/Maintenance
5. Miscellaneous
IX. Miscellaneous
1. Business
2. Education
3. Financial
4. Healthcare
L37
5. Industrial
6. IT Applications
7. Legal
8. Library
9. Military
10. Publishing
11. Sports
L38